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
ensubject
moet uniek zijn in de app. Wanneer de workload van de externe software Microsoft Identity Platform vraagt om het externe token voor een toegangstoken uit te wisselen, worden de waarden verlener en onderwerp van de federatieve identiteitsreferentie gecontroleerd op basis van de claimsissuer
ensubject
in het externe token. Als deze validatiecontrole is geslaagd, geeft Microsoft Identity Platform een toegangstoken uit voor de externe softwareworkload.verlener is de URL van de externe id-provider. Deze waarde moet overeenkomen met de claim
issuer
van de verlener van het externe token dat wordt uitgewisseld. Vereist. Als de claimissuer
voorloop- of volgspaties in de waarde heeft, wordt de tokenuitwisseling geblokkeerd. Dit veld heeft een tekenlimiet van 600 tekens.onderwerp is de id van de externe softwareworkload. Deze waarde moet overeenkomen met de claim
sub
(subject
) van het externe token dat wordt uitgewisseld. onderwerp heeft geen vaste indeling, omdat elke id-provider een eigen onderwerp gebruikt - soms een GUID, soms een door dubbele punt gescheiden id's, soms willekeurige tekenreeksen. Dit veld heeft een tekenlimiet van 600 tekens.Belangrijk
De waarden van de instelling onderwerp moeten exact overeenkomen met de configuratie van de GitHub-werkstroom. Anders kijkt Microsoft Identity Platform naar het binnenkomende externe token en wordt de uitwisseling voor een toegangstoken geweigerd. Er wordt geen fout weergegeven. De uitwisseling mislukt zonder fout.
Belangrijk
Als u per ongeluk de onjuiste externe workloadgegevens toevoegt in de instelling onderwerp, wordt de federatieve identiteitsreferentie gemaakt. De fout wordt pas zichtbaar wanneer de tokenuitwisseling mislukt.
Bij doelgroepen vindt u een lijst met de doelgroepen die kunnen worden weergegeven in de externe token. Vereist. U moet één doelgroepwaarde toevoegen, met een limiet van 600 tekens. De aanbevolen waarde is 'api://AzureADTokenExchange'. In de claim
aud
in het binnenkomende token staat wat Microsoft Identity Platform moet accepteren.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 opgegeven beschrijving van de federatieve identiteitsreferentie. Optioneel. 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:
- Azië - oost
- Israël - centraal
- Italië - noord
- Maleisië - zuid
- Mexico - centraal
- Qatar - centraal
- Centraal Spanje
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 Policy
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.
Operation | 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. |