Sdílet prostřednictvím


Ověřování v pracovním prostoru pomocí instančního objektu

Někdy není vhodné použít interaktivní ověřování nebo ověřit jako uživatelský účet. K těmto případům může dojít, když chcete odesílat úlohy z webové služby, jiné role pracovního procesu nebo automatizovaného systému. Jednou z možností je nakonfigurovat spravovanou identitu, druhou možností je použít instanční objekt, který tento článek vysvětluje.

Předpoklad: Vytvoření instančního objektu a tajného kódu aplikace

Pokud se chcete ověřit jako instanční objekt, musíte nejprve vytvořit instanční objekt.

Pokud chcete vytvořit instanční objekt, přiřaďte přístup a vygenerujte přihlašovací údaje:

  1. Vytvoření aplikace Azure AD:

    Poznámka:

    Není nutné nastavit identifikátor URI přesměrování.

    1. Po vytvoření si poznamenejte ID aplikace (klienta) a ID adresáře (tenanta).
  2. Vytvořte přihlašovací údaje pro přihlášení jako aplikaci:

    1. V nastavení aplikace vyberte Certifikáty a tajné kódy.
    2. V části Tajné kódy klienta vyberte Vytvořit nový tajný klíč.
    3. Zadejte popis a dobu trvání a pak vyberte Přidat.
    4. Okamžitě zkopírujte hodnotu tajného kódu na bezpečné místo – už ji neuvidíte!
  3. Udělení oprávnění instančního objektu pro přístup k pracovnímu prostoru:

    1. Otevřete Azure Portal.
    2. Na panelu hledání zadejte název skupiny prostředků, ve které jste vytvořili pracovní prostor. Vyberte skupinu prostředků, jakmile se objeví ve výsledcích.
    3. V přehledu skupiny prostředků vyberte Řízení přístupu (IAM).
    4. Vyberte Přidat přiřazení role.
    5. Vyhledejte a vyberte instanční objekt.
    6. Přiřaďte roli Přispěvatel nebo Vlastník .

Poznámka:

Abyste mohli vytvořit přiřazení role ve skupině prostředků nebo pracovním prostoru, musíte být vlastníkem nebo správcem přístupu uživatele v oboru přiřazení role. Pokud nemáte oprávnění k vytvoření instančního objektu ve vašem předplatném, budete muset požádat o oprávnění od vlastníka nebo správce předplatného Azure.

Pokud máte oprávnění pouze na úrovni skupiny prostředků nebo pracovního prostoru, můžete vytvořit instanční objekt pod rolí Přispěvatel pomocí:

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

Ověření jako instančního objektu

Možnost 1: Použití proměnných prostředí: Výchozí přihlašovací údaje použité při Workspace vytváření objektu jsou DefaultAzureCredential, které se pokusí o několik typů ověřování. První je EnvironmentCredential a s tím, že předáte přihlašovací údaje instančního objektu pomocí následujících proměnných prostředí:

  • AZURE_TENANT_ID: ID tenanta instančního objektu. Označuje se také jako ID adresáře.
  • AZURE_CLIENT_ID: ID klienta instančního objektu.
  • AZURE_CLIENT_SECRET: jeden z tajných kódů klienta instančního objektu.

Možnost 2: Použití ClientSecretCredential: Předat ClientSecretCredential během vytváření instance objektu Workspace nebo nastavit credentials vlastnost.

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

Poznámka:

Metoda workspace.login() je zastaralá a už není nutná. Při prvním volání služby se pokusí o ověření pomocí přihlašovacích údajů předaných v konstruktoru Workspace nebo jeho credentials vlastnosti. Pokud nebyly předány žádné přihlašovací údaje, pokusí se o několik metod ověřování DefaultAzureCredential.