Sdílet prostřednictvím


Povolte ověřování Microsoft Entra ID

Microsoft Entra ID je cloudové řešení identit navržené pro správu přístupu uživatelů a oprávnění pro služby, prostředky a aplikace Microsoftu. Organizace, které se přihlašují k odběru online obchodních služeb Microsoftu, jako je Microsoft Azure, mají přístup k MICROSOFT Entra ID.

Microsoft Entra ID umožňuje ověřovat požadavky na prostředky Azure AI bez nutnosti hesel nebo klíčů. Místo toho se vytvoří robustní vrstva zabezpečení registrací aplikace identity na platformě Microsoft Entra ID. Tato registrace umožňuje vaší aplikaci identity provádět zabezpečené požadavky na vaše rozhraní API prostředků Azure AI, čímž se vytvoří vztah důvěryhodnosti s platformou Microsoft Identity Platform.

Tento článek vás provede vytvořením a využitím aplikace identity Microsoft Entra ID k ověřování požadavků na prostředky Azure AI. Tady jsou kroky:

Požadavky

Než začnete, potřebujete účet Azure a předplatné služeb Azure AI.

Důležité

Regionální koncové body nepodporují autentizaci pomocí Microsoft Entra.

  • Nainstalovaný nástroj příkazového řádku curl.

  • PowerShell verze 7.*+ (nebo podobná aplikace příkazového řádku):):

  • Pokud chcete zkontrolovat verzi PowerShellu, zadejte následující příkaz vzhledem k vašemu operačnímu systému:

    • Windows: Get-Host | Select-Object Version
    • macOS nebo Linux: $PSVersionTable

Zakázání ověřování pomocí klíče

Pokud chcete použít ověřování Microsoft Entra, musí být vypnuté ověřování založené na klíčích (místní). Jakmile je přístup ke klíči zakázaný, stane se ID Microsoft Entra jedinou autorizační metodou. Vaše organizace se může rozhodnout deaktivovat místní ověřování a nařídit Microsoft Entra pro prostředky Azure AI. Pokud ne, můžete zakázat ověřování klíčů pro konkrétní prostředky pomocí následujících kroků:PowerShell

  1. Připojení k Azure

     Connect-AzAccount
    
  2. Ověřte stav místního ověřování

     Get-AzCognitiveServicesAccount
    
  3. Zkontrolujte, jestli je vlastnost DisableLocalAuth nastavená $true (místní ověřování je zakázané).

    Get-AzCognitiveServicesAccount -ResourceGroupName "my-resource-group" -Name "my-resource-name"
    

    DisableLocalAuth Pokud je tato hodnota prázdná nebo je nastavená na Hodnotu False, musíte ji nastavit na $true.

  4. Zakázání místního ověřování

    Set-AzCognitiveServicesAccount -ResourceGroupName "my-resource-group" -Name "my-resource-name" -DisableLocalAuth $true
    
    

Pomocí rutiny Get-AzCognitiveServicesAccount můžete znovu zkontrolovat, zda je místní ověřování zakázané. Hodnota True znamená, že místní ověřování je zakázané.

Registrace aplikace pro správu identit pomocí Microsoft Entra ID

  1. Přejděte na portál Azure.

  2. Do Microsoft Entra ID vyhledávacího pole v horní části stránky zadejte.

    Snímek obrazovky s vyhledávacím polem webu Azure Portal

  3. Microsoft Entra ID V rozevírací nabídce vyberte službu.

    Snímek obrazovky s výsledky hledání Microsoft Entra ID na webu Azure Portal

  4. Výběrem Microsoft Entra ID se otevře stránka s přehledem vaší organizace na webu Azure Portal.

  5. V nabídce vlevo vyberte uzel Manage, App registrations.

    Snímek obrazovky s výběrem registrace aplikací z nabídky Spravovat

  6. Vyberte New registration z nabídky v horní části hlavního okna.

    Snímek obrazovky s výběrem Nová registrace v hlavním okně stránky

  7. Vyplňte pole registrace aplikace:

    • Název. Vyberte název aplikace. V našem případě použijeme azure-ai-auth-app.
    • Podporované typy účtů. Určete, kdo může aplikaci používat.
    • Redirect URI Tento výběr je nepovinný. Přeskočíme ho pro tento projekt.
    • Zaregistrujte se. Vyberte Register a dokončete App registration.

    Další informace o registraci aplikace najdete v tématuRegistrace aplikace.

  8. Po dokončení App's registration registrace se zobrazí podokno Přehled. ID aplikace (klienta), označované také jako client IDhodnota , jednoznačně identifikuje vaši aplikaci na platformě Microsoft Identity Platform.

    Snímek obrazovky se stránkou přehledu registrace aplikace

  9. Než opustíte stránku s přehledem registrace aplikace, zkopírujte a vložte následující hodnoty do zabezpečeného a pohodlného umístění, jako je Třeba Poznámkový blok systému Windows:

    • Application (client) ID
    • Directory (tenant) ID

Dokončili jste registraci aplikace. Dále do aplikace přidáme tajný klíč klienta .

Přidejte tajný přihlašovací údaj klienta

