Crear un proveedor de identidad de IAM OpenID Connect (OIDC) - AWS Identity and Access Management

Crear un proveedor de identidad de IAM OpenID Connect (OIDC)

Los proveedores de identidad de IAM OIDC son entidades de que describen un servicio de proveedor de identidad (IdP) externo compatible con el estándar OpenID Connect (OIDC), como Google o Salesforce. Puede utilizar un proveedor de identidad OIDC de IAM cuando desee establecer una relación de confianza entre un IdP compatible con OIDC y su Cuenta de AWS. Esto resulta útil al crear una aplicación móvil o aplicación web que requiere acceso a los recursos de AWS, pero no desea crear un código de inicio de sesión personalizado ni administrar sus propias identidades de usuario. Para obtener más información acerca de esta situación, consulte Federación OIDC.

Puede crear y administrar un proveedor de identidad OIDC de IAM con AWS Management Console, el AWS Command Line Interface, Tools for Windows PowerShell o la API de IAM.

Después de crear un proveedor de identidades OIDC de IAM, debe crear uno más roles de IAM. Un rol es una identidad en AWS que no tiene sus propias credenciales (como las tiene un usuario). Sin embargo, en este contexto, un rol se asigna dinámicamente a un usuario federado que autentica el IdP de la organización. El rol permite al proveedor de identidad (IdP) de la organización solicitar credenciales de seguridad temporales para obtener acceso a AWS. Las políticas asignadas al rol determinan lo que los usuarios federados pueden realizar en AWS. Para crear un rol para un proveedor de identidades de terceros, consulte Crear un rol para un proveedor de identidad de terceros (federación).

importante

