Sdílet prostřednictvím


Důležité aspekty a omezení pro přihlašovací údaje federované identity

Tento článek popisuje důležité aspekty, omezení a omezení pro přihlašovací údaje federované identity v aplikacích Microsoft Entra a spravovaných identitách přiřazených uživatelem.

Další informace o scénářích povolených přihlašovacími údaji federované identity najdete v přehledu federace identit úloh.

Obecné aspekty přihlašovacích údajů federované identity

Platí pro: aplikace a spravované identity přiřazené uživatelem

Každý, kdo má oprávnění k vytvoření registrace aplikace a přidání tajného kódu nebo certifikátu, může do aplikace přidat přihlašovací údaje federované identity. Pokud je přepínač Uživatelé můžou registrovat aplikace v okně Nastavení uživatelů v > pro správu Microsoft Entra nastaveno na Ne, nebudete ale moct vytvořit registraci aplikace ani nakonfigurovat přihlašovací údaje federované identity. Vyhledejte správce, který za vás nakonfiguruje přihlašovací údaje federované identity, někoho v rolích Správce aplikace nebo Vlastník aplikace.

Přihlašovací údaje federované identity nevyužívají kvótu objektů instančního objektu tenanta Microsoft Entra.

Do aplikace nebo spravované identity přiřazené uživatelem je možné přidat maximálně 20 přihlašovacích údajů federované identity.

Při konfiguraci přihlašovacích údajů federované identity je k dispozici několik důležitých informací:

  • a předmět jsou klíčové informace potřebné k nastavení vztahu důvěryhodnosti. Kombinace issuer a subject musí být v aplikaci jedinečná. Když úloha externího softwaru požádá platformu Microsoft Identity Platform o výměnu externího tokenu pro přístupový token, budou hodnoty vystavitele a subjektu přihlašovacích údajů federované identity kontrolovány vůči externím tokenům issuer a subject deklarace identity poskytnuté v externím tokenu. Pokud kontrola ověření projde, platforma Microsoft Identity Platform vydá přístupový token pro úlohy externího softwaru.

  • vystavitel je adresa URL externího zprostředkovatele identity a musí odpovídat issuer deklaraci identity externího tokenu, který se vyměňuje. Povinný: Pokud deklarace issuer identity obsahuje počáteční nebo koncové prázdné znaky v hodnotě, zablokuje se výměna tokenů. Toto pole má limit znaků 600 znaků.

  • předmět je identifikátor úlohy externího softwaru a musí odpovídat sub deklarací identitysubject externího tokenu, který se vyměňuje. subject nemá žádný pevný formát, protože každý zprostředkovatele identity používá vlastní – někdy identifikátor GUID, někdy identifikátor s oddělovači dvojtečky, někdy libovolné řetězce. Toto pole má limit znaků 600 znaků.

    Důležité

    Hodnoty nastavení předmětu musí přesně odpovídat konfiguraci v konfiguraci pracovního postupu GitHubu. Jinak se platforma Microsoft Identity Platform podívá na příchozí externí token a odmítne výměnu přístupového tokenu. Nezobrazí se vám chyba, exchange selže bez chyby.

    Důležité

    Pokud omylem přidáte nesprávné externí informace o úlohách v nastavení předmětu, přihlašovací údaje federované identity se úspěšně vytvoří bez chyby. Tato chyba se neprojeví, dokud se výměna tokenu nezdaří.

  • Cílové skupiny uvádějí cílové skupiny, které se můžou objevit v externím tokenu. Povinný: Musíte přidat jednu hodnotu cílové skupiny, která má limit 600 znaků. Doporučená hodnota je "api://AzureADTokenExchange". Říká, co platforma Microsoft Identity Platform musí přijmout v aud deklaraci identity v příchozím tokenu.

  • name je jedinečný identifikátor přihlašovacích údajů federované identity. Povinný: Toto pole má limit znaků 3–120 znaků a musí být popisný pro adresu URL. Podporují se alfanumerické znaky, pomlčky nebo podtržítka. První znak musí být jenom alfanumerický. Po vytvoření je neměnný.

  • popis je popis přihlašovacích údajů federované identity zadaný uživatelem. Nepovinné. Popis se neověřuje ani nekontroluje podle ID Microsoft Entra. Toto pole má limit 600 znaků.

Zástupné znaky nejsou podporovány v žádné hodnotě přihlašovacích údajů federované identity.

