Delen via


Belangrijke overwegingen en beperkingen voor federatieve identiteitsreferenties

In dit artikel worden belangrijke overwegingen, beperkingen en beperkingen beschreven voor federatieve identiteitsreferenties in Microsoft Entra-apps en door de gebruiker toegewezen beheerde identiteiten.

Zie het overzicht van federatieve identiteitsfederatie voor werkbelastingen voor meer informatie over de scenario's die zijn ingeschakeld door federatieve identiteitsreferenties.

Algemene overwegingen voor federatieve identiteitsreferenties

Van toepassing op: toepassingen en door de gebruiker toegewezen beheerde identiteiten

Iedereen met machtigingen voor het maken van een app-registratie en het toevoegen van een geheim of certificaat kan een federatieve identiteitsreferentie toevoegen aan een app. Als de gebruikers toepassingen kunnen registreren is ingesteld op Nee op de blade Gebruikers-gebruikersinstellingen in het Microsoft Entra-beheercentrum, kunt u echter geen app-registratie> maken of de federatieve identiteitsreferentie configureren. Zoek een beheerder om namens u de federatieve identiteitsreferentie te configureren, iemand in de rollen Toepassingsbeheerder of Toepassingseigenaar.

Federatieve identiteitsreferenties verbruiken het quotum voor service-principalobjecten van de Microsoft Entra-tenant niet.

Er kunnen maximaal 20 federatieve identiteitsreferenties worden toegevoegd aan een toepassing of door de gebruiker toegewezen beheerde identiteit.

Wanneer u een federatieve identiteitsreferentie configureert, zijn er verschillende belangrijke gegevens die u kunt opgeven:

  • verlener en onderwerp zijn de belangrijkste gegevens die nodig zijn om de vertrouwensrelatie in te stellen. De combinatie van issuer en subject moet uniek zijn in de app. Wanneer de externe softwareworkload Microsoft Identity Platform aanvraagt om het externe token uit te wisselen voor een toegangstoken, worden de verlener en de onderwerpwaarden van de federatieve identiteitsreferentie gecontroleerd op basis van de issuer claims subject die zijn opgegeven in het externe token. Als deze validatiecontrole wordt doorgegeven, geeft Microsoft Identity Platform een toegangstoken uit aan de externe softwareworkload.

  • verlener is de URL van de externe id-provider en moet overeenkomen met de issuer claim van het externe token dat wordt uitgewisseld. Vereist. Als de issuer claim voorloop- of volgspaties in de waarde heeft, wordt de tokenuitwisseling geblokkeerd. Dit veld heeft een tekenlimiet van 600 tekens.

  • subject is de id van de externe softwareworkload en moet overeenkomen met de sub (subject) claim van het externe token dat wordt uitgewisseld. het onderwerp heeft geen vaste indeling, omdat elke IdP een eigen indeling gebruikt, soms een GUID, soms een door dubbele punt gescheiden id, soms willekeurige tekenreeksen. Dit veld heeft een tekenlimiet van 600 tekens.

    Belangrijk

    De waarden van de onderwerpinstelling moeten exact overeenkomen met de configuratie van de GitHub-werkstroom. Anders kijkt Het Microsoft Identity Platform naar het binnenkomende externe token en weigert de uitwisseling voor een toegangstoken. Er treedt geen fout op, de uitwisseling mislukt zonder fouten.

    Belangrijk

    Als u per ongeluk de onjuiste externe workloadgegevens toevoegt in de onderwerpinstelling , wordt de federatieve identiteitsreferentie zonder fouten gemaakt. De fout wordt pas zichtbaar wanneer de tokenuitwisseling mislukt.

  • doelgroepen bevatten de doelgroepen die in het externe token kunnen worden weergegeven. Vereist. U moet één doelgroepwaarde toevoegen, met een limiet van 600 tekens. De aanbevolen waarde is 'api://AzureADTokenExchange'. Er wordt opgegeven wat microsoft identity platform moet accepteren in de aud claim in het binnenkomende token.

  • naam is de unieke id voor de federatieve identiteitsreferentie. Vereist. Dit veld heeft een tekenlimiet van 3-120 tekens en moet URL-vriendelijk zijn. Alfanumerieke tekens, streepjes of onderstrepingstekens worden ondersteund. Het eerste teken mag alleen alfanumeriek zijn.  Het is onveranderbaar nadat deze is gemaakt.

  • beschrijving is de door de gebruiker verstrekte beschrijving van de federatieve identiteitsreferentie. Facultatief. De beschrijving wordt niet gevalideerd of gecontroleerd door Microsoft Entra-id. Dit veld heeft een limiet van 600 tekens.

