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
|
El inquilino de Active Directory al que pertenece la identidad de servicio. |
service_principal_id
Requerido
|
El identificador de la entidad de servicio. |
service_principal_password
Requerido
|
La contraseña o clave de la entidad de servicio. |
cloud
|
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
|
El inquilino de Active Directory al que pertenece la identidad de servicio. |
service_principal_id
Requerido
|
Identificador de la entidad de servicio. |
service_principal_password
Requerido
|
La contraseña o clave de la entidad de servicio. |
cloud
Requerido
|
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.