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
Nome | Descrizione |
---|---|
tenant_id
Necessario
|
Tenant di Active Directory a cui appartiene l'identità del servizio. |
service_principal_id
Necessario
|
ID dell'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 dell'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 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.