Configuración de una aplicación para confiar en un proveedor de identidades externo
Artículo
En este artículo se describe cómo administrar una credencial de identidad federada en una aplicación en Microsoft Entra ID. La credencial de identidad federada crea una relación de confianza entre una aplicación y un proveedor de identidades externo (IdP).
Después, puede configurar una carga de trabajo de software externo para intercambiar un token desde el IdP externo para un token de acceso desde la plataforma de identidad de Microsoft. La carga de trabajo externa puede acceder a los recursos protegidos de Microsoft Entra sin necesidad de administrar secretos (en escenarios admitidos). Para más información sobre el flujo de trabajo de intercambio de tokens, lea sobre la federación de identidades de carga de trabajo.
En este artículo, aprenderá a crear, enumerar y eliminar credenciales de identidad federada en una aplicación de Microsoft Entra ID.
Se pueden agregar un máximo de 20 credenciales de identidad federada a una aplicación o a una identidad administrada asignada por el usuario.
Al configurar una credencial de identidad federada, hay varios fragmentos importantes de información que proporcionar:
emisor y sujeto son los elementos clave de información necesarios para configurar la relación de confianza. La combinación de issuer y subject debe ser única en la aplicación. Cuando la carga de trabajo de software externo solicita a la plataforma de identidad de Microsoft que intercambie el token externo por un token de acceso, los valores de emisor y de sujeto de la credencial de identidad federada se verifican frente a las reclamaciones issuer y subject proporcionadas en el token externo. Si se supera esa comprobación de validación, la plataforma de identidad de Microsoft emite un token de acceso a la carga de trabajo de software externo.
emisor es la dirección URL del proveedor de identidades externo y debe coincidir con la notificación issuer del token externo que se intercambia. Obligatorio. Si la reclamación issuer tiene espacios en blanco iniciales o finales en el valor, se bloquea el intercambio de token. Este campo tiene un límite de caracteres de 600 caracteres.
sujeto es el identificador de la carga de trabajo de software externo y debe coincidir con la notificación sub (subject) del token externo que se intercambia. El asunto no tiene un formato fijo, ya que cada IdP usa su propio formato: a veces un GUID, a veces un identificador delimitado por dos puntos, a veces cadenas arbitrarias. Este campo tiene un límite de caracteres de 600 caracteres.
Importante
Los valores de configuración del asunto deben coincidir exactamente con la configuración del flujo de trabajo de GitHub. De lo contrario, la plataforma de identidad de Microsoft examinará el token externo entrante y rechazará el intercambio de un token de acceso. No se producirá un error, se producirá un error en el intercambio sin errores.
Importante
Si agrega accidentalmente la información de carga de trabajo externa incorrecta en la configuración del sujeto, la credencial de identidad federada se crea correctamente sin errores. El error no se vuelve evidente hasta que se produce un error en el intercambio de tokens.
audiences enumera las audiencias que pueden aparecer en el token externo. Obligatorio. Debe agregar un único valor de audiencia, que tiene un límite de 600 caracteres. El valor recomendado es "api://AzureADTokenExchange". Indica qué plataforma de identidad de Microsoft debe aceptar en la notificación aud en el token entrante.
nombre es el identificador único de la credencial de identidad federada. Obligatorio. Este campo tiene un límite de 3 a 120 caracteres y debe ser compatible con URL. Se admiten caracteres alfanuméricos, guiones o caracteres de subrayado; el primer carácter solo debe ser alfanumérico. Es inmutable una vez creado.
descripción es la descripción proporcionada por el usuario de la credencial de identidad federada. Opcional. Microsoft Entra ID no valida ni comprueba la descripción. Este campo tiene un límite de 600 caracteres.
Los caracteres comodín no se admiten en ningún valor de propiedad de credencial de identidad federada.
Busque el identificador de objeto de la aplicación (no el identificador de aplicación (cliente), que necesita en los pasos siguientes. Puede encontrar el identificador de objeto de la aplicación en el Centro de administración de Microsoft Entra. Vaya a la lista de registros de aplicaciones y seleccione el registro de la aplicación. En Información general, puede encontrar el ID de objeto .
Obtenga la información de subject e issuer para el IdP externo y la carga de trabajo de software, que necesitará en los pasos siguientes.
Configuración de una credencial de identidad federada en una aplicación
Acciones de GitHub
Para agregar una identidad federada para las acciones de GitHub, siga estos pasos:
Busque el registro de la aplicación en la sección de registros de aplicaciones del Centro de administración de Microsoft Entra. Seleccione certificados & y secretos en el panel de navegación izquierdo, seleccione la pestaña credenciales federadas y seleccione Agregar credencial.
En el cuadro desplegable Escenario de credencial federada, seleccioneAcciones de GitHub que implementan recursos de Azure.
Especifique la organización y el repositorio para su flujo de trabajo de Acciones de GitHub.
En Tipo de entidad, seleccione Entorno, Rama, Solicitud de incorporación de cambios o Etiqueta y especifique el valor. Los valores deben coincidir exactamente con la configuración del flujo de trabajo de GitHub . No se admite la coincidencia de patrones para ramas y etiquetas. Especifique un entorno si el flujo de trabajo de inserción se ejecuta en varias ramas o etiquetas. Para obtener más información, lea los ejemplos de .
Agregue un Nombre a la credencial federada.
Los campos de Emisor, Audiencias e Identificador de sujeto se rellenarán automáticamente en función de los valores especificados.
Seleccione Agregar para configurar la credencial federada.
Use los siguientes valores del registro de la aplicación Microsoft Entra para el flujo de trabajo de GitHub:
AZURE_CLIENT_ID: el identificador de la aplicación (cliente)
AZURE_TENANT_ID: el identificador del directorio (inquilino)
En la captura de pantalla siguiente se muestra cómo copiar el identificador de aplicación y el identificador de inquilino.
AZURE_SUBSCRIPTION_ID: el identificador de la suscripción. Para obtener el identificador de la suscripción, abra Suscripciones en Azure Portal y busque la suscripción. A continuación, copie el ID de suscripción .
Ejemplos de tipos de entidad
Ejemplo de rama
Para un flujo de trabajo desencadenado por un evento de envío de cambios o de solicitud de incorporación de cambios en la rama principal:
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
Especifique Rama en Tipo de entidad y "main" en Nombre de rama de GitHub.
Ejemplo de entorno
Para trabajos vinculados a un entorno denominado "producción":
on:
push:
branches:
- main
jobs:
deployment:
runs-on: ubuntu-latest
environment: production
steps:
- name: deploy
# ...deployment-specific steps
Especifique Entorno en Tipo de entidad y "production" en Nombre del entorno de GitHub.
Ejemplo de etiqueta
Por ejemplo, para un flujo de trabajo desencadenado por una inserción en la etiqueta denominada "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.*
Especifique Etiqueta en Tipo de entidad y "v2" en Nombre de etiqueta de GitHub.
Ejemplo de solicitud de incorporación de cambios
En el caso de los flujos de trabajo desencadenados por un evento de solicitud de incorporación de cambios, especifique un tipo de entidad en Solicitud de incorporación de cambios.
Kubernetes
Busque el registro de la aplicación en la sección de registros de aplicaciones del Centro de administración de Microsoft Entra. Seleccione Certificados & secretos en el panel de navegación izquierdo, seleccione la pestaña Credenciales federadas y seleccione Agregar credencial.
Seleccione el escenario Kubernetes de acceso a recursos de Azure en el menú desplegable.
Rellene los campos Dirección URL del emisor del clúster, Espacio de nombres, Nombre de la cuenta de servicio y Nombre:
Nombre de cuenta de servicio es el nombre de la cuenta de servicio de Kubernetes, que proporciona una identidad para los procesos que se ejecutan en un Pod.
El campo Espacio de nombres es el espacio de nombres de la cuenta de servicio.
Nombre es el nombre de la credencial federada, que no se puede cambiar más adelante.
Otros proveedores de identidades
Busque el registro de la aplicación en la sección de registros de aplicaciones del Centro de administración de Microsoft Entra. Seleccione Certificados y secretos en el panel de navegación izquierdo, seleccione la pestaña Credenciales federadas y seleccione Agregar credencial.
Seleccione el escenario Otro emisor en el menú desplegable.
Especifique los siguientes campos (mediante una carga de trabajo de software que se ejecuta en Google Cloud como ejemplo):
Nombre es el nombre de la credencial federada, que no se puede cambiar más adelante.
Identificador de sujeto: debe coincidir con la notificación sub del token emitido por el proveedor de identidades externo. En este ejemplo con Google Cloud, asunto es el identificador único de la cuenta de servicio que planea usar.
Emisor: debe coincidir con la notificación iss del token emitido por el proveedor de identidades externo. Dirección URL que cumple con la especificación de detección de OIDC. Microsoft Entra ID usa esta dirección URL del emisor para capturar las claves necesarias para validar el token. Para Google Cloud, el emisor es https://accounts.google.com.
Enumeración de credenciales de identidad federada en una aplicación
Busque el registro de la aplicación en la sección de registros de aplicaciones del Centro de administración de Microsoft Entra. Seleccione certificados & secretos en el panel de navegación izquierdo y seleccione la pestaña credenciales federadas . Se muestran las credenciales federadas configuradas en la aplicación.
Eliminación de una credencial de identidad federada de una aplicación
Busque el registro de la aplicación en la sección de registros de aplicaciones del Centro de administración de Microsoft Entra. Seleccione certificados & secretos en el panel de navegación izquierdo y seleccione la pestaña credenciales federadas . Se muestran las credenciales federadas configuradas en la aplicación.
Para eliminar una credencial de identidad federada, seleccione el icono eliminar para la credencial.
Configuración de una credencial de identidad federada flexible (versión preliminar)
Vaya a Microsoft Entra ID y seleccione la aplicación donde desea configurar la credencial de identidad federada.
En el panel de navegación izquierdo, seleccione Certificados y secretos.
En la pestaña credenciales federadas, seleccione + Agregar credencial.
En la ventana Agregar una credencial que aparece, en el menú desplegable al lado de Escenario de credenciales federadas, seleccione Otro emisor.
En Valor introduzca la expresión de coincidencia de notificaciones que desea usar.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale Azure CLI. Si se ejecuta en Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor de Docker. Para más información, consulte Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Para finalizar el proceso de autenticación, siga los pasos que se muestran en el terminal. Para ver otras opciones de inicio de sesión, consulte iniciar sesión con la CLI de Azure.
Cuando se le solicite, instale la extensión de la CLI de Azure en el primer uso. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
Crear un registro de aplicación en Microsoft Entra ID. Autorice a su aplicación el acceso a los recursos de Azure asociados con la carga de trabajo de su software externo.
Busque el identificador de objeto, el identificador de aplicación (cliente) o el identificador URI de la aplicación, que necesita en los pasos siguientes. Puede encontrar estos valores en el Centro de administración de Microsoft Entra . Vaya a la lista de aplicaciones registradas y seleccione el registro de la aplicación. En Información general:>Essentials, obtenga el identificador de objeto, el identificador de aplicación (cliente) o el valor de URI de Id. de aplicación, que necesitará en los pasos siguientes.
Obtenga la información de subject e issuer para el IdP externo y la carga de trabajo de software, que necesitará en los pasos siguientes.
Configuración de una credencial de identidad federada en una aplicación
El parámetro id especifica el identificador URI, el identificador de aplicación o el identificador de objeto de la aplicación. El parámetro parameters especifica los parámetros, en formato JSON, para crear la credencial de identidad federada.
Ejemplo de Acciones de GitHub
El nombre especifica el nombre de su credencial de identidad federada.
El emisor identifica la ruta de acceso al proveedor OIDC de GitHub: https://token.actions.githubusercontent.com/. Este emisor se vuelve confiable para tu aplicación de Azure.
El sujeto identifica la organización GitHub, el repositorio y el entorno del flujo de trabajo de Acciones de GitHub. Cuando el flujo de trabajo de Acciones de GitHub solicita a la plataforma de identidad de Microsoft que intercambie un token de GitHub para un token de acceso, los valores de la credencial de identidad federada se comprueban con el token de GitHub proporcionado. Antes de que Azure conceda un token de acceso, la solicitud debe coincidir con las condiciones definidas aquí.
Para trabajos vinculados a un entorno: repo:< Organization/Repository >:environment:< Name >
En el caso de los trabajos no vinculados a un entorno, incluya la ruta de acceso de referencia para una rama o etiqueta en función de la ruta de acceso de referencia usada para desencadenar el flujo de trabajo: repo:< Organization/Repository >:ref:< ref path>. Por ejemplo, repo:n-username/ node_express:ref:refs/heads/my-branch o repo:n-username/ node_express:ref:refs/tags/my-tag.
Para los flujos de trabajo activados por un evento de pull request: repo:< Organization/Repository >:pull-request.
az ad app federated-credential create --id 00001111-aaaa-2222-bbbb-3333cccc4444 --parameters credential.json
("credential.json" contains the following content)
{
"name": "Testing",
"issuer": "https://token.actions.githubusercontent.com",
"subject": "repo:octo-org/octo-repo:environment:Production",
"description": "Testing",
"audiences": [
"api://AzureADTokenExchange"
]
}
Ejemplo de Kubernetes
La URL del emisor de tu cuenta de servicio es el emisor (la URL del emisor de OIDC para el clúster administrado o la URL del emisor de OIDC para un clúster autoadministrado).
El sujeto indica el nombre del sujeto en los tokens emitidos para la cuenta de servicio. Kubernetes usa el siguiente formato para los nombres de sujeto: system:serviceaccount:<SERVICE_ACCOUNT_NAMESPACE>:<SERVICE_ACCOUNT_NAME>.
El nombre es el nombre de la credencial federada, que no se puede cambiar más adelante.
Las audiencias muestran los valores que pueden aparecer en el token externo. Este campo es obligatorio. El valor recomendado es api://AzureADTokenExchange.
az ad app federated-credential create --id 00001111-aaaa-2222-bbbb-3333cccc4444 --parameters credential.json
("credential.json" contains the following content)
{
"name": "Kubernetes-federated-credential",
"issuer": "https://aksoicwesteurope.blob.core.windows.net/aaaabbbb-0000-cccc-1111-dddd2222eeee/",
"subject": "system:serviceaccount:erp8asle:pod-identity-sa",
"description": "Kubernetes service account federated credential",
"audiences": [
"api://AzureADTokenExchange"
]
}
Ejemplo de otros proveedores de identidades
Puede configurar una credencial de identidad federada en una aplicación y crear una relación de confianza con otros proveedores de identidades externos. En el ejemplo siguiente se usa una carga de trabajo de software que se ejecuta en Google Cloud como ejemplo:
name es el nombre de la credencial federada, que no se puede cambiar más adelante.
id: el identificador de objeto, el identificador de aplicación (cliente) o el identificador URI de la aplicación.
subject: debe coincidir con la reclamación sub en el token emitido por el proveedor de identidades externo. En este ejemplo con Google Cloud, asunto es el identificador único de la cuenta de servicio que planea usar.
issuer: debe coincidir con la reclamación iss en el token emitido por el proveedor de identidades externo. Dirección URL que cumple con la especificación de detección de OIDC. Microsoft Entra ID usa esta dirección URL del emisor para capturar las claves necesarias para validar el token. Para Google Cloud, el emisor es https://accounts.google.com.
audiences: enumera las audiencias que pueden estar presentes en el token externo. Este campo es obligatorio. El valor recomendado es "api://AzureADTokenExchange".
az ad app federated-credential create --id 00001111-aaaa-2222-bbbb-3333cccc4444 --parameters credential.json
("credential.json" contains the following content)
{
"name": "GcpFederation",
"issuer": "https://accounts.google.com",
"subject": "112633961854638529490",
"description": "Test GCP federation",
"audiences": [
"api://AzureADTokenExchange"
]
}
Enumeración de credenciales de identidad federada en una aplicación
El parámetro id especifica el identificador URI, el identificador de aplicación o el identificador de objeto de la aplicación.
El federated-credential-id especifica el identificador o el nombre de la credencial de identidad federada.
az ad app federated-credential delete --id 00001111-aaaa-2222-bbbb-3333cccc4444 --federated-credential-id c79f8feb-a9db-4090-85f9-90d820caa0eb
Prerrequisitos
Para ejecutar los scripts de ejemplo, tiene dos opciones:
Use Azure Cloud Shell, que puede abrir mediante el botón Probar, ubicado en la esquina superior derecha de los bloques de código.
Ejecute scripts localmente con Azure PowerShell, como se describe en la sección siguiente.
Crear un registro de aplicación en Microsoft Entra ID. Conceda a su aplicación acceso a los recursos de Azure destinados a la carga de trabajo de software externo.
Busque el identificador de objeto de la aplicación (no el identificador de aplicación (cliente), que necesita en los pasos siguientes. Puede encontrar el identificador de objeto de la aplicación en el Centro de administración de Microsoft Entra. Vaya a la lista de aplicaciones registradas y seleccione el registro de la aplicación. En el apartado Introducción->Essentials, busque el ID de objeto .
Obtenga la información de subject e issuer para el IdP externo y la carga de trabajo de software, que necesitará en los pasos siguientes.
Configuración local de Azure PowerShell
Para usar Azure PowerShell localmente para este artículo en lugar de usar Cloud Shell:
Configuración de una credencial de identidad federada en una aplicación
Ejecute el cmdlet New-AzADAppFederatedCredential para crear una nueva credencial de identidad federada en una aplicación.
Ejemplo de Acciones de GitHub
ApplicationObjectId: el ID del objeto de la app (no el ID de la aplicación (cliente)) que registraste previamente en Microsoft Entra ID.
Emisor identifica a GitHub como el emisor de tokens externos.
Subject identifica la organización, el repositorio y el entorno de GitHub para el flujo de trabajo de GitHub Actions. Cuando el flujo de trabajo de Acciones de GitHub solicita a la plataforma de identidad de Microsoft que intercambie un token de GitHub para un token de acceso, los valores de la credencial de identidad federada se comprueban con el token de GitHub proporcionado.
Para trabajos vinculados a un entorno: repo:< Organization/Repository >:environment:< Name >
En el caso de los trabajos no vinculados a un entorno, incluya la ruta de acceso de referencia para una rama o etiqueta en función de la ruta de acceso de referencia usada para desencadenar el flujo de trabajo: repo:< Organization/Repository >:ref:< ref path>. Por ejemplo, repo:n-username/ node_express:ref:refs/heads/my-branch o repo:n-username/ node_express:ref:refs/tags/my-tag.
Para los flujos de trabajo desencadenados por un evento de pull request: repo:< Organization/Repository >:pull-request.
Nombre es el nombre de la credencial federada, que no se puede cambiar más adelante.
Las audiencias muestran los valores que pueden aparecer en el token externo. Este campo es obligatorio. El valor recomendado es api://AzureADTokenExchange.
ApplicationObjectId: el identificador de objeto de la aplicación (que no es el ID de aplicación (cliente)) que registró anteriormente en Microsoft Entra ID.
Emisor es su URL de emisor de la cuenta de servicio (la URL de emisor de OIDC para el clúster administrado o la URL de emisor de OIDC para un clúster autoadministrado).
Sujeto indica el nombre del sujeto en los tokens emitidos para la cuenta de servicio. Kubernetes usa el siguiente formato para los nombres de sujeto: system:serviceaccount:<SERVICE_ACCOUNT_NAMESPACE>:<SERVICE_ACCOUNT_NAME>.
Nombre es el nombre de la credencial federada, que no se puede cambiar más adelante.
Audience muestra los valores que pueden aparecer en la solicitud aud del token externo.
Especifique los parámetros siguientes (mediante una carga de trabajo de software que se ejecuta en Google Cloud como ejemplo):
ObjectID: el ID de objeto de la aplicación (no el ID de la aplicación (cliente)) que registraste anteriormente en Microsoft Entra ID.
Nombre es el nombre de la credencial federada, que no se puede cambiar más adelante.
Sujeto: debe coincidir con la notificación sub del token emitido por el proveedor de identidades externo. En este ejemplo con Google Cloud, asunto es el identificador único de la cuenta de servicio que planea usar.
Emisor: debe coincidir con la notificación iss del token emitido por el proveedor de identidades externo. Dirección URL que cumple con la especificación de detección de OIDC. Microsoft Entra ID usa esta dirección URL del emisor para capturar las claves necesarias para validar el token. Para Google Cloud, el emisor es https://accounts.google.com.
Audiences: debe coincidir con la notificación aud del token externo. Por motivos de seguridad, debe elegir un valor único para los tokens diseñados para el identificador de Microsoft Entra. El valor recomendado es "api://AzureADTokenExchange".
Crear un registro de aplicaciones en Microsoft Entra ID. Conceda a su aplicación acceso a los recursos de Azure destinados a la carga de trabajo de software externo.
Busque el identificador de objeto de la aplicación (no el identificador de aplicación (cliente), que necesita en los pasos siguientes. Puede encontrar el identificador de objeto de la aplicación en el Centro de administración de Microsoft Entra. Vaya a la lista de aplicaciones registradas y seleccione el registro de la aplicación. En Información general->Essentials, busque el id. de objeto.
Obtenga la información de subject e issuer para el IdP externo y la carga de trabajo de software, que necesitará en los pasos siguientes.
El punto de conexión beta de Microsoft Graph (https://graph.microsoft.com) muestra las API REST para crear, actualizar y eliminar federatedIdentityCredentials en las aplicaciones. Inicie Azure Cloud Shell e inicie sesión en tu inquilino para ejecutar comandos de Microsoft Graph desde la CLI de AZ.
Configuración de una credencial de identidad federada en una aplicación
Acciones de GitHub
Ejecute el método siguiente para crear una nueva credencial de identidad federada en la aplicación (especificado por el identificador de objeto de la aplicación). El issuer identifica GitHub como emisor de tokens externos. subject identifica la organización, el repositorio y el entorno de GitHub para el flujo de trabajo de Acciones de GitHub. Cuando el flujo de trabajo de Acciones de GitHub solicita a la plataforma de identidad de Microsoft que intercambie un token de GitHub para un token de acceso, los valores de la credencial de identidad federada se comprueban con el token de GitHub proporcionado.
az rest --method POST --uri 'https://graph.microsoft.com/applications/00001111-aaaa-2222-bbbb-3333cccc4444/federatedIdentityCredentials' --body '{"name":"Testing","issuer":"https://token.actions.githubusercontent.com","subject":"repo:octo-org/octo-repo:environment:Production","description":"Testing","audiences":["api://AzureADTokenExchange"]}'
En el fragmento de código, los parámetros son los siguientes:
name: el nombre de la aplicación de Azure.
issuer: ruta de acceso al proveedor OIDC de GitHub: https://token.actions.githubusercontent.com. Este emisor se convierte en confiable para tu aplicación de Azure.
subject: antes de que Azure conceda un token de acceso, la solicitud debe coincidir con las condiciones definidas aquí.
Para trabajos vinculados a un entorno: repo:< Organization/Repository >:environment:< Name >
En el caso de los trabajos no vinculados a un entorno, incluya la ruta de acceso de referencia para una rama o etiqueta en función de la ruta de acceso de referencia usada para desencadenar el flujo de trabajo: repo:< Organization/Repository >:ref:< ref path>. Por ejemplo, repo:n-username/ node_express:ref:refs/heads/my-branch o repo:n-username/ node_express:ref:refs/tags/my-tag.
Para los flujos de trabajo desencadenados por un evento de pull request: repo:< Organization/Repository >:pull-request.
audiences enumera las audiencias que pueden estar presentes en el token externo. Este campo es obligatorio. El valor recomendado es "api://AzureADTokenExchange".
Ejemplo de Kubernetes
Ejecute el siguiente método para configurar una credencial de identidad federada en una aplicación y crear una relación de confianza con una cuenta de servicio de Kubernetes. Especifique los parámetros siguientes:
issuer es la URL del emisor de la cuenta de servicio (la URL del emisor de OIDC para el clúster administrado o la URL del emisor de OIDC para un clúster autoadministrado).
subject indica el nombre del sujeto en los tokens emitidos para la cuenta de servicio. Kubernetes usa el siguiente formato para los nombres de sujetos: system:serviceaccount:<SERVICE_ACCOUNT_NAMESPACE>:<SERVICE_ACCOUNT_NAME>.
name es el nombre de la credencial federada, que no se puede cambiar más adelante.
audiences enumera las audiencias que pueden estar presentes en el token externo. Este campo es obligatorio. El valor recomendado es "api://AzureADTokenExchange".
az rest --method POST --uri 'https://graph.microsoft.com/applications/00001111-aaaa-2222-bbbb-3333cccc4444/federatedIdentityCredentials' --body '{"name":"Kubernetes-federated-credential","issuer":"https://aksoicwesteurope.blob.core.windows.net/aaaabbbb-0000-cccc-1111-dddd2222eeee/","subject":"system:serviceaccount:erp8asle:pod-identity-sa","description":"Kubernetes service account federated credential","audiences":["api://AzureADTokenExchange"]}'
Ejecute el método siguiente para configurar una credencial de identidad federada en una aplicación y crear una relación de confianza con un proveedor de identidades externo. Especifique los parámetros siguientes (mediante una carga de trabajo de software que se ejecuta en Google Cloud como ejemplo):
nombre es el nombre de la credencial federada, que no se puede cambiar más adelante.
ObjectID: el ID del objeto de la aplicación (que no es el ID de la aplicación (cliente)) que registraste anteriormente en Microsoft Entra ID.
sujeto: debe coincidir con la notificación sub del token emitido por el proveedor de identidades externo. En este ejemplo con Google Cloud, asunto es el identificador único de la cuenta de servicio que planea usar.
emisor: debe coincidir con la notificación iss del token emitido por el proveedor de identidades externo. Dirección URL que cumple con la especificación de detección de OIDC. Microsoft Entra ID usa esta dirección URL del emisor para capturar las claves necesarias para validar el token. En el caso de Google Cloud, el valor de emisor es "https://accounts.google.com".
audiences enumera las audiencias que pueden aparecer en el token externo. Este campo es obligatorio. El valor recomendado es "api://AzureADTokenExchange".
az rest --method POST --uri 'https://graph.microsoft.com/applications/<ObjectID>/federatedIdentityCredentials' --body '{"name":"GcpFederation","issuer":"https://accounts.google.com","subject":"112633961854638529490","description":"Testing","audiences":["api://AzureADTokenExchange"]}'
az rest -m GET -u 'https://graph.microsoft.com/applications/00001111-aaaa-2222-bbbb-3333cccc4444//federatedIdentityCredentials/00aa00aa-bb11-cc22-dd33-44ee44ee44ee'
Lea la documentación de acciones de GitHub para obtener más información sobre cómo configurar el flujo de trabajo de Acciones de GitHub para obtener un token de acceso del proveedor de identidades de Microsoft y acceder a los recursos de Azure.
Para obtener información sobre el formato necesario de los JWT creados por proveedores de identidades externos, consulte la información sobre el formato de aserción.
Aprenda a crear y administrar identidades de carga de trabajo, así como a concederlas permisos, lo que permite que los flujos de trabajo de implementación se autentiquen de forma segura en Azure.
Muestre las características de Microsoft Entra ID para modernizar las soluciones de identidad, implementar soluciones híbridas e implementar la gobernanza de identidades.