Jokertekens worden niet ondersteund in een federatieve id-eigenschapswaarde.

Niet-ondersteunde regio's (door de gebruiker toegewezen beheerde identiteiten)

Van toepassing op: door de gebruiker toegewezen beheerde identiteiten

Het maken van federatieve identiteitsreferenties wordt momenteel niet ondersteund voor door de gebruiker toegewezen beheerde identiteiten die zijn gemaakt in de volgende regio's:

  • Oost-Azië
  • Israël - centraal
  • Italië - noord
  • Maleisië - zuid
  • Mexico - centraal
  • Qatar - centraal
  • Spanje - centraal

Ondersteuning voor het maken van federatieve identiteitsreferenties voor door de gebruiker toegewezen identiteiten in deze regio's wordt geleidelijk geïmplementeerd. Resources in deze regio die federatieve identiteitsreferenties moeten gebruiken, kunnen dit doen door gebruik te maken van een door de gebruiker toegewezen beheerde identiteit die is gemaakt in een ondersteunde regio.

Ondersteunde ondertekeningsalgoritmen en verleners

Van toepassing op: toepassingen en door de gebruiker toegewezen beheerde identiteiten

Alleen verleners die tokens bieden die zijn ondertekend met het RS256-algoritme, worden ondersteund voor tokenuitwisseling met behulp van federatie van workloadidentiteit. Het uitwisselen van tokens die zijn ondertekend met andere algoritmen werkt mogelijk, maar is niet getest.

Microsoft Entra-verleners worden niet ondersteund

Van toepassing op: toepassingen en door de gebruiker toegewezen beheerde identiteiten

Het maken van een federatie tussen twee Microsoft Entra-identiteiten van dezelfde of verschillende tenants wordt niet ondersteund. Wanneer u een federatieve identiteitsreferentie maakt, wordt het configureren van de verlener (de URL van de externe id-provider) met de volgende waarden niet ondersteund:

  • *.login.microsoftonline.com
  • *.login.windows.net
  • *.login.microsoft.com
  • *.sts.windows.net

Hoewel het mogelijk is om een federatieve identiteitsreferentie te maken met een Microsoft Entra-verlener, mislukken pogingen om deze te gebruiken voor autorisatie met een fout AADSTS700222: AAD-issued tokens may not be used for federated identity flows.

Tijd voor wijzigingen in federatieve referenties die moeten worden doorgegeven

Van toepassing op: toepassingen en door de gebruiker toegewezen beheerde identiteiten

Het duurt even voordat de federatieve identiteitsreferentie in een regio wordt doorgegeven nadat deze in eerste instantie is geconfigureerd. Een tokenaanvraag die enkele minuten na het configureren van de federatieve identiteitsreferentie is gedaan, kan mislukken omdat de cache wordt gevuld in de map met oude gegevens. Tijdens dit tijdvenster kan een autorisatieaanvraag mislukken met het foutbericht: AADSTS70021: No matching federated identity record found for presented assertion.

Om dit probleem te voorkomen, wacht u even nadat u de federatieve identiteitsreferentie hebt toegevoegd voordat u een token aanvraagt om ervoor te zorgen dat de replicatie wordt voltooid op alle knooppunten van de autorisatieservice. We raden u ook aan om logica voor opnieuw proberen toe te voegen voor tokenaanvragen. Er moeten nieuwe pogingen worden gedaan voor elke aanvraag, zelfs nadat een token is verkregen. Uiteindelijk, nadat de gegevens volledig zijn gerepliceerd, daalt het percentage fouten.

Gelijktijdige updates worden niet ondersteund (door de gebruiker toegewezen beheerde identiteiten)

Van toepassing op: door de gebruiker toegewezen beheerde identiteiten

Als u meerdere federatieve identiteitsreferenties maakt onder dezelfde door de gebruiker toegewezen beheerde identiteit, wordt gelijktijdig detectielogica voor gelijktijdigheid geactiveerd, waardoor aanvragen mislukken met http-statuscode van 409-conflict.

