Skip to content

enable_client_authentication

enable_client_authentication(
    directory_id: DirectoryId,
    type: ClientAuthenticationType,
    *,
    config_overrides: Optional[DirectoryServiceClientConfig] = None,
) -> EnableClientAuthenticationResult

Enables alternative client authentication methods for the specified directory.

Parameters:

  • directory_id (DirectoryId) –

    The identifier of the specified directory.

  • type (ClientAuthenticationType) –

    The type of client authentication to enable. Currently only the value SmartCard is supported. Smart card authentication in AD Connector requires that you enable Kerberos Constrained Delegation for the Service User to the LDAP service in your self-managed AD.

Raises:

Source code in docs_src/capo_directory_service/_services/directory_service.py
def enable_client_authentication(
    self,
    directory_id: "capo_directory_service.types.directory_id.DirectoryId",
    type: "capo_directory_service.types.client_authentication_type.ClientAuthenticationType",
    *,
    config_overrides: Optional[DirectoryServiceClientConfig] = None,
) -> "capo_directory_service.types.enable_client_authentication_result.EnableClientAuthenticationResult":
    """<p>Enables alternative client authentication methods for the specified directory.</p>

    Args:
        directory_id: <p>The identifier of the specified directory. </p>
        type: <p>The type of client authentication to enable. Currently only the value <code>SmartCard</code> is supported. Smart card authentication in AD Connector requires that you enable Kerberos Constrained Delegation for the Service User to the LDAP service in your self-managed AD. </p>

    Raises:
        capo_directory_service.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
        capo_directory_service.errors.client_exception.ClientException: <p>A client exception has occurred.</p>
        capo_directory_service.errors.directory_does_not_exist_exception.DirectoryDoesNotExistException: <p>The specified directory does not exist in the system.</p>
        capo_directory_service.errors.invalid_client_auth_status_exception.InvalidClientAuthStatusException: <p>Client authentication is already enabled.</p>
        capo_directory_service.errors.no_available_certificate_exception.NoAvailableCertificateException: <p>Client authentication setup could not be completed because at least one valid certificate must be registered in the system.</p>
        capo_directory_service.errors.service_exception.ServiceException: <p>An exception has occurred in Directory Service.</p>
        capo_directory_service.errors.unsupported_operation_exception.UnsupportedOperationException: <p>The operation is not supported.</p>
        capo_directory_service.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_directory_service.types.enable_client_authentication_request.EnableClientAuthenticationRequest]",
    ) -> OperationResponse[
        "capo_directory_service.types.enable_client_authentication_result.EnableClientAuthenticationResult"
    ]:
        import capo_directory_service._operations.directory_service_20150416.enable_client_authentication

        output, http_response = (
            capo_directory_service._operations.directory_service_20150416.enable_client_authentication.enable_client_authentication(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("EnableClientAuthentication")
    )
    input_: capo_directory_service.types.enable_client_authentication_request.EnableClientAuthenticationRequest = {
        "directory_id": directory_id,
        "type": type,
    }

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output