ServicePrincipalAuthentication Classe

Gestisce l'autenticazione usando un principio di servizio anziché un'identità utente.

L'autenticazione dell'entità servizio è adatta ai flussi di lavoro automatizzati, ad esempio per scenari CI/CD. Questo tipo di autenticazione separa il processo di autenticazione da qualsiasi account di accesso utente specifico e consente il controllo di accesso gestito.

Costruttore Class ServicePrincipalAuthentication.

Ereditarietà
ServicePrincipalAuthentication

Costruttore

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

Parametri

tenant_id
str
Necessario

Tenant di Active Directory a cui appartiene l'identità del servizio.

service_principal_id
str
Necessario

ID dell'entità servizio.

service_principal_password
str
Necessario

Password/chiave dell'entità servizio.

cloud
str
valore predefinito: AzureCloud

Nome del cloud di destinazione. Può essere uno di "AzureCloud", "AzureChinaCloud" o "AzureUSGovernment". Se non viene specificato alcun cloud, viene usato "AzureCloud".

tenant_id
str
Necessario

Tenant di Active Directory a cui appartiene l'identità del servizio.

service_principal_id
str
Necessario

ID dell'entità servizio.

service_principal_password
str
Necessario

Password/chiave dell'entità servizio.

cloud
str
Necessario

Nome del cloud di destinazione. Può essere uno di "AzureCloud", "AzureChinaCloud" o "AzureUSGovernment". Se non viene specificato alcun cloud, viene usato "AzureCloud".

_enable_caching
valore predefinito: True

Commenti

L'autenticazione basata su entità servizio implica la creazione di una registrazione dell'app in Azure Active Directory. Generare prima di tutto un segreto client, quindi concedere al ruolo dell'entità servizio l'accesso all'area di lavoro di Machine Learning. Usare quindi la classe ServicePrincipalAuthentication per gestire il flusso di autenticazione.


   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'esempio completo è disponibile da https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/manage-azureml-service/authentication-in-azureml/authentication-in-azureml.ipynb

Per informazioni sulla creazione di un'entità servizio e sulla possibilità dell'entità servizio di accedere a un'area di lavoro di Machine Learning, vedere Configurare l'autenticazione dell'entità servizio.