Al configurar políticas basadas en la identidad para acciones que admiten recursos oidc-provider, IAM evalúa la URL completa del proveedor de identidades del OIDC, incluidas las rutas especificadas. Si la URL de su proveedor de identidad OIDC tiene una ruta, debe incluirla en el ARN oidc-provider como un valor del elemento Resource. También tiene la opción de añadir una barra inclinada y un comodín (/*) al dominio URL o de utilizar caracteres comodín (* y ?) en cualquier punto de la ruta URL. Si la URL del proveedor de identidad del OIDC de la solicitud no coincide con el valor establecido en el elemento Resource de la política, la solicitud falla.

Para solucionar problemas comunes con la federación de OIDC de IAM, consulte Resolver errores relacionados con OIDC en AWS re:Post.

Requisitos previos: valide la configuración de su proveedor de identidad

Antes de poder crear un proveedor de identidades OIDC de IAM, debe disponer de la siguiente información de su IdP. Para obtener más información sobre cómo obtener información sobre la configuración del proveedor de OIDC, consulte la documentación de su IdP.

  1. Determine la URL de acceso público de su proveedor de identidad OIDC. La dirección URL debe empezar por https://. De acuerdo con el estándar de OIDC, los componentes de ruta están permitidos, pero los parámetros de consulta no lo están. Normalmente, la URL consta de solo un nombre de host, como https://server.example.org o https://example.com. La dirección URL no debe contener un número de puerto.

  2. Añada /.well-known/openid-configuration al final de la URL de su proveedor de identidad OIDC para ver el documento de configuración y los metadatos del proveedor que están disponibles públicamente. Debe tener un documento de detección en formato JSON con el documento de configuración y los metadatos del proveedor que se puedan recuperar de la URL del punto de conexión de descubrimiento del proveedor de OpenID Connect.

  3. Confirme que los siguientes valores estén incluidos en la información de configuración de su proveedor. Si a la openid-configuration le falta alguno de estos campos, debe actualizar el documento de detección. Este proceso puede variar en función del proveedor de identidad, así que sigue la documentación de tu IdP para completar esta tarea.

    • emisor: la URL de tu dominio.

    • jwks_uri: punto de conexión JSON Web Key Set (JWKS) donde IAM obtiene las claves públicas. El proveedor de identidades debe incluir un punto de conexión JSON Web Key Set (JWKS) en la openid-configuration. Este URI define dónde obtener las claves públicas que se utilizan para verificar los tokens firmados por tu proveedor de identidad.

    • claims_supported: información sobre el usuario que le ayuda a garantizar que las respuestas de autenticación de OIDC de su IdP contengan los atributos necesarios que AWS utiliza en las políticas de IAM para comprobar los permisos de los usuarios federados. Para obtener una lista de las claves de condición de IAM que se pueden usar para las reclamaciones, consulte Claves disponibles para las federaciones de identidades AWS de OIDC.

      • aud: Debe determinar el valor de reclamación de la audiencia que sus IdP emiten en los JSON Web Tokens (JWT). La reclamación de la audiencia (aud) es específica de la aplicación e identifica a los destinatarios previstos del token. Al registrar una aplicación móvil o web con un proveedor de OpenID Connect, este establece un ID de cliente que identifica la aplicación. El ID de cliente es un identificador único de la aplicación que se incluye en la reclamación aud para la autenticación. La reclamación aud debe coincidir con el valor de Audience al crear tu proveedor de identidad IAM OIDC.

      • iat: las reclamaciones deben incluir un valor para iat que represente el momento en que se emitió el token ID.

      • iss: la URL del proveedor de identidades. La URL debe comenzar con https:// y debe corresponder a la URL del proveedor proporcionada a IAM. De acuerdo con el estándar de OIDC, los componentes de ruta están permitidos, pero los parámetros de consulta no lo están. Normalmente, la URL consta de solo un nombre de host, como https://server.example.org o https://example.com. La dirección URL no debe contener un número de puerto.

    • response_types_supported: id_token

    • subject_types_supported: público

    • id_token_signing_alg_values_supported: RS256

    nota

    Puedes incluir reclamaciones adicionales, como las personalizadas, en el siguiente ejemplo; sin embargo, AWS STS las ignorará.

    { "issuer": "https://example-domain.com", "jwks_uri": "https://example-domain.com/jwks/keys", "claims_supported": [ "aud", "iat", "iss", "name", "sub", "custom" ], "response_types_supported": [ "id_token" ], "id_token_signing_alg_values_supported": [ "RS256" ], "subject_types_supported": [ "public" ] }

Creación y administración de un proveedor OIDC (consola)

Siga estas instrucciones para crear y administrar un proveedor de identidad de IAM OIDC en la AWS Management Console.

importante

Si utiliza un proveedor de identidades OIDC de Google, Facebook o Amazon Cognito, no cree un proveedor de identidades IAM independiente mediante este procedimiento. Estos proveedores de identidad de OIDC ya están integrados a AWS y están disponibles para su uso. En su lugar, siga los pasos para crear nuevos roles para su proveedor de identidades, consulte Creación de un rol para una federación de OpenID Connect (consola).

Para crear un proveedor de identidad de IAM OIDC (consola)
  1. Antes de crear un proveedor de identidad de IAM OIDC, debe registrar la aplicación en el IdP para recibir un ID de cliente. El ID de cliente (también conocido como público) es un identificador único para la aplicación que se emite al registrar la aplicación con el proveedor de identidades. Para obtener más información sobre cómo obtener un ID de cliente, consulte la documentación de su proveedor de identidad.

    nota

    AWS asegura la comunicación con los proveedores de identidad (IdP) de OIDC mediante nuestra biblioteca de entidades de certificación de raíz de confianza (CA) para verificar el certificado TLS del punto final JSON Web Key Set (JWKS). Si el IdP OIDC utiliza un certificado que no está firmado por una de estas CA de confianza, solo entonces se protege la comunicación mediante las huellas digitales registradas en la configuración del IdP. AWS recurrirá a la verificación mediante huella digital si no se puede recuperar el certificado TLS o si se requiere TLS v1.3.

  2. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  3. En el panel de navegación, elija Proveedores de identidades y, a continuación, Agregar proveedor.

  4. En Configurar proveedor, elija OpenID Connect.

  5. En URL del proveedor, escriba la dirección URL del proveedor de identidades. La dirección URL debe cumplir las siguientes restricciones:

    • La dirección URL distingue entre mayúsculas y minúsculas.

    • La dirección URL debe comenzar por https://.

    • La dirección URL no debe contener un número de puerto.

    • En la Cuenta de AWS, cada proveedor de identidad OIDC en IAM debe utilizar una dirección URL única. Si intenta enviar una URL que ya se ha utilizado para un proveedor de OpenID Connect en el Cuenta de AWS, aparecerá un error.

  6. En Público, escriba el ID del cliente de la aplicación que ha registrado en el proveedor de identidades y recibido en Paso 1. De este modo se realizarán solicitudes a AWS. Si tiene más ID de cliente (también conocido como público) para este proveedor de identidades, puede añadirlos más adelante en la página de detalles de proveedor.

    nota

    Si tu token JWT IdP incluye la reclamación azp, introduce este valor como valor de Audiencia.

    Si su proveedor de identidades de OIDC establece las reclamaciones aud y azp en el token, AWS STS utilizará el valor en la reclamación azp como la reclamación aud.

  7. (Opcional) En Agregar etiquetas, puede agregar pares clave-valor para ayudarlo a identificar y organizar los proveedores de identidad. También puede utilizar etiquetas para controlar el acceso a los recursos de AWS. Para obtener más información sobre cómo etiquetar proveedores de identidad OIDC IAM, consulte Etiquetado de proveedores de identidad OpenID Connect (OIDC). Seleccione Agregar etiqueta. Introduzca valores para cada par clave-valor de etiqueta.

  8. Compruebe la información que ha proporcionado. Cuando haya terminado, elija Agregar proveedor. IAM intentará recuperar y utilizar la huella digital de CA intermedia superior del certificado del servidor del IdP de OIC para crear el proveedor de identidad de IAM OIDC.

    nota

    La cadena de certificados del proveedor de identidades OIDC debe empezar con el dominio o la URL del emisor, luego con el certificado intermedio y terminar con el certificado raíz. Si el orden de la cadena de certificados es diferente o incluye certificados duplicados o adicionales, se produce un error de discordancia de firmas y STS no podrá validar el token web JSON (JWT). Corrija el orden de los certificados de la cadena devuelta por el servidor para resolver el error. Para obtener más información sobre los estándares de la cadena de certificados, consulte el documento certificate_list en el RFC 5246 en el sitio web de la serie RFC.

  9. Asigne un rol de IAM a su proveedor de identidades para otorgar a las identidades de usuarios externas administradas por su proveedor de identidades permisos para acceder a los recursos de AWS de su cuenta. Para obtener más información sobre cómo crear roles para la federación de identidades, consulte Crear un rol para un proveedor de identidad de terceros (federación).

    nota

    Los proveedores de identidad de OIDC que se utilizan en una política de confianza de roles deben estar en la misma cuenta en la que se encuentra el rol.

Para agregar o eliminar una huella digital de un proveedor de identidades OIDC de IAM (consola)
nota

AWS asegura la comunicación con los proveedores de identidad (IdP) de OIDC mediante nuestra biblioteca de entidades de certificación de raíz de confianza (CA) para verificar el certificado TLS del punto final JSON Web Key Set (JWKS). Si el IdP OIDC utiliza un certificado que no está firmado por una de estas CA de confianza, solo entonces se protege la comunicación mediante las huellas digitales registradas en la configuración del IdP. AWS recurrirá a la verificación mediante huella digital si no se puede recuperar el certificado TLS o si se requiere TLS v1.3.

  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, elija Proveedores de identidades. A continuación, elija el nombre del proveedor de identidades de IAM que desea actualizar.

  3. Seleccione la pestaña Verificación de punto de conexión y luego, en la sección Huellas digitales, seleccione Administrar. Para introducir un nuevo valor de huella digital, elija Agregar huella digital. Para eliminar una huella digital, elija Eliminar que está ubicado junto a la huella digital que desea eliminar.

    nota

    Un proveedor de identidad de IAM OIDC debe tener un mínimo de una y un máximo de cinco huellas digitales.

    Cuando haya terminado, elija Guardar cambios.

Para agregar un público a un proveedor de identidades OIDC de IAM (consola)
  1. En el panel de navegación, elija Proveedores de identidades y, a continuación, elija el nombre del proveedor de identidades de IAM que desea actualizar.

  2. En la sección Públicos, elija Acciones y seleccione Agregar público.

  3. Escriba el ID del cliente de la aplicación que registró en el proveedor de identidades y recibió en Paso 1. De este modo, se realizarán solicitudes a AWS. A continuación, seleccione Agregar públicos.

    nota

    Un proveedor de identidades OIDC de IAM debe tener un mínimo de 1 y un máximo de 100 públicos.

Para eliminar un público de un proveedor de identidades OIDC de IAM (consola)
  1. En el panel de navegación, elija Proveedores de identidades y, a continuación, elija el nombre del proveedor de identidades de IAM que desea actualizar.

  2. En la sección Públicos, seleccione el botón de opción situado junto al público que desea eliminar y, a continuación, seleccione Acciones.

  3. Elija Eliminar público. Se abrirá una nueva ventana.

  4. Si elimina un público, las identidades federadas con el público no pueden asumir los roles asociados con aquel. En la ventana, lea la advertencia y confirme que desea eliminar el público escribiendo la palabra remove en el campo.

  5. Elija Eliminar para eliminar el público.

Para eliminar un proveedor de identidad de OIDC de IAM (consola)
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, elija Proveedores de identidades.

  3. Seleccione la casilla de verificación situada junto al proveedor de identidad de IAM que desea eliminar. Se abrirá una nueva ventana.

  4. Confirme que desea eliminar el proveedor escribiendo la palabra delete en el campo. A continuación, elija Eliminar.

Creación y administración de un proveedor de identidad de OIDC de IAM (AWS CLI)

Puede utilizar los siguientes comandos de la AWS CLI para crear y administrar proveedores de identidad de OIDC de IAM.

Para crear un proveedor de identidad OIDC de IAM (AWS CLI)
  1. (Opcional) Para obtener una lista de todos los proveedores de identidad de IAM OIDC de su cuenta de AWS, ejecute el siguiente comando:

  2. Para crear un nuevo proveedor de identidad de IAM OIDC, ejecute este comando:

Para actualizar la lista de huellas digitales de certificado de servidor para un proveedor de identidad de IAM OIDC existente (AWS CLI)
Para etiquetar un proveedor de identidad OIDC de IAM existente (AWS CLI)
Para enumerar etiquetas para un proveedor de identidad OIDC de IAM existente (AWS CLI)
Para quitar etiquetas de un proveedor de identidad de OIDC de IAM (AWS CLI)
Para agregar o eliminar un ID de cliente de un proveedor de identidad de IAM OIDC existente (AWS CLI)
  1. (Opcional) Para obtener una lista de todos los proveedores de identidad de IAM OIDC de su cuenta de AWS, ejecute el siguiente comando:

  2. (Opcional) Para obtener información detallada sobre un proveedor de identidad de IAM OIDC, ejecute el siguiente comando:

  3. Para agregar un ID de cliente nuevo a un proveedor de identidad de IAM OIDC existente, ejecute el siguiente comando:

  4. Para eliminar un cliente de un proveedor de identidad de IAM OIDC existente, ejecute el siguiente comando:

Para eliminar un proveedor de identidad IAM OIDC (AWS CLI)
  1. (Opcional) Para obtener una lista de todos los proveedores de identidad de IAM OIDC de su cuenta de AWS, ejecute el siguiente comando:

  2. (Opcional) Para obtener información detallada sobre un proveedor de identidad de IAM OIDC, ejecute el siguiente comando:

  3. Para eliminar un proveedor de identidad de IAM OIDC, ejecute este comando:

Creación y administración de un proveedor de identidad de OIDC (API de AWS)

Puedes utilizar los siguientes comandos de la API de IAM para crear y administrar proveedores OIDC.

Para crear un proveedor de identidad OIDC de IAM (API de AWS)
  1. (Opcional) Para obtener una lista de todos los proveedores de identidad de IAM OIDC de su cuenta de AWS, llame a la operación siguiente:

  2. Para crear un nuevo proveedor de identidad de IAM OIDC, llame a la siguiente operación:

Para actualizar la lista de huellas digitales de certificado de servidor para un proveedor de identidad de IAM OIDC existente (API de AWS)
  • Para actualizar la lista de huellas digitales del certificado de servidor de un proveedor de identidad de IAM OIDC, llame a la siguiente operación:

Para etiquetar un proveedor de identidad OIDC de IAM existente (API de AWS)
  • Para etiquetar un proveedor de identidad OIDC de IAM existente, llame a la siguiente operación:

Para enumerar etiquetas de un proveedor de identidad OIDC de IAM existente (API de AWS)
Para quitar etiquetas de un proveedor de identidad OIDC de IAM existente (API de AWS)
  • Para eliminar etiquetas de un proveedor de identidad OIDC de IAM existente, llame a la siguiente operación:

Para agregar OIDC eliminar un ID de cliente de un proveedor de identidad de IAM OIDC existente (API de AWS)
  1. (Opcional) Para obtener una lista de todos los proveedores de identidad de IAM OIDC de su cuenta de AWS, llame a la operación siguiente:

  2. (Opcional) Para obtener información detallada sobre un proveedor de identidad de IAM OIDC, llame a la siguiente operación:

  3. Para agregar un ID de cliente nuevo a un proveedor de identidad de IAM OIDC existente, llame a la siguiente operación:

  4. Para eliminar un ID de cliente de un proveedor de identidad de IAM OIDC existente, llame a la siguiente operación:

Para eliminar un proveedor de identidad IAM OIDC (API de AWS)
  1. (Opcional) Para obtener una lista de todos los proveedores de identidad de IAM OIDC de su cuenta de AWS, llame a la operación siguiente:

  2. (Opcional) Para obtener información detallada sobre un proveedor de identidad de IAM OIDC, llame a la siguiente operación:

  3. Para eliminar un proveedor de identidad de IAM OIDC, llame a la siguiente operación: