मैं Azure कुंजी वॉल्ट तक पहुंचने के लिए नीला बैच की सिस्टम-असाइन की गई प्रबंधित पहचान का उपयोग करने का प्रयास कर रहा हूं। मुझे कुछ कोड ऑनलाइन मिले हैं, लेकिन मुझे नहीं पता था कि यह संभव है या प्रमाणपत्र मार्ग ही एकमात्र संभावना है। मैंने बैच खाते के लिए एक प्रबंधित पहचान सक्षम की है और इसे कीवॉल्ट में जोड़ा है। लेकिन जब मैं बैच पूल में पाइथन एसडीके से प्रबंधित पहचान प्राप्त करने का प्रयास करता हूं, तो यह विफल हो जाता है और मुझे कुंजी वॉल्ट से कनेक्शन नहीं मिल सकता है।

मैंने पुराने azure-keyvault पैकेज (संस्करण 1.1.0) और नए संस्करण 4.0 की कोशिश की है।

यह पुराने कुंजी वॉल्ट पैकेज का उपयोग कर रहा है, जो एक HTTPRequest त्रुटि देता है:

from azure.keyvault import KeyVaultClient
from msrestazure.azure_active_directory import MSIAuthentication

credentials = MSIAuthentication(resource='https://vault.azure.net')

kvclient = KeyVaultClient(credentials)
res = kvclient.get_secret("https://kv.vault.azure.net/", "secret", "").value

नए एज़ूर कीवॉल्ट पैकेज के लिए मैंने इसका इस्तेमाल किया:

import os
import cmd
from azure.keyvault.secrets import SecretClient
from azure.identity import ManagedIdentityCredential

keyVaultName = "kv"
KVUri = f"https://{keyVaultName}.vault.azure.net"

credential = DefaultAzureCredential()
client = SecretClient(vault_url=KVUri, credential=credential)

secretName = "secret"
retrieved_secret = client.get_secret(secretName)

लेकिन उसे ManagedIdentityCredential नहीं मिल रहा है। यह त्रुटि का हिस्सा है:

SharedTokenCacheCredential.get_token failed: Shared token cache unavailable
VisualStudioCodeCredential.get_token failed: Failed to get Azure user details from Visual Studio Code.
AzureCliCredential.get_token failed: Please run 'az login' to set up an account
DefaultAzureCredential failed to retrieve a token from the included credentials.
Attempted credentials:
    EnvironmentCredential: EnvironmentCredential authentication unavailable. Environment variables are not fully configured.
    ManagedIdentityCredential: ManagedIdentityCredential authentication unavailable. No identity has been assigned to this resource.
    SharedTokenCacheCredential: Shared token cache unavailable
    VisualStudioCodeCredential: Failed to get Azure user details from Visual Studio Code.
    AzureCliCredential: Please run 'az login' to set up an account
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
3
J Spen 19 सितंबर 2020, 06:33

1 उत्तर

सबसे बढ़िया उत्तर

2021-02-17 अद्यतन उत्तर:

बैच पूल पर प्रबंधित पहचान अब चुनिंदा क्षेत्रों में सार्वजनिक पूर्वावलोकन में है। कृपया यह दस्तावेज़ देखें।

मूल उत्तर:

यह वर्तमान में समर्थित परिदृश्य नहीं है। कृपया इस सुविधा और विशिष्ट FAQ आइटम के बारे में दस्तावेज पढ़ें दस्तावेज़ के नीचे इसे संबोधित करते हुए।

कृपया UserVoice अनुरोध भी देखें। .

3
fpark 17 फरवरी 2021, 21:20