Compartir a través de


ServicePrincipalAuthentication Clase

Administra la autenticación mediante un principio de servicio en lugar de una identidad de usuario.

La autenticación de la entidad de servicio es adecuada para flujos de trabajo automatizados, como en escenarios de CI/CD. Este tipo de autenticación desacopla el proceso de autenticación de cualquier inicio de sesión de usuario específico y permite el control de acceso administrado.

Constructor De clase ServicePrincipalAuthentication.

Herencia
ServicePrincipalAuthentication

Constructor

ServicePrincipalAuthentication(tenant_id, service_principal_id, service_principal_password, cloud='AzureCloud', _enable_caching=True)

Parámetros

Nombre Description
tenant_id
Requerido
str

El inquilino de Active Directory al que pertenece la identidad de servicio.

service_principal_id
Requerido
str

El identificador de la entidad de servicio.

service_principal_password
Requerido
str

La contraseña o clave de la entidad de servicio.

cloud
str

Nombre de la nube de destino. Puede ser "AzureCloud", "AzureChinaCloud" o "AzureUSGovernment". Si no se especifica ninguna nube, se usa "AzureCloud".

Valor predeterminado: AzureCloud
tenant_id
Requerido
str

El inquilino de Active Directory al que pertenece la identidad de servicio.

service_principal_id
Requerido
str

Identificador de la entidad de servicio.

service_principal_password
Requerido
str

La contraseña o clave de la entidad de servicio.

cloud
Requerido
str

Nombre de la nube de destino. Puede ser "AzureCloud", "AzureChinaCloud" o "AzureUSGovernment". Si no se especifica ninguna nube, se usa "AzureCloud".

_enable_caching
Valor predeterminado: True

Comentarios

La autenticación de la entidad de servicio implica la creación de un Registro de aplicación en Azure Active Directory. Primero genere un secreto de cliente y, a continuación, conceda a la entidad de servicio el acceso de rol al área de trabajo de aprendizaje automático. A continuación, use la clase ServicePrincipalAuthentication para administrar el flujo de autenticación.


   import os
   from azureml.core.authentication import ServicePrincipalAuthentication

   svc_pr_password = os.environ.get("AZUREML_PASSWORD")

   svc_pr = ServicePrincipalAuthentication(
       tenant_id="my-tenant-id",
       service_principal_id="my-application-id",
       service_principal_password=svc_pr_password)


   ws = Workspace(
       subscription_id="my-subscription-id",
       resource_group="my-ml-rg",
       workspace_name="my-ml-workspace",
       auth=svc_pr
       )

   print("Found workspace {} at location {}".format(ws.name, ws.location))

El ejemplo completo está disponible en https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/manage-azureml-service/authentication-in-azureml/authentication-in-azureml.ipynb.

Para obtener información sobre cómo crear una entidad de servicio y permitir que dicha entidad de servicio acceda a un área de trabajo de aprendizaje automático, consulte Configuración de la autenticación de entidad de servicio.