Een door de gebruiker toegewezen beheerde identiteit configureren om een externe id-provider te vertrouwen
In dit artikel wordt beschreven hoe u een federatieve identiteitsreferentie beheert voor een door de gebruiker toegewezen beheerde identiteit in Microsoft Entra-id. Met de federatieve identiteitsreferentie wordt een vertrouwensrelatie gemaakt tussen een door de gebruiker toegewezen beheerde identiteit en een externe id-provider (IdP). Het configureren van een federatieve identiteitsreferentie voor een door het systeem toegewezen beheerde identiteit wordt niet ondersteund.
Nadat u uw door de gebruiker toegewezen beheerde identiteit hebt geconfigureerd om een externe IdP te vertrouwen, configureert u uw externe softwareworkload om een token uit te wisselen van de externe IdP voor een toegangstoken van het Microsoft Identity Platform. De externe workload maakt gebruik van het toegangstoken voor toegang tot met Microsoft Entra beveiligde resources zonder geheimen te hoeven beheren (in ondersteunde scenario's). Lees meer over workload-identiteitsfederatie voor meer informatie over de werkstroom voor het uitwisselen van tokens.
In dit artikel leert u hoe u federatieve identiteitsreferenties kunt maken, weergeven en verwijderen voor een door de gebruiker toegewezen beheerde identiteit.
Belangrijke overwegingen en beperkingen
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.
Lees belangrijke overwegingen en beperkingen voor federatieve identiteitsreferenties voor meer informatie over ondersteunde regio's, tijd voor het doorgeven van federatieve referentie-updates, ondersteunde verleners en meer.
Vereisten
- Als u niet bekend bent met beheerde identiteiten voor Azure-resources, raadpleegt u de sectie Overzicht. Controleer het verschil tussen een door het systeem toegewezen en door de gebruiker toegewezen beheerde identiteit.
- Als u nog geen Azure-account hebt, registreer u dan voor een gratis account voordat u verdergaat.
- Haal de informatie op voor uw externe IdP- en softwareworkload, die u nodig hebt in de volgende stappen.
- Als u een door de gebruiker toegewezen beheerde identiteit wilt maken en een federatieve identiteitsreferentie wilt configureren, heeft uw account de roltoewijzing Inzender of Eigenaar nodig.
- Een door de gebruiker toegewezen beheerde identiteit maken
- Zoek de naam van de door de gebruiker toegewezen beheerde identiteit, die u nodig hebt in de volgende stappen.
Een federatieve identiteitsreferentie configureren voor een door de gebruiker toegewezen beheerde identiteit
Navigeer in het Microsoft Entra-beheercentrum naar de door de gebruiker toegewezen beheerde identiteit die u hebt gemaakt. Selecteer onder Instellingen in de linkernavigatiebalk federatieve referenties en voeg referenties toe.
Selecteer uw scenario in de vervolgkeuzelijst Federatief referentiescenario .
GitHub Actions implementeren van Azure-resources
Volg deze stappen om een federatieve identiteit toe te voegen voor GitHub-acties:
Selecteer als Entiteitstype de optie Omgeving, Vertakking, Pull-aanvraag of Tag en geef de waarde op. De waarden moeten exact overeenkomen met de configuratie in de GitHub-werkstroom. Lees de voorbeelden voor meer informatie.
Voeg een naam toe voor de federatieve referentie.
De velden Verlener, Doelgroepen en Onderwerp-id worden automatisch ingevuld op basis van de waarden die u hebt ingevoerd.
Selecteer Toevoegen om de federatieve referentie te configureren.
Gebruik de volgende waarden uit uw door Microsoft Entra beheerde identiteit voor uw GitHub-werkstroom:
AZURE_CLIENT_ID
de client-id van de beheerde identiteitAZURE_SUBSCRIPTION_ID
de abonnements-id.In de volgende schermopname ziet u hoe u de id en abonnements-id van de beheerde identiteit kopieert.
AZURE_TENANT_ID
de map-id (tenant). Meer informatie over het vinden van uw Microsoft Entra-tenant-id.
Voorbeelden van entiteitstypen
Voorbeeld van vertakking
Voor een werkstroom die wordt geactiveerd door een push- of pull-aanvraaggebeurtenis in de hoofdaftakking:
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
Geef als Entiteitstype Vertakking op en geef 'main' op als naam GitHub-vertakking.
Voorbeeld van een omgeving
Voor taken die zijn gekoppeld aan een omgeving met de naam 'productie':
on:
push:
branches:
- main
jobs:
deployment:
runs-on: ubuntu-latest
environment: production
steps:
- name: deploy
# ...deployment-specific steps
Geef als Entiteitstype Omgeving en 'production' als GitHub-omgevingsnaam op.
Voorbeeld van een tag
Bijvoorbeeld voor een werkstroom die wordt geactiveerd door een push naar de tag met de naam 'v2':
on:
push:
# Sequence of patterns matched against refs/heads
branches:
- main
- 'mona/octocat'
- 'releases/**'
# Sequence of patterns matched against refs/tags
tags:
- v2
- v1.*
Geef als Entiteitstype tag op en geef als GitHub-tagnaam 'v2' op.
Voorbeeld van pull-aanvraag
Geef een Entiteitstype van een pull-aanvraag op voor een werkstroom die wordt geactiveerd door een pull-aanvraaggebeurtenis
Kubernetes toegang tot Azure-resources
Vul de velden URL van clusterverlener, Naamruimte, Serviceaccountnaam en Naam in:
- URL van clusterverlener is de URL van de OIDC-verlener voor het beheerde cluster of de URL van de OIDC-verlener voor een zelfbeheerd cluster.
- Naam serviceaccount is de naam van het Kubernetes-serviceaccount, dat een identiteit biedt voor processen die worden uitgevoerd in een pod.
- Naamruimte is de naamruimte van het serviceaccount.
- Naam is de naam van de federatieve referentie. U kunt deze naam later niet wijzigen.
Selecteer Toevoegen om de federatieve referentie te configureren.
Overige
Selecteer het scenario Andere verlener in de vervolgkeuzelijst.
Geef de volgende velden op (met behulp van een softwareworkload die wordt uitgevoerd in Google Cloud als voorbeeld):
- Naam is de naam van de federatieve referentie. U kunt deze naam later niet wijzigen.
- Onderwerp-id: moet overeenkomen met de claim
sub
in het token dat is uitgegeven door de externe id-provider. In dit voorbeeld met Google Cloud is onderwerp de unieke id van het serviceaccount dat u wilt gebruiken. - Verlener: moet overeenkomen met de claim
iss
in het token dat is uitgegeven door de externe id-provider. Een URL die voldoet aan de OIDC Discovery-specificatie. Microsoft Entra-id gebruikt deze verlener-URL om de sleutels op te halen die nodig zijn om het token te valideren. De verlener voor Google Cloud is "https://accounts.google.com".
Selecteer Toevoegen om de federatieve referentie te configureren.
Federatieve identiteitsreferenties weergeven voor een door de gebruiker toegewezen beheerde identiteit
Navigeer in het Microsoft Entra-beheercentrum naar de door de gebruiker toegewezen beheerde identiteit die u hebt gemaakt. Selecteer onder Instellingen in de linkernavigatiebalk en selecteer Federatieve referenties.
De federatieve identiteitsreferenties die zijn geconfigureerd voor die door de gebruiker toegewezen beheerde identiteit, worden vermeld.
Een federatieve identiteitsreferentie verwijderen uit een door de gebruiker toegewezen beheerde identiteit
Navigeer in het Microsoft Entra-beheercentrum naar de door de gebruiker toegewezen beheerde identiteit die u hebt gemaakt. Selecteer onder Instellingen in de linkernavigatiebalk en selecteer Federatieve referenties.
De federatieve identiteitsreferenties die zijn geconfigureerd voor die door de gebruiker toegewezen beheerde identiteit, worden vermeld.
Als u een specifieke federatieve identiteitsreferentie wilt verwijderen, selecteert u het pictogram Verwijderen voor die referentie.
Vereisten
- Als u niet bekend bent met beheerde identiteiten voor Azure-resources, raadpleegt u de sectie Overzicht. Controleer het verschil tussen een door het systeem toegewezen en door de gebruiker toegewezen beheerde identiteit.
- Als u nog geen Azure-account hebt, registreer u dan voor een gratis account voordat u verdergaat.
- Haal de informatie op voor uw externe IdP- en softwareworkload, die u nodig hebt in de volgende stappen.
- Als u een door de gebruiker toegewezen beheerde identiteit wilt maken en een federatieve identiteitsreferentie wilt configureren, heeft uw account de roltoewijzing Inzender of Eigenaar nodig.
- Een door de gebruiker toegewezen beheerde identiteit maken
- Zoek de naam van de door de gebruiker toegewezen beheerde identiteit, die u nodig hebt in de volgende stappen.
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie quickstart voor Bash in Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
Een federatieve identiteitsreferentie configureren voor een door de gebruiker toegewezen beheerde identiteit
Voer de opdracht az identity federated-credential create uit om een nieuwe federatieve identiteitsreferentie te maken voor uw door de gebruiker toegewezen beheerde identiteit (opgegeven door de naam). Geef de naam, verlener, onderwerp en andere parameters op.
az login
# set variables
location="centralus"
subscription="{subscription-id}"
rg="fic-test-rg"
# user assigned identity name
uaId="fic-test-ua"
# federated identity credential name
ficId="fic-test-fic-name"
# create prerequisites if required.
# otherwise make sure that existing resources names are set in variables above
az account set --subscription $subscription
az group create --location $location --name $rg
az identity create --name $uaId --resource-group $rg --location $location --subscription $subscription
# Create/update a federated identity credential
az identity federated-credential create --name $ficId --identity-name $uaId --resource-group $rg --issuer 'https://aks.azure.com/issuerGUID' --subject 'system:serviceaccount:ns:svcaccount' --audiences 'api://AzureADTokenExchange'
Federatieve identiteitsreferenties weergeven voor een door de gebruiker toegewezen beheerde identiteit
Voer de opdracht az identity federated-credential list uit om alle federatieve identiteitsreferenties te lezen die zijn geconfigureerd voor een door de gebruiker toegewezen beheerde identiteit:
az login
# Set variables
rg="fic-test-rg"
# User assigned identity name
uaId="fic-test-ua"
# Read all federated identity credentials assigned to the user-assigned managed identity
az identity federated-credential list --identity-name $uaId --resource-group $rg
Een federatieve identiteitsreferentie ophalen voor een door de gebruiker toegewezen beheerde identiteit
Voer de opdracht az identity federated-credential show uit om een federatieve identiteitsreferentie weer te geven (op id):
az login
# Set variables
rg="fic-test-rg"
# User assigned identity name
uaId="fic-test-ua"
# Federated identity credential name
ficId="fic-test-fic-name"
# Show the federated identity credential
az identity federated-credential show --name $ficId --identity-name $uaId --resource-group $rg
Een federatieve identiteitsreferentie verwijderen uit een door de gebruiker toegewezen beheerde identiteit
Voer de opdracht az identity federated-credential delete uit om een federatieve identiteitsreferentie te verwijderen onder een bestaande door de gebruiker toegewezen identiteit.
az login
# Set variables
# in Linux shell remove $ from set variable statement
$rg="fic-test-rg"
# User assigned identity name
$uaId="fic-test-ua"
# Federated identity credential name
$ficId="fic-test-fic-name"
az identity federated-credential delete --name $ficId --identity-name $uaId --resource-group $rg
Vereisten
- Als u niet bekend bent met beheerde identiteiten voor Azure-resources, raadpleegt u de sectie Overzicht. Controleer het verschil tussen een door het systeem toegewezen en door de gebruiker toegewezen beheerde identiteit.
- Als u nog geen Azure-account hebt, registreer u dan voor een gratis account voordat u verdergaat.
- Haal de informatie op voor uw externe IdP- en softwareworkload, die u nodig hebt in de volgende stappen.
- Als u een door de gebruiker toegewezen beheerde identiteit wilt maken en een federatieve identiteitsreferentie wilt configureren, heeft uw account de roltoewijzing Inzender of Eigenaar nodig.
- Als u de voorbeeldscripts wilt uitvoeren, hebt u twee opties:
- Gebruik Azure Cloud Shell, die u kunt openen met behulp van de knop Probeer het nu in de rechterbovenhoek van codeblokken.
- Voer scripts lokaal uit met Azure PowerShell, zoals wordt beschreven in de volgende sectie.
- Een door de gebruiker toegewezen beheerde identiteit maken
- Zoek de naam van de door de gebruiker toegewezen beheerde identiteit, die u nodig hebt in de volgende stappen.
Azure PowerShell lokaal configureren
Als u Azure PowerShell lokaal wilt gebruiken voor dit artikel in plaats van Cloud Shell te gebruiken:
Installeer de meest recente versie van Azure PowerShell als u dat nog niet hebt gedaan.
Meld u aan bij Azure.
Connect-AzAccount
Installeer de nieuwste versie van PowerShellGet.
Install-Module -Name PowerShellGet -AllowPrerelease
Mogelijk moet u
Exit
uit de huidige PowerShell-sessie nadat u deze opdracht voor de volgende stap hebt uitgevoerd.Installeer de
Az.ManagedServiceIdentity
module om de door de gebruiker toegewezen beheerde identiteiten in dit artikel uit te voeren.Install-Module -Name Az.ManagedServiceIdentity
Een federatieve identiteitsreferentie configureren voor een door de gebruiker toegewezen beheerde identiteit
Voer de opdracht New-AzFederatedIdentityCredentials uit om een nieuwe federatieve identiteitsreferentie te maken voor uw door de gebruiker toegewezen beheerde identiteit (opgegeven door de naam). Geef de naam, verlener, onderwerp en andere parameters op.
New-AzFederatedIdentityCredentials -ResourceGroupName azure-rg-test -IdentityName uai-pwsh01 `
-Name fic-pwsh01 -Issuer "https://kubernetes-oauth.azure.com" -Subject "system:serviceaccount:ns:svcaccount"
Federatieve identiteitsreferenties weergeven voor een door de gebruiker toegewezen beheerde identiteit
Voer de opdracht Get-AzFederatedIdentityCredentials uit om alle federatieve identiteitsreferenties te lezen die zijn geconfigureerd voor een door de gebruiker toegewezen beheerde identiteit:
Get-AzFederatedIdentityCredentials -ResourceGroupName azure-rg-test -IdentityName uai-pwsh01
Een federatieve identiteitsreferentie ophalen voor een door de gebruiker toegewezen beheerde identiteit
Voer de opdracht Get-AzFederatedIdentityCredentials uit om een federatieve identiteitsreferentie (op naam) weer te geven:
Get-AzFederatedIdentityCredentials -ResourceGroupName azure-rg-test -IdentityName uai-pwsh01 -Name fic-pwsh01
Een federatieve identiteitsreferentie verwijderen uit een door de gebruiker toegewezen beheerde identiteit
Voer de opdracht Remove-AzFederatedIdentityCredentials uit om een federatieve identiteitsreferentie te verwijderen onder een bestaande door de gebruiker toegewezen identiteit.
Remove-AzFederatedIdentityCredentials -ResourceGroupName azure-rg-test -IdentityName uai-pwsh01 -Name fic-pwsh01
Vereisten
- Als u niet bekend bent met beheerde identiteiten voor Azure-resources, raadpleegt u de sectie Overzicht. Controleer het verschil tussen een door het systeem toegewezen en door de gebruiker toegewezen beheerde identiteit.
- Als u nog geen Azure-account hebt, registreer u dan voor een gratis account voordat u verdergaat.
- Haal de informatie op voor uw externe IdP- en softwareworkload, die u nodig hebt in de volgende stappen.
- Als u een door de gebruiker toegewezen beheerde identiteit wilt maken en een federatieve identiteitsreferentie wilt configureren, heeft uw account de roltoewijzing Inzender of Eigenaar nodig.
- Een door de gebruiker toegewezen beheerde identiteit maken
- Zoek de naam van de door de gebruiker toegewezen beheerde identiteit, die u nodig hebt in de volgende stappen.
Sjabloon maken en bewerken
Resource Manager-sjablonen helpen u bij het implementeren van nieuwe of aangepaste resources die zijn gedefinieerd door een Azure-resourcegroep. Er zijn verschillende opties beschikbaar voor het bewerken en implementeren van sjablonen, zowel lokaal als op basis van een portal. U kunt:
- Gebruik een aangepaste sjabloon van Azure Marketplace, om een volledig nieuwe sjabloon te maken, of door het te baseren op een bestaande algemene sjabloon of een quickstart-sjabloon.
- Afleiden van een bestaande resourcegroep door een sjabloon te exporteren. U kunt ze exporteren vanuit de oorspronkelijke implementatie of vanuit de huidige status van de implementatie.
- Gebruik een lokale JSON-editor (zoals VS Code) en upload deze vervolgens en implementeer met behulp van PowerShell of de Azure CLI.
- Gebruik het Azure Resource Group-project van Visual Studio om een sjabloon te maken en te implementeren.
Een federatieve identiteitsreferentie configureren voor een door de gebruiker toegewezen beheerde identiteit
Federatieve identiteitsreferenties en door de bovenliggende gebruiker toegewezen identiteit kunnen worden gemaakt of bijgewerkt als een sjabloon hieronder. U kunt ARM-sjablonen implementeren vanuit Azure Portal.
Alle sjabloonparameters zijn verplicht.
Er geldt een limiet van 3-120 tekens voor de lengte van de naam van de federatieve identiteit. Het moet alfanumerieke, streepje, onderstrepingsteken zijn. Het eerste symbool is alleen alfanumeriek.
U moet precies één doelgroep toevoegen aan een federatieve identiteitsreferentie. De doelgroep wordt geverifieerd tijdens het uitwisselen van tokens. Gebruik 'api://AzureADTokenExchange' als de standaardwaarde.
Lijst-, Get- en Delete-bewerkingen zijn niet beschikbaar met een sjabloon. Raadpleeg Azure CLI voor deze bewerkingen. Standaard worden alle onderliggende federatieve identiteitsreferenties parallel gemaakt, waardoor gelijktijdigheidsdetectielogica wordt geactiveerd en de implementatie mislukt met een HTTP-statuscode van 409-conflict. Als u ze opeenvolgend wilt maken, geeft u een keten van afhankelijkheden op met behulp van de eigenschap dependsOn .
Zorg ervoor dat elke vorm van automatisering federatieve identiteitsreferenties maakt onder dezelfde bovenliggende identiteit. Federatieve identiteitsreferenties onder verschillende beheerde identiteiten kunnen parallel worden gemaakt zonder beperkingen.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {},
"parameters": {
"location": {
"type": "string",
"defaultValue": "westcentralus",
"metadata": {
"description": "Location for identities resources. FIC should be enabled in this region."
}
},
"userAssignedIdentityName": {
"type": "string",
"defaultValue": "FIC_UA",
"metadata": {
"description": "Name of the User Assigned identity (parent identity)"
}
},
"federatedIdentityCredential": {
"type": "string",
"defaultValue": "testCredential",
"metadata": {
"description": "Name of the Federated Identity Credential"
}
},
"federatedIdentityCredentialIssuer": {
"type": "string",
"defaultValue": "https://aks.azure.com/issuerGUID",
"metadata": {
"description": "Federated Identity Credential token issuer"
}
},
"federatedIdentityCredentialSubject": {
"type": "string",
"defaultValue": "system:serviceaccount:ns:svcaccount",
"metadata": {
"description": "Federated Identity Credential token subject"
}
},
"federatedIdentityCredentialAudience": {
"type": "string",
"defaultValue": " api://AzureADTokenExchange",
"metadata": {
"description": "Federated Identity Credential audience. Single value is only supported."
}
}
},
"resources": [
{
"type": "Microsoft.ManagedIdentity/userAssignedIdentities",
"apiVersion": "2018-11-30",
"name": "[parameters('userAssignedIdentityName')]",
"location": "[parameters('location')]",
"tags": {
"firstTag": "ficTest"
},
"resources": [
{
"type": "Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials",
"apiVersion": "2022-01-31-PREVIEW",
"name": "[concat(parameters('userAssignedIdentityName'), '/', parameters('federatedIdentityCredential'))]",
"dependsOn": [
"[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities', parameters('userAssignedIdentityName'))]"
],
"properties": {
"issuer": "[parameters('federatedIdentityCredentialIssuer')]",
"subject": "[parameters('federatedIdentityCredentialSubject')]",
"audiences": [
"[parameters('federatedIdentityCredentialAudience')]"
]
}
}
]
}
]
}
Vereisten
- Als u niet bekend bent met beheerde identiteiten voor Azure-resources, raadpleegt u de sectie Overzicht. Controleer het verschil tussen een door het systeem toegewezen en door de gebruiker toegewezen beheerde identiteit.
- Als u nog geen Azure-account hebt, registreer u dan voor een gratis account voordat u verdergaat.
- Haal de informatie op voor uw externe IdP- en softwareworkload, die u nodig hebt in de volgende stappen.
- Als u een door de gebruiker toegewezen beheerde identiteit wilt maken en een federatieve identiteitsreferentie wilt configureren, heeft uw account de roltoewijzing Inzender of Eigenaar nodig.
- U kunt alle opdrachten in dit artikel uitvoeren in de cloud of lokaal:
- Gebruik de Azure Cloud Shell om uit te voeren in de cloud.
- Als u lokaal wilt uitvoeren, installeert u curl en de Azure CLI.
- Een door de gebruiker toegewezen beheerde identiteit maken
- Zoek de naam van de door de gebruiker toegewezen beheerde identiteit, die u nodig hebt in de volgende stappen.
Een Bearer-toegangstoken verkrijgen
Als u lokaal uitvoert, meldt u zich aan bij Azure via de Azure CLI.
az login
Verkrijg een toegangstoken met behulp van az account get-access-token.
az account get-access-token
Een federatieve identiteitsreferentie configureren voor een door de gebruiker toegewezen beheerde identiteit
Een federatieve identiteitsreferentie maken of bijwerken voor de opgegeven door de gebruiker toegewezen beheerde identiteit.
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/provider
s/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/federatedIdenti
tyCredentials/<FEDERATED IDENTITY CREDENTIAL NAME>?api-version=2022-01-31-preview' -X PUT -d '{"properties": "{ "properties": { "issuer": "<ISSUER>", "subject": "<SUBJECT>", "audiences": [ "api://AzureADTokenExchange" ] }}"}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/federatedIdentityCredentials/<FEDERATED IDENTITY CREDENTIAL NAME>?api-version=2022-01-31-preview
{
"properties": {
"issuer": "https://oidc.prod-aks.azure.com/IssuerGUID",
"subject": "system:serviceaccount:ns:svcaccount",
"audiences": [
"api://AzureADTokenExchange"
]
}
}
Aanvraagheaders
Aanvraagheader | Beschrijving |
---|---|
Content-Type | Vereist. Ingesteld op application/json . |
Autorisatie | Vereist. Ingesteld op een geldig Bearer -toegangstoken. |
Aanvraagbody
Name | Beschrijving |
---|---|
properties.audiences | Vereist. De lijst met doelgroepen die kunnen worden weergegeven in het uitgegeven token. |
properties.issuer | Vereist. De URL van de verlener die moet worden vertrouwd. |
properties.subject | Vereist. De id van de externe identiteit. |
Federatieve identiteitsreferenties weergeven voor een door de gebruiker toegewezen beheerde identiteit
Geef alle federatieve identiteitsreferenties weer voor de opgegeven door de gebruiker toegewezen beheerde identiteit.
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials?api-version=2022-01-31-preview' -H "Content-Type: application/json" -X GET -H "Authorization: Bearer <ACCESS TOKEN>"
GET
https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials?api-version=2022-01-31-preview
Aanvraagheaders
Aanvraagheader | Beschrijving |
---|---|
Content-Type | Vereist. Ingesteld op application/json . |
Autorisatie | Vereist. Ingesteld op een geldig Bearer -toegangstoken. |
Een federatieve identiteitsreferentie ophalen voor een door de gebruiker toegewezen beheerde identiteit
Haal een federatieve identiteitsreferentie op voor de opgegeven door de gebruiker toegewezen beheerde identiteit.
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials/<FEDERATED IDENTITY CREDENTIAL RESOURCENAME>?api-version=2022-01-31-preview' -X GET -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
GET
https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials/<FEDERATED IDENTITY CREDENTIAL RESOURCENAME>?api-version=2022-01-31-preview
Aanvraagheaders
Aanvraagheader | Beschrijving |
---|---|
Content-Type | Vereist. Ingesteld op application/json . |
Autorisatie | Vereist. Ingesteld op een geldig Bearer -toegangstoken. |
Een federatieve identiteitsreferentie verwijderen uit een door de gebruiker toegewezen beheerde identiteit
Verwijder een federatieve identiteitsreferentie voor de opgegeven door de gebruiker toegewezen beheerde identiteit.
curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials/<FEDERATED IDENTITY CREDENTIAL RESOURCENAME>?api-version=2022-01-31-preview' -X DELETE -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
DELETE
https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/<RESOURCE NAME>/federatedIdentityCredentials/<FEDERATED IDENTITY CREDENTIAL RESOURCENAME>?api-version=2022-01-31-preview
Aanvraagheaders
Aanvraagheader | Beschrijving |
---|---|
Content-Type | Vereist. Ingesteld op application/json . |
Autorisatie | Vereist. Ingesteld op een geldig Bearer -toegangstoken. |
Volgende stappen
- Lees over de assertie-indeling voor informatie over de vereiste indeling van JWT's die zijn gemaakt door externe id-providers.