Klientské aplikace využívají přihlašovací údaje k získání přístupu k webovému rozhraní API. Tyto přihlašovací údaje umožňují aplikaci nezávisle ověřovat, což eliminuje potřebu interakce uživatele, jako je zadávání klíčů, během běhu. Tajný klíč klienta vaší aplikace (heslo aplikace) je řetězec, který aplikace používá k prokázání své identity při vyžádání tokenu.

  1. V levé navigační nabídce vyberte stránku Přehled.

    Snímek obrazovky se stránkou přehledu registrace aplikace na webu Azure Portal

  2. Vyberte možnost Add a certificate or secret.

    Snímek obrazovky s odkazem pro přidání tajného kódu na webu Azure Portal

  3. Dále vyberte New client secret.

    Snímek obrazovky s tlačítkem pro nový tajný klíč klienta v Azure portálu.

  4. V okně Add a client secret přidejte popis, nastavte období vypršení platnosti a poté vyberte tlačítko Add.

    Snímek obrazovky s oknem Pro přidání tajného klíče klienta

  5. Zkopírujte a vložte tajný klíč klienta Value do stejného zabezpečeného umístění jako Application (client) ID a Directory (tenant) ID, například Windows Notepad. Hodnoty tajných kódů klienta lze zobrazit pouze okamžitě po vytvoření. Před opuštěním stránky nezapomeňte tajný kód uložit.

    Snímek obrazovky umístění hodnoty tajného klíče klienta pro zaregistrovanou aplikaci na webu Azure Portal

Teď, když má vaše aplikace správné přihlašovací údaje pro ověřování, přidáme oprávnění pro vaši aplikaci pro přístup k prostředkům Azure AI Foundry.

Přidání oprávnění rozhraní API

Teď přidáme oprávnění, které aplikaci umožní přístup k rozhraním API služeb Azure AI (Cognitive Services), včetně služby Azure AI Translator, jako uživatele.

  1. V levé navigační nabídce přejděte na API permissions, poté vyberte Add a permission z hlavního okna.

    Snímek obrazovky se zobrazením oprávnění rozhraní API na webu Azure Portal

  2. V novém okně, které se zobrazí, vyberte APIs my organization uses a zadejte Microsoft Cognitive Services do panelu hledání.

    Snímek obrazovky okna pro vyhledávání oprávnění rozhraní API žádosti.

  3. Vyberte Microsoft Cognitive Services z výsledků hledání.

    • V novém okně v části Permissionsvyberte Delegated permissions.

    • Zaškrtněte Access Cognitive Services API as organization users políčko.

    • Vyberte možnost Add permissions.

      Snímek obrazovky s oknem oprávnění aplikace služby Azure Cognitive Services

To je to! Nastavení aplikace Microsoft Entra ID je hotové. V dalším kroku musí prostředek Translatoru udělit aplikaci přístup přidáním přiřazení role do aplikace speciálně pro prostředek Translator. Další informace najdete v tématuŘízení přístupu na základě role v Azure.

Přiřazení role uživatele služeb Cognitive Services k prostředku Azure AI Translator

Řízení přístupu na základě role (Azure RBAC) je objekt zabezpečení, který umožňuje řídit přístup k prostředkům Azure. Můžete použít RBAC k udělení přístupu k libovolnému prostředku, který podporuje ověřování Microsoft Entra, v našem případě vaší instanci služby Azure AI Translator. Pokud chcete aplikaci Microsoft Entra ID udělit přístup k vašemu prostředku Translatoru, přiřaďte jí roli Azure pomocí řízení přístupu na základě role v Azure (Azure RBAC).

  1. Zůstaňte na portálu Azure a přejděte ke svému globálnímu prostředku služby Azure AI Translator.

  2. V nabídce vlevo vyberte Access control (IAM).

  3. Vyberte Add role assignment z hlavního okna.

    Snímek obrazovky s oknem Řízení přístupu

  4. V nabídce levé navigace vyberte Cognitive Services User a stiskněte tlačítko Next.

  5. Na kartě Add role assignment page přiřaďte přístup k User, group, or service principal.

  6. Zvolte Select members.

    Snímek obrazovky okna pro přidání členů přiřazení rolí.

  7. V okně, které se otevře, zadejte název registrované aplikace do vyhledávacího pole (například text-translation-app). Vyberte aplikaci a zvolte Select tlačítko.

    Snímek obrazovky s oknem pro výběr členů na webu Azure Portal

  8. Dokončete proces přiřazení výběrem Review + assign tlačítka.

Teď jsme připraveni otestovat použití vaší aplikace k získání tokenu zabezpečení pro volání rozhraní REST API.

Získejte přístupový token pomocí toku přihlašovacích údajů klienta OAuth

Přístupové tokeny jsou typem tokenu zabezpečení navrženého pro autorizaci, udělení přístupu konkrétním prostředkům jménem ověřeného uživatele a umožňují klientům bezpečně volat chráněná webová rozhraní API. V našem případě přístupový token uděluje zaregistrované aplikaci Microsoft Entra ID oprávnění k přístupu k vašemu prostředku Služby Translator vaším jménem.

