Configurer une identité managée affectée par l’utilisateur pour approuver un fournisseur d’identité externe
Cet article décris comment gérer les informations d’identification d’identité fédérées sur une identité managée affectée par l’utilisateur dans Microsoft Entra ID. Les informations d’identification d’identité fédérées créent une relation d’approbation entre une identité managée affectée par l’utilisateur et un fournisseur d’identité externe. La configuration d’informations d’identification d’identité fédérées sur une identité managée affectée par le système n’est pas prise en charge.
Après avoir configuré votre identité managée affectée par l’utilisateur pour approuver un fournisseur d’identité externe, configurez votre charge de travail logicielle externe pour échanger un jeton provenant du fournisseur d’identité externe contre un jeton d’accès de la plateforme d’identité Microsoft. La charge de travail externe utilise le jeton d'accès pour accéder aux ressources protégées par Microsoft Entra sans avoir besoin de gérer les secrets (dans les scénarios pris en charge). Pour en savoir plus sur le workflow d’échange de jetons, consultez l’article sur la fédération des identités de charge de travail.
Dans cet article, vous allez apprendre à créer, lister et supprimer des informations d’identification d’identité fédérées sur une identité managée affectée par l’utilisateur.
Considérations importantes et restrictions
Un maximum de 20 informations d’identification d’identité fédérées peuvent être ajoutées à une application ou à une identité managée affectée par l’utilisateur.
Quand vous configurez des informations d’identification d’identité fédérées, vous devez fournir plusieurs éléments d’information importants :
issuer et subject sont les éléments clés nécessaires à la configuration de la relation d’approbation. La combinaison de
issuer
etsubject
doit être unique sur l’application. Lorsque la charge de travail logicielle externe demande à la plateforme d’identités Microsoft d’échanger le jeton externe contre un jeton d’accès, les valeurs issuer et subject des informations d’identification de l’identité fédérée sont vérifiées par rapport aux revendicationsissuer
etsubject
fournies dans le jeton externe. Si ce contrôle de validation réussit, la plateforme d’identités Microsoft délivre un jeton d’accès à la charge de travail logicielle externe.issuer est l’URL du fournisseur d’identité externe, qui doit correspondre à la revendication
issuer
du jeton externe échangé. Obligatoire. Si la valeur de la revendicationissuer
a des espaces blancs de début ou de fin, l’échange de jetons est bloqué. Ce champ est limité à 600 caractères.subject est l’identificateur de la charge de travail logicielle externe, qui doit correspondre à la revendication
sub
(subject
) du jeton externe échangé. subject n’a pas de format fixe, car chaque fournisseur d’identité utilise son propre sujet (parfois un GUID, parfois un identificateur délimité par des points-virgules, parfois des chaînes arbitraires). Ce champ est limité à 600 caractères.Important
Le paramètre subject doit correspondre exactement à la configuration du flux de travail GitHub. Dans le cas contraire, la Plateforme d’identités Microsoft examine le jeton externe entrant et rejette l’échange contre un jeton d’accès. Vous n’obtenez pas d’erreur : l’échange échoue sans erreur.
Important
Si vous ajoutez accidentellement des informations de charge de travail externe incorrectes dans le paramètre subject, les informations d’identification de l’identité fédérée sont correctement créées sans erreur. L’erreur ne se manifeste que lorsque l’échange de jetons échoue.
audiences liste les audiences qui peuvent apparaître dans le jeton externe. Obligatoire. Vous devez ajouter une valeur d’audience unique, qui a une limite de 600 caractères. La valeur recommandée est « api://AzureADTokenExchange ». Il indique ce que la plateforme d’identités Microsoft doit accepter dans la revendication
aud
dans le jeton entrant.name est l’identificateur unique des informations d’identification d’identité fédérée. Obligatoire. Ce champ a une limite de 3-120 caractères et doit être compatible avec les URL. Les caractères alphanumériques, les tirets et les traits de soulignement sont pris en charge ; le premier caractère peut être seulement un caractère alphanumérique. Il est immuable une fois créé.
description est la description fournie par l’utilisateur des informations d’identification de l’identité fédérée. facultatif. La description n’est pas validée ou vérifiée par Microsoft Entra ID. Ce champ est limité à 600 caractères.
Les caractères génériques ne sont pris en charge dans aucune des valeurs de propriété d’informations d’identification d’identité fédérées.
Pour en savoir plus sur les régions prises en charge, sur le délai de propagation des mises à jour des informations d’identification fédérées, sur les émetteurs pris en charge et sur d’autres aspects, lisez Considérations et restrictions importantes pour les informations d’identification d’identité fédérées.
Prérequis
- Si vous n’êtes pas familiarisé avec les identités managées pour ressources Azure, consultez la section Vue d’ensemble. Veillez à consulter la différence entre les identités managées affectées par le système et celles affectées par l’utilisateur .
- Si vous n’avez pas encore de compte Azure, inscrivez-vous à un compte gratuit avant de continuer.
- Procurez-vous les informations pour votre fournisseur d’identité et votre charge de travail logicielle externe, dont vous aurez besoin lors des étapes suivantes.
- Pour créer une identité managée affectée par l’utilisateur et configurer des informations d’identification fédérées, votre compte a besoin de l’affectation de rôle Contributeur ou Propriétaire.
- Créer une identité managée attribuée par l’utilisateur
- Recherchez le nom de l’identité managée affectée par l’utilisateur, dont vous aurez besoin dans les étapes suivantes.
Créer des informations d’identification d’identité fédérées sur une identité managée affectée par l’utilisateur
Dans le Centre d’administration Microsoft Entra, accédez à l’identité managée affectée par l’utilisateur que vous avez créée. Sous Paramètres dans la barre de navigation gauche, sélectionnez Informations d’identification fédérées, puis Ajouter des informations d’identification.
Dans la zone de liste déroulante Scénario d’informations d’identification fédérées, sélectionnez votre scénario.
GitHub Actions déployant des ressources Azure
Pour ajouter une identité fédérée pour les actions GitHub, suivez ces étapes :
Pour Type d’entité, sélectionnez Environnement, Branche, Demande de tirage (pull request) ou Étiquette et spécifiez la valeur. Les valeurs doivent correspondre exactement à la configuration du workflow GitHub. Pour plus d’informations, consultez les exemples.
Donnez un Nom aux informations d’identification fédérées.
Les champs Émetteur, Audiences et Identificateur de l’objet sont remplis automatiquement à partir des valeurs entrées.
Sélectionnez Ajouter pour configurer les informations d’identification fédérées.
Utilisez les valeurs suivantes de votre identité managée Microsoft Entra pour votre workflow GitHub :
AZURE_CLIENT_ID
ID clientde l’identité managéeAZURE_SUBSCRIPTION_ID
L'ID de l'abonnement.La capture d’écran suivante montre comment copier l’ID d’identité managée et l’ID d’abonnement.
AZURE_TENANT_ID
ID de répertoire (locataire). Apprenez Comment trouver votre ID de locataire Microsoft Entra.
Exemples de types d’entité
Exemple de branche
Pour un workflow déclenché par un événement push ou une requête de tirage sur la branche principale :
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
Spécifiez le Type d’entitéBranche et le Nom de branche GitHub « main ».
Exemple d’environnement
Pour les travaux liés à un environnement nommé « production » :
on:
push:
branches:
- main
jobs:
deployment:
runs-on: ubuntu-latest
environment: production
steps:
- name: deploy
# ...deployment-specific steps
Spécifiez le Type d’entitéEnvironnement et le Nom d’environnement GitHub « production ».
Exemple de balise
Par exemple, pour un workflow déclenché par une notification push sur la balise nommée « 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.*
Spécifiez le Type d’entitéBalise et le Nom de balise GitHub « v2 ».
Exemple de requête de tirage
Pour un workflow déclenché par un événement de demande de tirage (pull request), spécifiez le Type d’entitéRequête de tirage.
Kubernetes accédant à des ressources Azure
Renseignez les champs URL de l’émetteur du cluster, Espace de noms, Nom du compte de serviceet Nom :
- L’URL de l’émetteur du cluster est l’URL de l’émetteur OIDC pour le cluster géré ou l’URL de l'émetteur OIDC pour un cluster autogéré.
- Nom du compte de service est le nom du compte de service Kubernetes, qui fournit une identité pour les processus qui s’exécutent dans une pod.
- L' espace de noms est l’espace de noms du compte de service.
- Name est le nom des informations d’identification fédérées, qui ne peuvent pas être changées ultérieurement.
Sélectionnez Ajouter pour configurer les informations d’identification fédérées.
Autres
Sélectionnez le scénario Autre émetteur dans le menu déroulant.
Spécifiez les champs suivants (à l’aide d’une charge de travail logicielle s’exécutant dans Google Cloud à titre d’exemple) :
- Name est le nom des informations d’identification fédérées, qui ne peuvent pas être changées ultérieurement.
- Identificateur de sujet : doit correspondre à la revendication
sub
dans le jeton émis par le fournisseur d’identité externe. Dans cet exemple utilisant Google Cloud, Sujet est l’ID unique du compte de service que vous prévoyez d’utiliser. - Émetteur : doit correspondre à la revendication
iss
dans le jeton émis par le fournisseur d’identité externe. URL conforme à la spécification de découverte OIDC. Microsoft Entra ID utilise cette URL d’émetteur pour récupérer les clés nécessaires à la validation du jeton. Pour Google Cloud, l’émetteur est « https://accounts.google.com".
Sélectionnez Ajouter pour configurer les informations d’identification fédérées.
Lister des informations d’identification d’identité fédérées sur une identité managée affectée par l’utilisateur
Dans le Centre d’administration Microsoft Entra, accédez à l’identité managée affectée par l’utilisateur que vous avez créée. Sous Paramètres dans la barre de navigation gauche, sélectionnez Informations d’identification fédérées.
Les informations d’identification d’identité fédérées configurées sur cette identité managée affectée par l’utilisateur sont listées.
Supprimer des informations d’identification d’identité fédérées dans une identité managée affectée par l’utilisateur
Dans le Centre d’administration Microsoft Entra, accédez à l’identité managée affectée par l’utilisateur que vous avez créée. Sous Paramètres dans la barre de navigation gauche, sélectionnez Informations d’identification fédérées.
Les informations d’identification d’identité fédérées configurées sur cette identité managée affectée par l’utilisateur sont listées.
Pour supprimer des informations d’identification d’identité fédérées spécifiques, sélectionnez l’icône Supprimer pour ces informations d’identification.
Prérequis
- Si vous n’êtes pas familiarisé avec les identités managées pour ressources Azure, consultez la section Vue d’ensemble. Veillez à consulter la différence entre les identités managées affectées par le système et celles affectées par l’utilisateur .
- Si vous n’avez pas encore de compte Azure, inscrivez-vous à un compte gratuit avant de continuer.
- Procurez-vous les informations pour votre fournisseur d’identité et votre charge de travail logicielle externe, dont vous aurez besoin lors des étapes suivantes.
- Pour créer une identité managée affectée par l’utilisateur et configurer des informations d’identification fédérées, votre compte a besoin de l’affectation de rôle Contributeur ou Propriétaire.
- Créer une identité managée attribuée par l’utilisateur
- Recherchez le nom de l’identité managée affectée par l’utilisateur, dont vous aurez besoin dans les étapes suivantes.
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour plus d’informations, consultez Démarrage rapide pour Bash dans Azure Cloud Shell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
Créer des informations d’identification d’identité fédérées sur une identité managée affectée par l’utilisateur
Exécutez la commande az identity federated-credential create pour créer des informations d’identification d’identité fédérée sur votre identité managée affectée par l’utilisateur (spécifiée par le nom). Spécifiez le nom, l'émetteur, l'objetet d’autres paramètres.
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'
Lister des informations d’identification d’identité fédérées sur une identité managée affectée par l’utilisateur
Exécutez la commande az identity federated-credential list pour lire toutes les informations d’identification d’identité fédérées configurées sur une identité managée affectée par l’utilisateur :
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
Obtenir des informations d’identification d’identité fédérées sur une identité managée affectée par l’utilisateur
Exécutez la commande az identity federated-credential show pour afficher des informations d’identification d’identité fédérées(par 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
Supprimer des informations d’identification d’identité fédérées dans une identité managée affectée par l’utilisateur
Exécutez la commande az identity federated-credential delete pour supprimer des informations d’identification d’identité fédérées configurées sous une identité managée affectée par l’utilisateur existante.
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
Prérequis
- Si vous n’êtes pas familiarisé avec les identités managées pour ressources Azure, consultez la section Vue d’ensemble. Veillez à consulter la différence entre les identités managées affectées par le système et celles affectées par l’utilisateur .
- Si vous n’avez pas encore de compte Azure, inscrivez-vous à un compte gratuit avant de continuer.
- Procurez-vous les informations pour votre fournisseur d’identité et votre charge de travail logicielle externe, dont vous aurez besoin lors des étapes suivantes.
- Pour créer une identité managée affectée par l’utilisateur et configurer des informations d’identification fédérées, votre compte a besoin de l’affectation de rôle Contributeur ou Propriétaire.
- Pour exécuter les exemples de scripts, vous avez deux options :
- Utiliser Azure Cloud Shell, que vous pouvez ouvrir en utilisant le bouton Essayer dans le coin supérieur droit des blocs de code.
- Exécutez les scripts localement avec Azure PowerShell, comme décrit dans la section suivante.
- Créer une identité managée attribuée par l’utilisateur
- Recherchez le nom de l’identité managée affectée par l’utilisateur, dont vous aurez besoin dans les étapes suivantes.
Configurer Azure PowerShell localement
Pour utiliser Azure PowerShell localement dans cet article au lieu d’utiliser Cloud Shell :
Installez la dernière version d’Azure PowerShell si ce n’est déjà fait.
Connectez-vous à Azure.
Connect-AzAccount
Installez la dernière version de PowerShellGet.
Install-Module -Name PowerShellGet -AllowPrerelease
Vous devrez peut-être quitter (
Exit
) la session PowerShell en cours après avoir exécuté cette commande, pour l’étape suivante.Installez le module
Az.ManagedServiceIdentity
pour effectuer les opérations d’identité managée affectée par l’utilisateur qui sont décrites dans cet article.Install-Module -Name Az.ManagedServiceIdentity
Créer des informations d’identification d’identité fédérées sur une identité managée affectée par l’utilisateur
Exécutez la commande New-AzFederatedIdentityCredentials pour créer des informations d’identification d’identité fédérée sur votre identité managée affectée par l’utilisateur (spécifiée par le nom). Spécifiez le nom, l'émetteur, l'objetet d’autres paramètres.
New-AzFederatedIdentityCredentials -ResourceGroupName azure-rg-test -IdentityName uai-pwsh01 `
-Name fic-pwsh01 -Issuer "https://kubernetes-oauth.azure.com" -Subject "system:serviceaccount:ns:svcaccount"
Lister des informations d’identification d’identité fédérées sur une identité managée affectée par l’utilisateur
Exécutez la commande Get-AzFederatedIdentityCredentials pour lire toutes les informations d’identification d’identité fédérée configurées sur une identité managée affectée par l’utilisateur :
Get-AzFederatedIdentityCredentials -ResourceGroupName azure-rg-test -IdentityName uai-pwsh01
Obtenir des informations d’identification d’identité fédérées sur une identité managée affectée par l’utilisateur
Exécutez la commande Get-AzFederatedIdentityCredentials pour afficher des informations d’identification d’identité fédérée (par nom) :
Get-AzFederatedIdentityCredentials -ResourceGroupName azure-rg-test -IdentityName uai-pwsh01 -Name fic-pwsh01
Supprimer des informations d’identification d’identité fédérées dans une identité managée affectée par l’utilisateur
Exécutez la commande Remove-AzFederatedIdentityCredentials pour supprimer des informations d’identification d’identité fédérée configurées sous une identité managée affectée par l’utilisateur existante.
Remove-AzFederatedIdentityCredentials -ResourceGroupName azure-rg-test -IdentityName uai-pwsh01 -Name fic-pwsh01
Prérequis
- Si vous n’êtes pas familiarisé avec les identités managées pour ressources Azure, consultez la section Vue d’ensemble. Veillez à consulter la différence entre les identités managées affectées par le système et celles affectées par l’utilisateur .
- Si vous n’avez pas encore de compte Azure, inscrivez-vous à un compte gratuit avant de continuer.
- Procurez-vous les informations pour votre fournisseur d’identité et votre charge de travail logicielle externe, dont vous aurez besoin lors des étapes suivantes.
- Pour créer une identité managée affectée par l’utilisateur et configurer des informations d’identification fédérées, votre compte a besoin de l’affectation de rôle Contributeur ou Propriétaire.
- Créer une identité managée attribuée par l’utilisateur
- Recherchez le nom de l’identité managée affectée par l’utilisateur, dont vous aurez besoin dans les étapes suivantes.
Création et modification du modèle
Les modèles Resource Manager vous aident à déployer des ressources nouvelles ou modifiées définies par un groupe de ressources Azure. Plusieurs options sont disponibles pour la modification du modèle et le déploiement, à la fois localement et sur le portail. Vous pouvez :
- Utiliser un modèle personnalisé à partir de la Place de marché Microsoft Azure pour créer un modèle à partir de zéro, ou à partir d’un modèle commun existant ou d’un modèle de démarrage rapide.
- Dérivez d’un groupe de ressources existant en exportant un modèle. Vous pouvez les exporter à partir du déploiement d’origine ou à partir de l’état actuel du déploiement.
- Utiliser un éditeur local JSON (VS Code, par exemple), puis télécharger et déployer à l’aide de PowerShell ou d’Azure CLI.
- Utiliser le projet de groupe de ressources Azure de Visual Studio pour créer et déployer un modèle.
Créer des informations d’identification d’identité fédérées sur une identité managée affectée par l’utilisateur
Les informations d’identification d’identité fédérées et l’identité affectée par l’utilisateur parente peuvent être créées ou mises à jour au moyen du modèle ci-dessous. Vous pouvez déployer des modèles ARM à partir du portail Azure.
Tous les paramètres du modèle sont obligatoires.
Il existe une limite de 3-120 caractères pour la longueur du nom des informations d’identification d’identité fédérées. Il doit être constitué de caractères alphanumériques, de tirets et de traits de soulignement. Le premier symbole doit être seulement un caractère alphanumérique.
Vous devez ajouter exactement une audience aux informations d’identification d’identité fédérée. L’audience est vérifiée durant l’échange de jetons. Utilisez « api://AzureADTokenExchange » comme valeur par défaut.
Les opérations Lister, Obtenir et Supprimer ne sont pas disponibles avec le modèle. Reportez-vous à Azure CLI pour ces opérations. Par défaut, toutes les informations d’identification d’identité fédérées enfants sont créées en parallèle, ce qui déclenche la logique de détection de concurrence et provoque l’échec du déploiement avec un code d’état HTTP de conflit 409. Pour les créer de façon séquentielle, spécifiez une chaîne de dépendances en utilisant la propriété dependsOn.
Vérifiez que les automatisations créent des informations d’identification d’identité fédérées sous la même identité parente de façon séquentielle. Les informations d’identification d’identité fédérées sous différentes identités managées peuvent être créées en parallèle sans aucune restriction.
{
"$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')]"
]
}
}
]
}
]
}
Prérequis
- Si vous n’êtes pas familiarisé avec les identités managées pour ressources Azure, consultez la section Vue d’ensemble. Veillez à consulter la différence entre les identités managées affectées par le système et celles affectées par l’utilisateur .
- Si vous n’avez pas encore de compte Azure, inscrivez-vous à un compte gratuit avant de continuer.
- Procurez-vous les informations pour votre fournisseur d’identité et votre charge de travail logicielle externe, dont vous aurez besoin lors des étapes suivantes.
- Pour créer une identité managée affectée par l’utilisateur et configurer des informations d’identification fédérées, votre compte a besoin de l’affectation de rôle Contributeur ou Propriétaire.
- Vous pouvez exécuter toutes les commandes de cet article dans le cloud ou localement :
- Pour exécuter dans le cloud, utilisez Azure Cloud Shell.
- Pour une exécution locale, installez curl et Azure CLI.
- Créer une identité managée attribuée par l’utilisateur
- Recherchez le nom de l’identité managée affectée par l’utilisateur, dont vous aurez besoin dans les étapes suivantes.
Obtenir un jeton d’accès de porteur
Si vous travaillez localement, connectez-vous à Azure via Azure CLI.
az login
Obtenir un jeton d’accès en utilisant az account get-access-token.
az account get-access-token
Créer des informations d’identification d’identité fédérées sur une identité managée affectée par l’utilisateur
Créez ou mettez à jour des informations d’identification d’identité fédérée sur l’identité managée affectée par l’utilisateur spécifiée.
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"
]
}
}
En-têtes de requête
En-tête de requête | Description |
---|---|
Content-Type | Obligatoire. Défini sur application/json . |
Autorisation | Obligatoire. Défini sur un jeton d’accès Bearer valide. |
Corps de la demande
Nom | Description |
---|---|
properties.audiences | Obligatoire. Liste des audiences qui peuvent apparaître dans le jeton émis. |
properties.issuer | Obligatoire. URL de l’émetteur à approuver. |
properties.subject | Obligatoire. Identificateur de l’identité externe. |
Lister des informations d’identification d’identité fédérées sur une identité managée affectée par l’utilisateur
Listez toutes les informations d’identification d’identité fédérée sur l’identité managée affectée par l’utilisateur spécifiée.
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
En-têtes de requête
En-tête de requête | Description |
---|---|
Content-Type | Obligatoire. Défini sur application/json . |
Autorisation | Obligatoire. Défini sur un jeton d’accès Bearer valide. |
Obtenir des informations d’identification d’identité fédérées sur une identité managée affectée par l’utilisateur
Obtenez des informations d’identification d’identité fédérée sur l’identité managée affectée par l’utilisateur spécifiée.
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
En-têtes de requête
En-tête de requête | Description |
---|---|
Content-Type | Obligatoire. Défini sur application/json . |
Autorisation | Obligatoire. Défini sur un jeton d’accès Bearer valide. |
Supprimer des informations d’identification d’identité fédérées dans une identité managée affectée par l’utilisateur
Supprimez les informations d’identification d’une identité fédérée sur l’identité managée affectée par l’utilisateur spécifiée.
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
En-têtes de requête
En-tête de requête | Description |
---|---|
Content-Type | Obligatoire. Défini sur application/json . |
Autorisation | Obligatoire. Défini sur un jeton d’accès Bearer valide. |
Étapes suivantes
- Pour des informations sur le format requis des jetons JWT créés par des fournisseurs d’identité externes, lisez l’article sur le format d’assertion.