Crear federatedIdentityCredential

Espacio de nombres: microsoft.graph

Importante

Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.

Cree un nuevo objeto federatedIdentityCredential para una aplicación o un agentIdentityBlueprint.

Al configurar una relación de confianza entre el modelo de identidad de agente o registro de aplicación de Microsoft Entra y el proveedor de identidad de su plataforma de proceso, puede usar tokens emitidos por esa plataforma para autenticarse con la Plataforma de identidad de Microsoft y las API de llamadas en el ecosistema de Microsoft. Se puede agregar un máximo de 20 objetos a un plano técnico de identidad de agente o aplicación.

Esta API está disponible en las siguientes implementaciones en la nube nacional.

Servicio global Administración pública de EE. UU. Gobierno de EE. UU. L5 (DOD) China operado por 21Vianet
✅ ✅ ✅ ✅

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use uno o varios permisos con privilegios más altos solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.

Permisos para una aplicación

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) Application.ReadWrite.All No disponible.
Delegado (cuenta personal de Microsoft) Application.ReadWrite.All No disponible.
Aplicación Application.ReadWrite.OwnedBy Application.ReadWrite.All

Importante

Para el acceso delegado con cuentas profesionales o educativas, el usuario que ha iniciado sesión debe tener asignado un rol compatible de Microsoft Entra o un rol personalizado que conceda los permisos necesarios para esta operación. Esta operación admite los siguientes roles integrados, que proporcionan solo el privilegio mínimo necesario:

  • Un usuario miembro no administrador con permisos de usuario predeterminados, para aplicaciones de su propiedad
  • Desarrolladores de aplicaciones: para las aplicaciones que poseen
  • Administrador de aplicaciones en la nube
  • Administrador de la aplicación

Permisos para un agentIdentityBlueprint

Tipo de permiso Permiso con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) AgentIdentityBlueprint.Create AgentIdentityBlueprint.ReadWrite.All, Directory.ReadWrite.All
Delegado (cuenta personal de Microsoft) No admitida. No admitida.
Aplicación AgentIdentityBlueprint.Create AgentIdentityBlueprint.ReadWrite.All, Directory.ReadWrite.All

Importante

  • Una entidad de seguridad que crea una identidad de agente, un plano técnico o una entidad de seguridad de plano técnico se asigna automáticamente como propietario.
  • Los propietarios pueden crear y modificar identidades de agente asociadas a un plano técnico de su propiedad sin que se les asigne un rol de ID de agente.
  • Para que los usuarios que no son propietarios puedan llamar a esta API en escenarios delegados con cuentas profesionales o educativas, el administrador debe tener asignado un rol compatible de Microsoft Entra. Esta operación admite el siguiente rol integrado con privilegios mínimos:

Solicitud HTTP

Para una aplicación:

  • Puede dirigirse a la aplicación mediante su id o appId. id y appId se conocen como Id. de objeto e Id. de aplicación (cliente), respectivamente, en los registros de aplicaciones en el Centro de administración de Microsoft Entra.
POST /applications/{id}/federatedIdentityCredentials
POST /applications(appId='{appId}')/federatedIdentityCredentials

Para un agentIdentityBlueprint:

POST /applications/{id}/microsoft.graph.agentIdentityBlueprint/federatedIdentityCredentials

Encabezados de solicitud

Nombre Descripción
Authorization {token} de portador. Obligatorio. Obtenga más información sobre autenticación y autorización.
Content-Type application/json. Obligatorio.

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporcione una representación JSON del objeto federatedIdentityCredential .

En la tabla siguiente se enumeran las propiedades necesarias para crear la federatedIdentityCredential.

Propiedad Tipo Descripción
Públicos Colección string Obligatorio. El público que puede aparecer en el token externo. Este campo es obligatorio y debe establecerse en api://AzureADTokenExchange para Microsoft Entra ID. Indica lo que la Plataforma de identidad de Microsoft debe aceptar en la aud notificación del token entrante. Este valor representa el Microsoft Entra ID en su proveedor de identidad externo y no tiene ningún valor fijo en todos los proveedores de identidades. Es posible que deba crear un nuevo registro de aplicación en su proveedor de identidad para que sirva como audiencia de este token. Este campo solo puede aceptar un único valor y tiene un límite de 600 caracteres.
claimsMatchingExpression federatedIdentityExpression Admite valores NULL. El valor predeterminado es null si no se establece. Permite el uso de expresiones que coincidan con notificaciones específicas. Si se define claimsMatchingExpression , subject debe ser null. Para obtener una lista de notificaciones y sintaxis de expresiones admitidas, visite la referencia de FIC flexible.
emisor Cadena Obligatorio. La dirección URL del proveedor de identidad externo y debe coincidir con la notificación del emisor del token externo que se intercambia. La combinación de los valores de emisor y asunto debe ser única en la aplicación. Tiene un límite de 600 caracteres.
name Cadena Obligatorio. El identificador único de la credencial de identidad federada, que tiene un límite de 120 caracteres y debe ser compatible con la dirección URL. Es inmutable una vez creado.
subject Cadena Admite valores NULL. El valor predeterminado es null si no se establece. El identificador de la carga de trabajo de software externo dentro del proveedor de identidad externo. Al igual que el valor de audiencia, no tiene un formato fijo, ya que cada proveedor de identidades usa el suyo propio: a veces un GUID, a veces un identificador delimitado por dos puntos, a veces cadenas arbitrarias. El valor aquí debe coincidir con la notificación secundaria dentro del token presentado a Microsoft Entra ID. Tiene un límite de 600 caracteres. La combinación de emisor y sujeto debe ser única en la aplicación. Si se define subject , claimsMatchingExpression debe ser null.

Respuesta

Si se realiza correctamente, este método devuelve un 201 Created código de respuesta y un objeto federatedIdentityCredential en el cuerpo de la respuesta.

Ejemplos

Ejemplo 1: Creación de una credencial de identidad federada para una aplicación

Solicitud

POST https://graph.microsoft.com/beta/applications/bcd7c908-1c4d-4d48-93ee-ff38349a75c8/federatedIdentityCredentials/
Content-Type: application/json

{
    "name": "testing02",
    "issuer": "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
    "subject": "a7d388c3-5e3f-4959-ac7d-786b3383006a",
    "audiences": [
        "api://AzureADTokenExchange"
    ]
}

Respuesta

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

HTTP/1.1 201 Created
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#applications('bcd7c908-1c4d-4d48-93ee-ff38349a75c8')/federatedIdentityCredentials/$entity",
    "@odata.id": "https://graph.microsoft.com/v2/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/directoryObjects/$/Microsoft.DirectoryServices.Application('bcd7c908-1c4d-4d48-93ee-ff38349a75c8')/federatedIdentityCredentials/d9b7bf1e-429e-4678-8132-9b00c9846cc4",
    "id": "d9b7bf1e-429e-4678-8132-9b00c9846cc4",
    "name": "testing02",
    "issuer": "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
    "subject": "a7d388c3-5e3f-4959-ac7d-786b3383006a",
    "description": null,
    "audiences": [
        "api://AzureADTokenExchange"
    ]
}

Ejemplo 2: Crear una credencial de identidad federada para un agentIdentityBlueprint

Solicitud

POST https://graph.microsoft.com/beta/applications/bcd7c908-1c4d-4d48-93ee-ff38349a75c8/microsoft.graph.agentIdentityBlueprint/federatedIdentityCredentials/
Content-Type: application/json

{
    "name": "testing02",
    "issuer": "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
    "subject": "a7d388c3-5e3f-4959-ac7d-786b3383006a",
    "audiences": [
        "api://AzureADTokenExchange"
    ]
}

Respuesta

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

HTTP/1.1 201 Created
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#applications('bcd7c908-1c4d-4d48-93ee-ff38349a75c8')/federatedIdentityCredentials/$entity",
    "@odata.id": "https://graph.microsoft.com/v2/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/directoryObjects/$/Microsoft.DirectoryServices.Application('bcd7c908-1c4d-4d48-93ee-ff38349a75c8')/federatedIdentityCredentials/d9b7bf1e-429e-4678-8132-9b00c9846cc4",
    "id": "d9b7bf1e-429e-4678-8132-9b00c9846cc4",
    "name": "testing02",
    "issuer": "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
    "subject": "a7d388c3-5e3f-4959-ac7d-786b3383006a",
    "description": null,
    "audiences": [
        "api://AzureADTokenExchange"
    ]
}