Poznámka:

  • Výchozí životnost přístupového tokenu není pevná.
  • Při vystavování ji platforma Microsoft Identity Platform přiřadí náhodnou dobu trvání v rozsahu od 60 do 90 minut s průměrnou délkou 75 minut.
  • Po vypršení platnosti tokenu opakujte požadavek na koncový bod /token a získejte nový přístupový token.
  • Obnovovací tokeny nejsou vydávány s tokem klientských přihlašovacích údajů. Vzhledem k tomu, že client_id a client_secret (které jsou potřeba k získání obnovovacího tokenu) se již používají k získání přístupového tokenu, není v tomto kontextu potřeba obnovovací token. Další informace najdete v tokupřihlašovacích údajů klienta OAuth 2.0.
  1. Připravte se na podání žádosti o token. Z registrované aplikace potřebujete následující hodnoty:

  2. cURL Použijeme k vytvoření žádosti o token. Tady je kód:

    Linux nebo macOS

    curl -X POST https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token \
      -H "Content-Type: application/x-www-form-urlencoded" \
      -d "client_id={client-id}" \
      -d "scope= https://cognitiveservices.azure.com/.default" \
      -d "client_secret={client-secret}" \
      -d "grant_type=client_credentials" |json_pp
    

    Windows

    curl -X POST https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token ^
      -H "Content-Type: application/x-www-form-urlencoded" ^
      -d "client_id={client-id}" ^
      -d "scope= https://cognitiveservices.azure.com/.default" ^
      -d "client_secret={client-secret}" ^
      -d "grant_type=client_credentials" |json
    
  3. Nahraďte {tenant-id} v adrese URL požadavku{client-id a {client-secret} skutečnými hodnotami.

    • Příkazy |json_pp (macOS) a |json (Windows) umožňují zkrášlit JSON pomocí cURL.

    • Váš přístupový token se obdrží v odpovědi.

  4. Uložte získaný přístup do zabezpečeného a pohodlného umístění, jako je Windows Notepad.

Skvělé! Teď provedeme volání rozhraní REST API do rozhraní Azure Translator AI API.

Použití ověřování přístupového tokenu pro požadavek rozhraní REST API

K provedení platného požadavku rozhraní REST API jsou vyžadovány následující hodnoty:

  • Identita instance služby Translator Můžete ji zadat dvěma způsoby (zvolte jednu):

  • Přístupový token Microsoft Entra ID získaný z vaší aplikace Microsoft Entra ID.

Použití globálního koncového bodu

  1. Na webu Azure Portal přejděte na stránku okamžitého prostředku.

    • Globální koncový bod se nachází v části Resource ManagementKeys and Endpoint → → Web APIText translation.

    • Nachází se ResourceID v části Resource ManagementProperties.

    • Formát ID prostředku: /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.CognitiveServices/accounts/<resourceName>/

      Snímek obrazovky s umístěním hodnoty ID prostředku na webu Azure Portal

  2. Nahraďte {your-resource-ID} hodnotou z webu Azure Portal a {access-token} hodnotou získanou z předchozího kroku: získejte přístupový token.

    Linux nebo macOS

    curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=en" \
         -H "Authorization: Bearer {access-token}"\
         -H "Ocp-Apim-ResourceId: {your-resource-ID}" \
         -H "Content-Type: application/json" \
         -d "[{'Text':'Hola'}]"
    

    Windows

    curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=en" ^
         -H "Authorization: Bearer {access-token}" ^
         -H "Ocp-Apim-ResourceId: {your-resource-id}" ^
         -H "Content-Type: application/json" ^
         -d "[{'Text':'Hola'}]"
    

Použití vlastního koncového bodu domény

Váš koncový bod vlastní domény je adresa URL naformátovaná názvem vašeho prostředku a názvem hostitele a je k dispozici na webu Azure Portal. Když jste vytvořili prostředek Translator, hodnota, kterou jste zadali do pole Name, je parametr vlastního názvu domény pro koncový bod. Adresu URL vlastního koncového bodu domény najdete v polích Překlad dokumentů a Překlad textu kontejnerů.

Linux nebo macOS

curl -X POST "https://{your-custom-domain}.cognitiveservices.azure.com/translator/text/v3.0/translate?api-version=3.0&to=en" \
  -H "Authorization: Bearer {access-token}" \
  -H "Content-Type: application/json" \
  -d "[{'Text':'Hola'}]"

Windows

curl -X POST "https://{your-custom-domain}.cognitiveservices.azure.com/translator/text/v3.0/translate?api-version=3.0&to=en" ^
  -H "Authorization: Bearer {access-token}" ^
  -H "Content-Type: application/json" ^
  -d "[{'Text':'Hola'}]"

Nahraďte {your-custom-domain} hodnotou ve tvaru webu Azure Portal a {access-token} tokenem získaným z předchozího kroku a získejte přístupový token.

Tady je příklad odpovědi JSON:

[{"detectedLanguage":{"language":"es","score":1.0},"translations":[{"text":"Hello","to":"en"}]}]

Skvělá práce! Teď víte, jak pomocí Id Microsoft Entra ověřovat požadavky na prostředek Azure AI.