ServicePrincipalAuthentication Klasse
Verwalten der Authentifizierung mithilfe eines Dienstprinzipals anstelle einer Benutzeridentität.
Die Authentifizierung mit einem Dienstprinzipal eignet sich für automatisierte Workflows, z. B. für Continuous Integration und Continuous Delivery (CI/CD)-Szenarien. Dieser Authentifizierungstyp entkoppelt den Authentifizierungsprozess von jeglicher spezifischer Benutzeranmeldung und ermöglicht eine verwaltete Zugriffssteuerung.
Class ServicePrincipalAuthentication-Konstruktor.
- Vererbung
-
ServicePrincipalAuthentication
Konstruktor
ServicePrincipalAuthentication(tenant_id, service_principal_id, service_principal_password, cloud='AzureCloud', _enable_caching=True)
Parameter
Name | Beschreibung |
---|---|
tenant_id
Erforderlich
|
Der Active Directory-Mandant, zu dem die Dienstidentität gehört. |
service_principal_id
Erforderlich
|
Die Dienstprinzipal-ID. |
service_principal_password
Erforderlich
|
Das Kennwort/der Schlüssel des Dienstprinzipals. |
cloud
|
Der Name der Ziel-Cloud. Mögliche Werte: „AzureCloud“, „AzureChinaCloud“ und „AzureUSGovernment“. Ohne Cloudangabe wird „AzureCloud“ verwendet. Standardwert: AzureCloud
|
tenant_id
Erforderlich
|
Der Active Directory-Mandant, zu dem die Dienstidentität gehört. |
service_principal_id
Erforderlich
|
Die Dienstprinzipal-ID. |
service_principal_password
Erforderlich
|
Das Kennwort/der Schlüssel des Dienstprinzipals. |
cloud
Erforderlich
|
Der Name der Ziel-Cloud. Mögliche Werte: „AzureCloud“, „AzureChinaCloud“ und „AzureUSGovernment“. Ohne Cloudangabe wird „AzureCloud“ verwendet. |
_enable_caching
|
Standardwert: True
|
Hinweise
Für die Dienstprinzipalauthentifizierung muss eine App-Registrierung in Azure Active Directory erstellt werden. Sie generieren zunächst einen geheimen Clientschlüssel und gewähren dem Dienstprinzipal anschließend Rollenzugriff auf Ihren Machine Learning-Arbeitsbereich. Anschließend verwenden Sie die ServicePrincipalAuthentication-Klasse, um den Authentifizierungsflow zu verwalten.
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))
Das vollständige Beispiel finden Sie unter https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/manage-azureml-service/authentication-in-azureml/authentication-in-azureml.ipynb.
Informationen zum Erstellen eines Dienstprinzipals und zum Zulassen des Zugriffs auf einen Machine Learning-Arbeitsbereich durch den Dienstprinzipal finden Sie unter Einrichten der Dienstprinzipalauthentifizierung.