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
|
Tenant di Active Directory a cui appartiene l'identità del servizio. |
|
service_principal_id
Necessario
|
ID entità servizio. |
|
service_principal_password
Necessario
|
Password/chiave dell'entità servizio. |
|
cloud
|
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
|
Tenant di Active Directory a cui appartiene l'identità del servizio. |
|
service_principal_id
Necessario
|
ID entità servizio. |
|
service_principal_password
Necessario
|
Password/chiave dell'entità servizio. |
|
cloud
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 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.