ServicePrincipalAuthentication Classe
Gère l’authentification à l’aide d’un principe de service au lieu d’une identité utilisateur.
L’authentification du principal de service convient aux flux de travail automatisés comme pour les scénarios CI/CD. Ce type d’authentification dissocie le processus d’authentification de toute connexion utilisateur spécifique et autorise le contrôle d’accès managé.
Constructeur ServicePrincipalAuthentication de classe.
Constructeur
ServicePrincipalAuthentication(tenant_id, service_principal_id, service_principal_password, cloud='AzureCloud', _enable_caching=True)
Paramètres
| Nom | Description |
|---|---|
|
tenant_id
Obligatoire
|
Locataire Active Directory auquel appartient l’identité de service. |
|
service_principal_id
Obligatoire
|
ID du principal de service. |
|
service_principal_password
Obligatoire
|
Mot de passe/clé du principal de service. |
|
cloud
|
Nom du cloud cible. Peut être l’un des « AzureCloud », « AzureChinaCloud » ou « AzureUSGovernment ». Si aucun cloud n’est spécifié, « AzureCloud » est utilisé. Valeur par défaut: AzureCloud
|
|
tenant_id
Obligatoire
|
Locataire Active Directory auquel appartient l’identité de service. |
|
service_principal_id
Obligatoire
|
ID du principal de service. |
|
service_principal_password
Obligatoire
|
Mot de passe/clé du principal de service. |
|
cloud
Obligatoire
|
Nom du cloud cible. Peut être l’un des « AzureCloud », « AzureChinaCloud » ou « AzureUSGovernment ». Si aucun cloud n’est spécifié, « AzureCloud » est utilisé. |
|
_enable_caching
|
Valeur par défaut: True
|
Remarques
L’authentification du principal de service implique la création d’une inscription d’application dans Azure Active Directory. Tout d’abord, vous générez une clé secrète client, puis vous accordez à votre rôle principal de service l’accès à votre espace de travail Machine Learning. Ensuite, vous utilisez la classe ServicePrincipalAuthentication pour gérer votre flux d’authentification.
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))
L’exemple complet est disponible à partir de https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/manage-azureml-service/authentication-in-azureml/authentication-in-azureml.ipynb
Pour en savoir plus sur la création d’un principal de service et l’autorisation du principal de service d’accéder à un espace de travail Machine Learning, consultez Configurer l’authentification du principal de service.