2017-12-20 4 views
1

Ich versuche, mit einem Dienstprinzipal durch Python zu authentifizieren und dann azure.storage.blobAzure Service-Haupt und storage.blob mit Python

Gebraucht Zugriff, es zu tun mit:

NAME = '****' 
KEY = '****' 
block_blob_service = BlockBlobService(account_name=NAME, account_key=KEY, protocol='https') 

Aber ich kann es mit dem Service-Haupt funktioniert:

TENANT_ID = '****' 

CLIENT = '****' 

KEY_SERVICE = '****' 

credentials = ServicePrincipalCredentials(
    client_id = CLIENT, 
    secret = KEY_SERVICE, 
    tenant = TENANT_ID 
    ) 

ich bin ein wenig verwirrt, wie ich diese 2 paare und was ich versuche, es gibt mir nur ein Timeout, wenn ich versuche, ein Klecks zu.

Antwort

0

Ich glaube nicht, dass Azure Storage Service die Anmeldeinformationen des Dienstprinzipals unterstützt. Aktuell akzeptiert es nur zwei Arten von Anmeldeinformationen: Shared Keys und Shared Access Signature (SAS).

0

Azure Storage funktioniert speziell mit Kontoname + Schlüssel (ob primär oder sekundär). Es gibt keine Vorstellung von Dienstprinzipal/AD-basiertem Zugriff.

Ihr erstes Beispiel (Einrichten des Blob-Service-Endpunkts) mit Kontoname + Schlüssel ist die richtige Vorgehensweise.

Hinweis: Wie Zhaoxing erwähnt, können Sie auch SAS verwenden. Aber von einem programmatischen Standpunkt aus, vorausgesetzt, Sie sind der Eigentümer des Speicherkontos, kauft Sie das nicht wirklich viel.

Der einzige Ort, an dem Service Principals (und AD im Allgemeinen) ins Spiel kommen, ist die Verwaltung der Ressource selbst (z. B. das Speicherkonto, vom Standpunkt der Bereitstellung/Verwaltung/Löschung).

+0

Der Grund, warum ich versuche, einen Dienstprinzipal zu verwenden, ist, dass es ein Skript ist, das 24/7 läuft. Und atm funktioniert bis zum nächsten Morgen, wo ich mich über das Azure-Portal einloggen muss, um meine Python-Anfrage den Rest des Tages zu authentifizieren. – TwinToe

Verwandte Themen