Nepodporované oblasti (spravované identity přiřazené uživatelem)

Platí pro: spravované identity přiřazené uživatelem

Vytváření přihlašovacích údajů federované identity se v současné době nepodporuje u spravovaných identit přiřazených uživatelem vytvořených v následujících oblastech:

  • Malajsie – jih
  • Španělsko – střed
  • Tchaj-wan – sever
  • Tchaj-wan – severozápad

Podpora vytváření přihlašovacích údajů federované identity pro identity přiřazené uživatelem v těchto oblastech se postupně zavádí. Prostředky v této oblasti, které potřebují používat přihlašovací údaje federované identity, to můžou udělat pomocí spravované identity přiřazené uživatelem vytvořené v podporované oblasti.

Podporované podpisové algoritmy a vystavitele

Platí pro: aplikace a spravované identity přiřazené uživatelem

Pro výměnu tokenů pomocí federace identit úloh se podporují pouze vystavitely, kteří poskytují tokeny podepsané pomocí algoritmu RS256. Výměna tokenů podepsaných jinými algoritmy může fungovat, ale ještě nebyla testována.

Čas šíření změn federovaných přihlašovacích údajů

Platí pro: aplikace a spravované identity přiřazené uživatelem

Po počáteční konfiguraci trvá, než se přihlašovací údaje federované identity rozšíří do celé oblasti. Požadavek na token provedený několik minut po konfiguraci přihlašovacích údajů federované identity může selhat, protože mezipaměť se naplní v adresáři starými daty. Během tohoto časového období může žádost o autorizaci selhat s chybovou zprávou: AADSTS70021: No matching federated identity record found for presented assertion.

Pokud se chcete tomuto problému vyhnout, chvíli počkejte po přidání přihlašovacích údajů federované identity před vyžádáním tokenu, abyste zajistili dokončení replikace napříč všemi uzly autorizační služby. Doporučujeme také přidat logiku opakování pro žádosti o tokeny. Opakování by se mělo provést pro každou žádost i po úspěšném získání tokenu. Po úplné replikaci dat se procento selhání nakonec sníží.

Souběžné aktualizace se nepodporují (spravované identity přiřazené uživatelem)

Platí pro: spravované identity přiřazené uživatelem

Vytvoření několika přihlašovacích údajů federované identity ve stejné spravované identitě přiřazené uživatelem souběžně aktivuje logiku detekce souběžnosti, která způsobí selhání požadavků se stavovým kódem HTTP 409.

Zprostředkovatel Terraformu pro Azure (Resource Manager) verze 3.40.0 zavádí aktualizaci , která místo souběžného vytváření více přihlašovacích údajů federované identity vytváří více přihlašovacích údajů federované identity. Verze starší než 3.40.0 můžou způsobit selhání v kanálech při vytváření více federovaných identit. Doporučujeme použít zprostředkovatele Terraformu pro Azure (Resource Manager) verze 3.40.0 nebo novější, aby se postupně vytvořilo několik přihlašovacích údajů federované identity.

Když použijete automatizaci nebo šablony Azure Resource Manageru (šablony ARM) k vytvoření přihlašovacích údajů federované identity pod stejnou nadřazenou identitou, vytvořte federované přihlašovací údaje postupně. Přihlašovací údaje federované identity v různých spravovaných identitách je možné vytvořit paralelně bez jakýchkoli omezení.

Pokud jsou přihlašovací údaje federované identity zřízené ve smyčce, můžete je zřídit sériově nastavením "mode": "serial".

Pomocí vlastnosti dependsOn můžete také zřídit několik nových přihlašovacích údajů federované identity. Následující příklad šablony Azure Resource Manageru (šablona ARM) vytvoří pro spravovanou identitu přiřazenou uživatelem tři nové přihlašovací údaje federované identity pomocí vlastnosti dependsOn :

{ 
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", 
    "contentVersion": "1.0.0.0", 
    "parameters": { 
        "userAssignedIdentities_parent_uami_name": { 
            "defaultValue": "parent_uami", 
            "type": "String" 
        } 
    }, 
    "variables": {}, 
    "resources": [ 
        { 
            "type": "Microsoft.ManagedIdentity/userAssignedIdentities", 
            "apiVersion": "2022-01-31-preview", 
            "name": "[parameters('userAssignedIdentities_parent_uami_name')]", 
            "location": "eastus" 
        }, 
        { 
            "type": "Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials", 
            "apiVersion": "2022-01-31-preview", 
            "name": "[concat(parameters('userAssignedIdentities_parent_uami_name'), '/fic01')]", 
            "dependsOn": [ 
                "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('userAssignedIdentities_parent_uami_name'))]" 
            ], 
            "properties": { 
                "issuer": "https://kubernetes-oauth.azure.com", 
                "subject": "fic01", 
                "audiences": [ 
                    "api://AzureADTokenExchange" 
                ] 
            } 
        }, 
        { 
            "type": "Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials", 
            "apiVersion": "2022-01-31-preview", 
            "name": "[concat(parameters('userAssignedIdentities_parent_uami_name'), '/fic02')]", 
            "dependsOn": [ 
                "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('userAssignedIdentities_parent_uami_name'))]", 
                "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials', parameters('userAssignedIdentities_parent_uami_name'), 'fic01')]" 
            ], 
            "properties": { 
                "issuer": "https://kubernetes-oauth.azure.com", 
                "subject": "fic02", 
                "audiences": [ 
                    "api://AzureADTokenExchange" 
                ] 
            } 
        }, 
        { 
            "type": "Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials", 
            "apiVersion": "2022-01-31-preview", 
            "name": "[concat(parameters('userAssignedIdentities_parent_uami_name'), '/fic03')]", 
            "dependsOn": [ 
                "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('userAssignedIdentities_parent_uami_name'))]", 
                "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials', parameters('userAssignedIdentities_parent_uami_name'), 'fic02')]" 
            ], 
            "properties": { 
                "issuer": "https://kubernetes-oauth.azure.com", 
                "subject": "fic03", 
                "audiences": [ 
                    "api://AzureADTokenExchange" 
                ] 
            } 
        } 
    ] 
} 

Azure Policy

Platí pro: aplikace a spravované identity přiřazené uživatelem

Azure Policy je možné použít jako v následujícím příkladu šablony ARM:

{ 
"policyRule": { 
            "if": { 
                "field": "type", 
                "equals": "Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials" 
            }, 
            "then": { 
                "effect": "deny" 
            } 
        } 
}

Omezení omezování

Platí pro: spravované identity přiřazené uživatelem

Následující tabulka popisuje omezení požadavků na uživatelem přiřazené spravované identity REST APIS. Pokud překročíte limit omezování, zobrazí se chyba HTTP 429.

Operace Žádosti za sekundu na tenanta Microsoft Entra Žádosti za sekundu za předplatné Počet požadavků za sekundu za prostředek
Vytvoření nebo aktualizace požadavků 10 2 0.25
Získání žádostí 30 10 0.5
Výpis podle skupiny prostředků nebo výpisu podle požadavků předplatného 15 5 0.25
Odstranění požadavků 10 2 0.25

Chyby

Platí pro: aplikace a spravované identity přiřazené uživatelem

Následující kódy chyb se můžou vrátit při vytváření, aktualizaci, získávání, výpisu nebo odstraňování přihlašovacích údajů federované identity.

Kód HTTP Chybová zpráva Komentáře
405 Formát požadavku byl neočekávaný: Podpora přihlašovacích údajů federované identity není povolená. Přihlašovací údaje federované identity nejsou v této oblasti povolené. Přečtěte si informace o aktuálně podporovaných oblastech.
400 Přihlašovací údaje federované identity musí mít přesně jednu cílovou skupinu. Přihlašovací údaje federované identity v současné době podporují jednu cílovou skupinu api://AzureADTokenExchange.
400 Přihlašovací údaje federované identity z textu HTTP mají prázdné vlastnosti. Všechny vlastnosti přihlašovacích údajů federované identity jsou povinné.
400 Název přihlašovacích údajů federované identity {ficName} je neplatný. Alfanumerické, přerušované, podtržítko, maximálně 3–120 symbolů. První symbol je alfanumerický.
404 Nadřazená identita přiřazená uživatelem neexistuje. Zkontrolujte název identity přiřazené uživatelem v cestě prostředku přihlašovacích údajů federované identity.
400 Pro tuto spravovanou identitu už existuje kombinace vystavitele a subjektu. Jedná se o omezení. Vypíše všechny přihlašovací údaje federované identity přidružené k identitě přiřazené uživatelem a vyhledá existující přihlašovací údaje federované identity.
409 Konflikt Souběžná žádost o zápis na prostředky přihlašovacích údajů federované identity ve stejné identitě přiřazené uživatelem byla odepřena.