ServicePrincipalAuthentication Classe
Gerencia a autenticação usando um princípio de serviço em vez de uma identidade de usuário.
A autenticação da entidade de serviço é adequada para fluxos de trabalho automatizados, como para cenários de CI/CD. Esse tipo de autenticação separa o processo de autenticação de qualquer login de usuário específico e permite o controle de acesso gerenciado.
Classe ServicePrincipalAuthentication construtor.
Construtor
ServicePrincipalAuthentication(tenant_id, service_principal_id, service_principal_password, cloud='AzureCloud', _enable_caching=True)
Parâmetros
| Name | Description |
|---|---|
|
tenant_id
Necessário
|
O locatário do Ative Directory ao qual a identidade do serviço pertence. |
|
service_principal_id
Necessário
|
O ID da entidade de serviço. |
|
service_principal_password
Necessário
|
A senha/chave da entidade de serviço. |
|
cloud
|
O nome da nuvem de destino. Pode ser um dos "AzureCloud", "AzureChinaCloud" ou "AzureUSGovernment". Se nenhuma nuvem for especificada, "AzureCloud" será usado. Default value: AzureCloud
|
|
tenant_id
Necessário
|
O locatário do Ative Directory ao qual a identidade do serviço pertence. |
|
service_principal_id
Necessário
|
A ID da entidade de serviço. |
|
service_principal_password
Necessário
|
A senha/chave da entidade de serviço. |
|
cloud
Necessário
|
O nome da nuvem de destino. Pode ser um dos "AzureCloud", "AzureChinaCloud" ou "AzureUSGovernment". Se nenhuma nuvem for especificada, "AzureCloud" será usado. |
|
_enable_caching
|
Default value: True
|
Observações
A autenticação da entidade de serviço envolve a criação de um Registro de Aplicativo no Azure Ative Directory. Primeiro, você gera um segredo do cliente e, em seguida, concede à sua função principal de serviço acesso ao seu espaço de trabalho de aprendizado de máquina. Em seguida, use a classe ServicePrincipalAuthentication para gerenciar seu 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))
A amostra completa está disponível em 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 uma entidade de serviço e permitir que a entidade de serviço acesse um espaço de trabalho de aprendizado de máquina, consulte Configurar a autenticação da entidade de serviço.