Terraform Provider voor Azure (Resource Manager) versie 3.40.0 introduceert een update waarmee meerdere federatieve identiteitsreferenties opeenvolgend worden gemaakt in plaats van gelijktijdig. Versies ouder dan 3.40.0 kunnen fouten veroorzaken in pijplijnen wanneer er meerdere federatieve identiteiten worden gemaakt. U wordt aangeraden Terraform Provider te gebruiken voor Azure (Resource Manager) v3.40.0 of hoger, zodat meerdere federatieve identiteitsreferenties opeenvolgend worden gemaakt.

Wanneer u automatisering of Azure Resource Manager-sjablonen (ARM-sjablonen) gebruikt om federatieve identiteitsreferenties te maken onder dezelfde bovenliggende identiteit, maakt u de federatieve referenties sequentieel. Federatieve identiteitsreferenties onder verschillende beheerde identiteiten kunnen parallel worden gemaakt zonder beperkingen.

Als federatieve identiteitsreferenties in een lus worden ingericht, kunt u deze serieel inrichten door 'mode': 'serial' in te stellen.

U kunt ook meerdere nieuwe federatieve identiteitsreferenties sequentieel inrichten met behulp van de eigenschap dependsOn . In het volgende ARM-voorbeeld (Azure Resource Manager-sjabloon) worden drie nieuwe federatieve identiteitsreferenties opeenvolgend gemaakt voor een door de gebruiker toegewezen beheerde identiteit met behulp van de eigenschap 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-beleid

Van toepassing op: toepassingen en door de gebruiker toegewezen beheerde identiteiten

Het is mogelijk om azure Policy weigeren te gebruiken, zoals in het volgende ARM-sjabloonvoorbeeld:

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

Beperkingslimieten

Van toepassing op: door de gebruiker toegewezen beheerde identiteiten

In de volgende tabel worden limieten beschreven voor aanvragen voor de door de gebruiker toegewezen beheerde identiteiten REST APIS. Als u een beperkingslimiet overschrijdt, ontvangt u een HTTP 429-fout.

Operatie Aanvragen per seconde per Microsoft Entra-tenant Aanvragen per seconde per abonnement Aanvragen per seconde per resource
Aanvragen maken of bijwerken 10 2 0.25
Aanvragen ophalen 30 10 0.5
Lijst per resourcegroep of lijst op abonnementsaanvragen 15 5 0.25
Aanvragen verwijderen 10 2 0.25

Fouten

Van toepassing op: toepassingen en door de gebruiker toegewezen beheerde identiteiten

De volgende foutcodes kunnen worden geretourneerd bij het maken, bijwerken, verkrijgen, weergeven of verwijderen van federatieve identiteitsreferenties.

HTTP-code Foutmelding Opmerkingen
405 De aanvraagindeling was onverwacht: ondersteuning voor federatieve identiteitsreferenties is niet ingeschakeld. Federatieve identiteitsreferenties zijn niet ingeschakeld in deze regio. Raadpleeg 'Momenteel ondersteunde regio's'.
400 Federatieve identiteitsreferenties moeten precies één doelgroep hebben. Op dit moment ondersteunen federatieve identiteitsreferenties één doelgroep 'api://AzureADTokenExchange'.
400 Federatieve identiteitsreferenties van HTTP-hoofdtekst hebben lege eigenschappen Alle eigenschappen van federatieve identiteitsreferenties zijn verplicht.
400 De naam van de federatieve identiteitsreferentie {ficName} is ongeldig. Alfanumeriek, streepje, onderstrepingsteken, niet meer dan 3-120 symbolen. Het eerste symbool is alfanumeriek.
404 De bovenliggende door de gebruiker toegewezen identiteit bestaat niet. Controleer de door de gebruiker toegewezen identiteitsnaam in het resourcepad voor federatieve identiteitsreferenties.
400 De combinatie van verlener en onderwerp bestaat al voor deze beheerde identiteit. Dit is een beperking. Vermeld alle federatieve identiteitsreferenties die zijn gekoppeld aan de door de gebruiker toegewezen identiteit om bestaande federatieve identiteitsreferenties te vinden.
409 Conflict Gelijktijdige schrijfaanvraag voor federatieve identiteitsreferentiebronnen onder dezelfde door de gebruiker toegewezen identiteit is geweigerd.