Megosztás a következőn keresztül:


Szolgáltatásnév használata az Azure Quantum-munkaterületen történő hitelesítéshez

Néha nem lehet interaktív hitelesítést használni, vagy felhasználói fiókként hitelesíteni. Ezek az esetek akkor fordulhatnak elő, ha egy webszolgáltatásból, egy másik feldolgozói szerepkörből vagy egy automatizált rendszerből szeretne feladatokat küldeni. Az egyik lehetőség a felügyelt identitás konfigurálása, a másik lehetőség a szolgáltatásnév használata, amelyet ez a cikk ismertet.

Előfeltétel: Szolgáltatásnév és alkalmazáskulcs létrehozása

Szolgáltatásnévként való hitelesítéshez először létre kell hoznia egy szolgáltatásnevet.

Szolgáltatásnév létrehozásához rendeljen hozzá hozzáférést, és hozzon létre egy hitelesítő adatot:

  1. Azure AD-alkalmazás létrehozása:

    Feljegyzés

    Nem kell átirányítási URI-t beállítania.

    1. A létrehozás után írja le az alkalmazás (ügyfél) azonosítóját és a címtár (bérlő) azonosítóját.
  2. Hozzon létre egy hitelesítő adatot az alkalmazásként való bejelentkezéshez:

    1. Az alkalmazás beállításai között válassza a Tanúsítványok > titkos kulcsok lehetőséget.
    2. Az Ügyféltitkok csoportban válassza az Új titkos kód létrehozása lehetőséget.
    3. Adja meg a leírást és az időtartamot, majd válassza a Hozzáadás lehetőséget.
    4. Másolja a titkos kulcs értékét egy biztonságos helyre azonnal – nem fogja tudni újra látni!
  3. A szolgáltatásnév engedélyeinek megadása a munkaterület eléréséhez:

    1. Nyissa meg az Azure Portalt.
    2. A keresősávon adja meg annak az erőforráscsoportnak a nevét, amelyben a munkaterületet létrehozta. Válassza ki az erőforráscsoportot, amikor megjelenik az eredmények között.
    3. Az erőforráscsoport áttekintésében válassza a Hozzáférés-vezérlés (IAM) lehetőséget.
    4. Válassza a Szerepkör-hozzárendelés hozzáadása lehetőséget.
    5. Keresse meg és válassza ki a szolgáltatásnevet.
    6. Rendelje hozzá a közreműködői vagy tulajdonosi szerepkört.

Feljegyzés

Ahhoz, hogy szerepkör-hozzárendelést hozzon létre az erőforráscsoporton vagy a munkaterületen, tulajdonosnak vagy felhasználóhozzáférés-rendszergazdának kell lennie a szerepkör-hozzárendelés hatókörében. Ha nem rendelkezik engedéllyel a szolgáltatásnév létrehozásához az előfizetésben, engedélyt kell kérnie az Azure-előfizetés tulajdonosától vagy rendszergazdájától .

Ha csak az erőforráscsoport vagy a munkaterület szintjén rendelkezik engedélyekkel, létrehozhatja a szolgáltatásnevet a Közreműködő szerepkör alatt a következő használatával:

az ad sp create-for-rbac --role Contributor --scopes /subscriptions/<SUBSCRIPTION-ID>

Hitelesítés szolgáltatásnévként

1. lehetőség: Környezeti változók használata: Az objektumlétrehozás során Workspace használt alapértelmezett hitelesítő adat a DefaultAzureCredential, amely több típusú hitelesítést fog megkísérelni. Az első a EnvironmentCredential, és ezzel a következő környezeti változókon keresztül adja át a szolgáltatásnév hitelesítő adatait:

  • AZURE_TENANT_ID: A szolgáltatásnév bérlőjének azonosítója. A könyvtár azonosítójának is nevezik.
  • AZURE_CLIENT_ID: a szolgáltatásnév ügyfélazonosítója.
  • AZURE_CLIENT_SECRET: a szolgáltatásnév egyik ügyféltitkára.

2. lehetőség: A ClientSecretCredential használata: Adjon át egy ClientSecretCredential értéket az Workspace objektum példányosítása során, vagy állítsa be a tulajdonságot credentials .

from azure.identity import ClientSecretCredential

tenant_id = os.environ["AZURE_TENANT_ID"]
client_id = os.environ["AZURE_CLIENT_ID"]
client_secret = os.environ["AZURE_CLIENT_SECRET"]
credential = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)

workspace.credentials = credential

Feljegyzés

A workspace.login() módszer elavult, és már nem szükséges. A szolgáltatás első hívásakor a rendszer megkísérli a hitelesítést a konstruktorban vagy annak Workspace tulajdonságában credentials átadott hitelesítő adatokkal. Ha nem adtak át hitelesítő adatokat, a DefaultAzureCredential több hitelesítési módszert is megkísérl.