Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Někdy není vhodné použít interaktivní ověřování nebo se ověřit pomocí uživatelského účtu. 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, další možností je použít entitu služby, což tento článek vysvětluje.
Předpoklad: Vytvoření služebního hlavního jména a tajemství aplikace
Pokud se chcete ověřit jako instanční objekt, musíte nejprve vytvořit instanční objekt.
Vytvořte aplikační objekt, přiřaďte přístup a vygenerujte přihlašovací údaje:
Vytvoření aplikace Azure AD:
Poznámka:
Nemusíte nastavovat přesměrování URI.
- Po vytvoření si poznamenejte ID aplikace (klienta) a ID adresáře (tenanta).
Vytvořte přihlašovací údaje pro přihlášení do aplikace:
- V nastavení aplikace vyberte Certifikáty a tajné kódy.
- V části Tajné kódy klienta vyberte Vytvořit nový tajný klíč.
- Zadejte popis a dobu trvání a pak vyberte Přidat.
- Okamžitě zkopírujte hodnotu tajného kódu na bezpečné místo – už ji neuvidíte!
Dejte oprávnění servisnímu hlavnímu objektu pro přístup k pracovnímu prostoru:
- Otevřete Azure Portal.
- 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.
- V přehledu skupiny prostředků vyberte Řízení přístupu (IAM).
- Vyberte Přiřazení role.
- Vyhledejte a vyberte principál služby.
- Přiřaďte buď roli přispěvatele nebo vlastníka.
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 uživatelského přístupu v rámci 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 service principal pod rolí Přispěvatel pomocí:
az ad sp create-for-rbac --role Contributor --scopes /subscriptions/<SUBSCRIPTION-ID>
Autentizovat jako aplikační objekt služby
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 ním předáte přihlašovací údaje servisního principálu pomocí následujících proměnných prostředí:
- AZURE_TENANT_ID: ID tenanta servisního objektu. Označuje se také jako ID adresáře.
- AZURE_CLIENT_ID: ID klienta instančního objektu.
- AZURE_CLIENT_SECRET: jeden z klientských tajných klíčů hlavního objektu služby.
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 dojde k pokusu o ověření pomocí přihlašovacích údajů, které byly předány buď v konstruktoru Workspace
, nebo v jeho vlastnosti credentials
. Pokud nebyly předány žádné přihlašovací údaje, pokusí se o několik metod ověřování DefaultAzureCredential.