Condividi tramite


ServicePrincipalAuthentication Classe

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

L'autenticazione dell'entità servizio è adatta per 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 ServicePrincipalAuthentication della classe.

Costruttore

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

Parametri

Nome Descrizione
tenant_id
Necessario
str

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

service_principal_id
Necessario
str

ID entità servizio.

service_principal_password
Necessario
str

Password/chiave dell'entità servizio.

cloud
str

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

Valore predefinito: AzureCloud
tenant_id
Necessario
str

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

service_principal_id
Necessario
str

ID entità servizio.

service_principal_password
Necessario
str

Password/chiave dell'entità servizio.

cloud
Necessario
str

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 dell'entità servizio comporta la creazione di una registrazione dell'app in Azure Active Directory. Prima di tutto, si genera un segreto client e quindi si concede all'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 su come consentire all'entità servizio di accedere a un'area di lavoro di Machine Learning, vedere Configurare l'autenticazione dell'entità servizio.