ServicePrincipalAuthentication Classe
Gere a autenticação com um princípio de serviço em vez de uma identidade de utilizador.
A autenticação do Principal de Serviço é adequada para fluxos de trabalho automatizados, como para cenários de CI/CD. Este tipo de autenticação desassocia o processo de autenticação de qualquer início de sessão de utilizador específico e permite o controlo de acesso gerido.
Construtor class ServicePrincipalAuthentication.
- Herança
-
ServicePrincipalAuthentication
Construtor
ServicePrincipalAuthentication(tenant_id, service_principal_id, service_principal_password, cloud='AzureCloud', _enable_caching=True)
Parâmetros
Name | Description |
---|---|
tenant_id
Necessário
|
O inquilino do active directory a que pertence a identidade do serviço. |
service_principal_id
Necessário
|
O ID do principal de serviço. |
service_principal_password
Necessário
|
A palavra-passe/chave do principal de serviço. |
cloud
|
O nome da cloud de destino. Pode ser um de "AzureCloud", "AzureChinaCloud" ou "AzureUSGovernment". Se não for especificada nenhuma cloud, será utilizado o "AzureCloud". Default value: AzureCloud
|
tenant_id
Necessário
|
O inquilino do active directory a que pertence a identidade do serviço. |
service_principal_id
Necessário
|
O ID do principal de serviço. |
service_principal_password
Necessário
|
A palavra-passe/chave do principal de serviço. |
cloud
Necessário
|
O nome da cloud de destino. Pode ser um de "AzureCloud", "AzureChinaCloud" ou "AzureUSGovernment". Se não for especificada nenhuma cloud, será utilizado o "AzureCloud". |
_enable_caching
|
Default value: True
|
Observações
A autenticação do principal de serviço envolve a criação de um Registo de Aplicações no Azure Active Directory. Primeiro, gera um segredo de cliente e, em seguida, concede à sua função de principal de serviço acesso à área de trabalho de machine learning. Em seguida, utilize a classe ServicePrincipalAuthentication para gerir o fluxo de autenticação.
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))
O exemplo completo está disponível a partir de https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/manage-azureml-service/authentication-in-azureml/authentication-in-azureml.ipynb
Para saber mais sobre como criar um principal de serviço e permitir que o principal de serviço aceda a uma área de trabalho de machine learning, veja Configurar a autenticação do principal de serviço.