Transferencia de etiquetas de sesión en AWS STS - AWS Identity and Access Management

Transferencia de etiquetas de sesión en AWS STS

Las etiquetas de sesión son atributos de par clave-valor que se pasan al asumir un rol de IAM o federar un usuario en AWS STS. Para ello, realice una solicitud a la AWS CLI o API AWS a través de AWS STS o a través de su proveedor de identidad (IdP). Cuando se utiliza AWS STS para solicitar credenciales de seguridad temporales, se genera una sesión. Las sesiones caducan y tienen credenciales, como un par de claves de acceso y un token de sesión. Cuando utiliza las credenciales de sesión para realizar una solicitud posterior, el contexto de solicitud incluye la aws:PrincipalTag clave de contexto. Puede utilizar la clave aws:PrincipalTag del elemento Condition de sus políticas para permitir o denegar el acceso basándose en esas etiquetas.

Cuando utiliza credenciales temporales para realizar una solicitud, la entidad principal puede incluir un conjunto de etiquetas. Estas etiquetas provienen de las siguientes fuentes:

  1. Etiquetas de sesión - Estas etiquetas se pasaron cuando asumió el rol o se federó al usuario mediante la AWS CLI o API de AWS. Para obtener más información sobre estas operaciones, consulte Operaciones de etiquetado de sesiones.

  2. Etiquetas de sesión transitiva entrantes - Estas etiquetas se heredaron de una sesión anterior en una cadena de roles. Para obtener más información, consulte Encadenamiento de roles con etiquetas de sesión más adelante en este tema.

  3. Etiquetas de IAM — Las etiquetas adjuntas a su rol asumido de IAM.

Operaciones de etiquetado de sesiones

Puede pasar etiquetas de sesión utilizando las siguientes operaciones de las API de AWS CLI o AWS en AWS STS. La AWS Management Console tiene una función Cambiar rol que no permite pasar etiquetas de sesión.

También puede establecer las etiquetas de sesión como transitivas. Las etiquetas transitivas persisten durante el encadenamiento de roles. Para obtener más información, consulte Encadenamiento de roles con etiquetas de sesión.

Comparación de métodos para pasar etiquetas de sesión
Operación ¿Quién puede asumir el rol? Método para pasar etiquetas Método para establecer etiquetas transitivas
Operación assume-role de la CLI u operación AssumeRole de la API Usuario o sesión de IAM Parámetro Tags de la API u opción --tags de CLI Parámetro TransitiveTagKeys de la API u opción --transitive-tag-keys de CLI
Operación assume-role-with-saml de la CLI u operación AssumeRoleWithSAML de la API Cualquier usuario autenticado con un proveedor de identidad de SAML Atributo PrincipalTag de SAML Atributo TransitiveTagKeys de SAML
Operación assume-role-with-web-identity de la CLI u operación AssumeRoleWithWebIdentity de la API Cualquier usuario autenticado con OIDC PrincipalTag Símbolo OIDC TransitiveTagKeys Símbolo OIDC
Operación get-federation-token de la CLI u operación GetFederationToken de la API Usuario raíz o usuario de IAM Parámetro Tags de la API u opción --tags de CLI No admitido

Las operaciones que admiten el etiquetado de sesiones pueden fallar bajo alguna de las condiciones siguientes:

  • Pasa más de 50 etiquetas de sesión.

  • El texto sin formato de las claves de etiqueta de sesión supera los 128 caracteres.

  • El texto sin formato de los valores de las etiquetas de sesión supera los 256 caracteres.

  • El tamaño total del texto sin formato de las políticas de sesión supera los 2048 caracteres.

  • El tamaño total del paquete de las políticas de sesión y las etiquetas combinadas es demasiado grande. Si la operación falla, el mensaje de error indica, por porcentaje, qué tan cerca están las políticas y etiquetas combinadas al límite de tamaño superior.

Cosas que debe saber sobre las etiquetas de sesión

Antes de utilizar las etiquetas de sesión, revise los siguientes detalles sobre las sesiones y las etiquetas.

  • Cuando se utilizan etiquetas de sesión, las políticas de confianza para todos los roles conectados al proveedor de identidades (IdP) que pasa etiquetas deben tener el permiso sts:TagSession. En el caso de los roles que no tienen este permiso en la política de confianza, la operación AssumeRole fallará.

  • Cuando solicita una sesión, puede especificar etiquetas principales como etiquetas de sesión. Las etiquetas se aplican a las solicitudes que realice con las credenciales de la sesión.

  • Las etiquetas de sesión usan pares clave/valor. Por ejemplo, para agregar información de contacto a una sesión, puede agregar la clave de etiqueta de sesión email y el valor de etiqueta johndoe@example.com.

  • Las etiquetas de sesión deben seguir las reglas para asignar nombres a las etiquetas en IAM y AWS STS. Este tema incluye información sobre la distinción entre mayúsculas y minúsculas y los prefijos restringidos que se aplican a las etiquetas de sesión.

  • Las nuevas etiquetas de sesión anulan las etiquetas de usuario federado o de rol asumido existentes con la misma clave de etiqueta, independientemente de las mayúsculas y minúsculas.

  • No puede pasar las etiquetas de sesión con la AWS Management Console.

  • Las etiquetas de sesión son válidas solo para la sesión actual.

  • Las etiquetas de sesión admiten el encadenamiento de roles. De forma predeterminada, AWS STS no pasa etiquetas a sesiones de rol posteriores. Sin embargo, puede establecer las etiquetas de sesión como transitivas. Las etiquetas transitivas persisten durante el encadenamiento de roles y reemplazan la coincidencia de los valores ResourceTag después de la evaluación de la política de confianza de rol. Para obtener más información, consulte Encadenamiento de roles con etiquetas de sesión.

  • Puede utilizar etiquetas de sesión para controlar el acceso a los recursos o para controlar qué etiquetas se pueden pasar a una sesión posterior. Para obtener más información, consulte Tutorial de IAM: utilizar etiquetas de sesión SAML para ABAC.

  • Puede ver las etiquetas principales de la sesión, incluidas sus etiquetas de sesión, en los registros de AWS CloudTrail. Para obtener más información, consulte Ver las etiquetas de sesión en CloudTrail.

  • Debe pasar un solo valor para cada etiqueta de sesión. AWS STS no admite etiquetas de sesión de varios valores.

  • Puede pasar un máximo de 50 etiquetas de sesión. El número y el tamaño de recursos de IAM en una cuenta de AWS son limitados. Para obtener más información, consulte IAM y cuotas de AWS STS.

  • Una conversión de AWS comprime las políticas de sesión pasadas y las etiquetas de sesión combinadas en un formato binario empaquetado con un límite separado. Si supera este límite, el mensaje de error de la API de AWS CLI o AWS indica, por porcentaje, qué tan cerca están las políticas y etiquetas combinadas del límite de tamaño superior.

Permisos necesarios para agregar etiquetas de sesión

Además de la acción que coincide con la operación de la API, debe tener la siguiente acción de solo permisos en la política:

sts:TagSession
importante

Cuando se utilizan etiquetas de sesión, las políticas de confianza de roles para todos los roles conectados a un proveedor de identidades (IdP) deben tener el permiso sts:TagSession. La operación AssumeRole producirá un error para cualquier rol conectado a un proveedor de identidad que pase etiquetas de sesión sin este permiso. Si no desea actualizar la política de confianza de rol para cada rol, puede utilizar una instancia de proveedor de identidades independiente para pasar las etiquetas de sesión. A continuación, agregue el permiso sts:TagSession solo a los roles que están conectados al proveedor de identidades independiente.

Puede utilizar la acción sts:TagSession con las siguientes claves de condición.

  • aws:PrincipalTag – Compara la etiqueta asociada a la entidad principal que realiza la solicitud con la etiqueta que especifique en la política. Por ejemplo, puede permitir que una entidad principal pase las etiquetas de sesión solo si la entidad principal que realiza la solicitud tiene las etiquetas especificadas.

  • aws:RequestTag – Compara el par clave-valor de etiqueta que se transfirió en la solicitud con el par de etiquetas especificado en la política. Por ejemplo, puede permitir que la entidad principal pase las etiquetas de sesión especificadas, pero solo con los valores especificados.

  • aws:ResourceTag – Compara el par clave-valor de etiqueta que especifique en la política con el par clave-valor asociado al recurso. Por ejemplo, puede permitir que la entidad principal pase las etiquetas de sesión solo si el rol que asume incluye las etiquetas especificadas.

  • aws:TagKeys – Compara las claves de etiqueta de una solicitud con las claves que especifique en la política. Por ejemplo, puede permitir que la entidad principal pase solo las etiquetas de sesión con las claves de etiqueta especificadas. Esta clave de condición limita el conjunto máximo de etiquetas de sesión que se pueden pasar.

  • sts:TransitiveTagKeys - Compara las claves de etiqueta de sesión transitiva de la solicitud con las especificadas en la política. Por ejemplo, puede escribir una política para permitir que una entidad principal establezca solo etiquetas específicas como transitivas. Las etiquetas transitivas persisten durante el encadenamiento de roles. Para obtener más información, consulte Encadenamiento de roles con etiquetas de sesión.

Por ejemplo, la siguiente política de confianza de rol permite al usuario test-session-tags asumir el rol con la política asociada. Cuando ese usuario asume el rol, debe utilizar la API de AWS CLI o AWS para pasar las tres etiquetas de sesión requeridas y el ID externorequerido. Además, el usuario puede elegir establecer las etiquetas Project y Department como transitivas.

ejemplo Ejemplo de política de confianza de rol para etiquetas de sesión
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIamUserAssumeRole", "Effect": "Allow", "Action": "sts:AssumeRole", "Principal": {"AWS": "arn:aws:iam::123456789012:user/test-session-tags"}, "Condition": { "StringLike": { "aws:RequestTag/Project": "*", "aws:RequestTag/CostCenter": "*", "aws:RequestTag/Department": "*" }, "StringEquals": {"sts:ExternalId": "Example987"} } }, { "Sid": "AllowPassSessionTagsAndTransitive", "Effect": "Allow", "Action": "sts:TagSession", "Principal": {"AWS": "arn:aws:iam::123456789012:user/test-session-tags"}, "Condition": { "StringLike": { "aws:RequestTag/Project": "*", "aws:RequestTag/CostCenter": "*" }, "StringEquals": { "aws:RequestTag/Department": [ "Engineering", "Marketing" ] }, "ForAllValues:StringEquals": { "sts:TransitiveTagKeys": [ "Project", "Department" ] } } } ] }

¿Qué hace esta política?

  • La instrucción AllowIamUserAssumeRole permite al usuario test-session-tags asumir el rol con la política asociada. Cuando ese usuario asume el rol, debe pasar las etiquetas de sesión requeridas y el ID externo.

    • El primer bloque de condición de esta instrucción requiere que el usuario pase las etiquetas de sesión Project, CostCenter y Department. Los valores de etiqueta no importan en esta instrucción, por lo que puede utilizar comodines (*) para los valores de etiqueta. Este bloque garantiza que el usuario pase al menos estas tres etiquetas de sesión. De lo contrario, la operación no se llevará a cabo correctamente. El usuario puede pasar etiquetas adicionales.

    • El segundo bloque de condición requiere que el usuario pase un ID externo con el valor Example987.

  • La instrucción AllowPassSessionTagsAndTransitive permite la acción sts:TagSession de solo permisos. Esta acción debe permitirse antes de que el usuario pueda pasar las etiquetas de sesión. Si la política incluye la primera instrucción sin la segunda sentencia, el usuario no puede asumir el rol.

    • El primer bloque de condición de esta sentencia permite al usuario pasar cualquier valor para las etiquetas de sesión CostCenter y Project. Para ello, se utilizan comodines (*) para el valor de etiqueta en la política, lo que requiere que utilice el operador de condición StringLike .

    • El segundo bloque de condición permite al usuario pasar solo el valor Engineering o Marketing para la etiqueta de sesión Department.

    • El tercer bloque de condición enumera el conjunto máximo de etiquetas que se puede establecer como transitivo. El usuario puede elegir establecer un subconjunto o ninguna etiqueta como transitivo. No pueden establecer etiquetas adicionales como transitivas. Puede requerir que establezcan al menos una de las etiquetas como transitiva agregando otro bloque de condición que incluya "Null":{"sts:TransitiveTagKeys":"false"}.

Traspaso de etiquetas de sesión mediante AssumeRole

La operación AssumeRole devuelve un conjunto de credenciales temporales que puede utilizar para tener acceso a los recursos de AWS. Puede utilizar credenciales de usuario de IAM o credenciales de rol para llamar a AssumeRole. Para pasar etiquetas de sesión mientras asume un rol, utilice la opción --tags de AWS CLI o el parámetro Tags de la API de AWS.

Para definir las etiquetas como transitivas, utilice la opción --transitive-tag-keys de AWS CLI o el parámetro TransitiveTagKeys de la API de AWS. Las etiquetas transitivas persisten durante el encadenamiento de roles. Para obtener más información, consulte Encadenamiento de roles con etiquetas de sesión.

En el ejemplo siguiente se muestra una solicitud de ejemplo que utiliza AssumeRole. En este ejemplo, cuando se asume el rol my-role-example, se crea una sesión denominada my-session. Agregue los pares clave-valor de etiqueta de sesión Project = Automation, CostCenter = 12345 y Department = Engineering. También puede establecer las etiquetas Project y Department como transitivas especificando sus claves.

ejemplo Ejemplo de solicitud de la CLI de AssumeRole
aws sts assume-role \ --role-arn arn:aws:iam::123456789012:role/my-role-example \ --role-session-name my-session \ --tags Key=Project,Value=Automation Key=CostCenter,Value=12345 Key=Department,Value=Engineering \ --transitive-tag-keys Project Department \ --external-id Example987

Traspaso de etiquetas de sesión mediante AssumeRoleWithSAML

La operación AssumeRoleWithSAML se autentica mediante la federación basada en SAML. Esta operación devuelve un conjunto de credenciales temporales que puede utilizar para tener acceso a los recursos de AWS. Para obtener más información acerca del uso de la federación basada en SAML para el acceso a la AWS Management Console, consulte Concesión de acceso a la AWS Management Console a los usuarios federados SAML 2.0 . Para obtener información detallada sobre el acceso a la API de AWS CLI o AWS, consulte Federación SAML 2.0. Para obtener un tutorial sobre cómo configurar la federación de SAML para los usuarios de Active Directory, consulte Federated Authentication with Active Directory Federation Services (ADFS) de AWS en el blog de seguridad de AWS.

Como administrador, puede permitir que los miembros del directorio de su empresa se federen en AWS mediante la operación AWS STS AssumeRoleWithSAML. Para ello, debe completar las siguientes tareas:

AWS incluye proveedores de identidad que han certificado la experiencia integral para etiquetas de sesión con sus soluciones de identidad. Para obtener información sobre cómo utilizar estos proveedores de identidad para configurar etiquetas de sesión, consulte Integración de proveedores de soluciones SAML externos con AWS.

Para pasar los atributos de SAML como etiquetas de sesión, incluya el elemento Attribute con el atributo Name establecido en https://aws.amazon.com/SAML/Attributes/PrincipalTag:{TagKey}. Utilice el elemento AttributeValue para especificar el valor de la etiqueta. Incluya un elemento Attribute separado para cada etiqueta de sesión.

Por ejemplo, suponga que desea pasar los siguientes atributos de identidad como etiquetas de sesión:

  • Project:Automation

  • CostCenter:12345

  • Department:Engineering

Para pasar estos atributos, incluya los siguientes elementos en su aserción de SAML.

ejemplo Ejemplo de fragmento de una aserción de SAML
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:Project"> <AttributeValue>Automation</AttributeValue> </Attribute> <Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:CostCenter"> <AttributeValue>12345</AttributeValue> </Attribute> <Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:Department"> <AttributeValue>Engineering</AttributeValue> </Attribute>

Para establecer las etiquetas anteriores como transitivas, incluya otro elemento Attribute con el atributo Name establecido en https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys. Las etiquetas transitivas persisten durante el encadenamiento de roles. Para obtener más información, consulte Encadenamiento de roles con etiquetas de sesión.

Para establecer las etiquetas Project y Department como transitivas, utilice el siguiente atributo multivalor:

ejemplo Ejemplo de fragmento de una aserción de SAML
<Attribute Name="https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys"> <AttributeValue>Project</AttributeValue> <AttributeValue>Department</AttributeValue> </Attribute>

Traspaso de etiquetas de sesión mediante AssumeRoleWithWebIdentity

Utilice la federación de OpenID Connect(OIDC)-compliant para autenticar la operación AssumeRoleWithWebIdentity. Esta operación devuelve un conjunto de credenciales temporales que puede utilizar para tener acceso a los recursos de AWS. Para obtener más información acerca del uso de la federación de identidades web para el acceso a la AWS Management Console, consulte Federación OIDC.

Para pasar las etiquetas de sesión desde OpenID Connect (OIDC), debe incluir las etiquetas de sesión en JSON Web Token (JWT). Incluya etiquetas de sesión en el espacio para el nombre en el token de https://aws.amazon.com/tags cuando envíe la solicitud AssumeRoleWithWebIdentity. Para obtener más información sobre los tokens y las notificaciones de OIDC, consulte Uso de tokens con grupos de usuarios en la Guía para desarrolladores de Amazon Cognito.

Por ejemplo, el siguiente JWT descodificado es un token que se utiliza para llamar a AssumeRoleWithWebIdentity con las etiquetas de sesión Project, CostCenter, y Department. El token también establece las etiquetas Project y CostCenter como transitivas. Las etiquetas transitivas persisten durante el encadenamiento de roles. Para obtener más información, consulte Encadenamiento de roles con etiquetas de sesión.

ejemplo Ejemplo de token web JSON decodificado
{ "sub": "johndoe", "aud": "ac_oic_client", "jti": "ZYUCeRMQVtqHypVPWAN3VB", "iss": "https://xyz.com", "iat": 1566583294, "exp": 1566583354, "auth_time": 1566583292, "https://aws.amazon.com/tags": { "principal_tags": { "Project": ["Automation"], "CostCenter": ["987654"], "Department": ["Engineering"] }, "transitive_tag_keys": [ "Project", "CostCenter" ] } }

Traspaso de etiquetas de sesión mediante GetFederationToken

GetFederationToken le permite federar a su usuario. Esta operación devuelve un conjunto de credenciales temporales que puede utilizar para tener acceso a los recursos de AWS. Para agregar etiquetas a la sesión de usuario federado, utilice la opción --tags de AWS CLI o el parámetro Tags de la API de AWS. No se pueden establecer las etiquetas de sesión como transitivas cuando se utiliza GetFederationToken, porque no puede utilizar las credenciales temporales para asumir un rol. No se puede utilizar el encadenamiento de roles en este caso.

El ejemplo siguiente es una respuesta de ejemplo utilizando GetFederationToken. En este ejemplo, cuando se solicita el token, se crea una sesión denominada my-fed-user. Agregue los pares clave-valor de etiqueta de sesión Project = Automation y Department = Engineering.

ejemplo Ejemplo de solicitud de la CLI de GetFederationToken
aws sts get-federation-token \ --name my-fed-user \ --tags key=Project,value=Automation key=Department,value=Engineering

Cuando utiliza las credenciales temporales devueltas por la operación GetFederationToken, las etiquetas principales de la sesión incluyen las etiquetas del usuario y las etiquetas de sesión pasadas.

Encadenamiento de roles con etiquetas de sesión

Puede asumir un rol y, a continuación, utilizar las credenciales temporales para asumir otro rol. Puede continuar de una sesión a otra. Esto se llama encadenamiento de roles. Cuando pasa las etiquetas de sesión mientras asume un rol, puede establecer las claves como transitivas. Esto garantiza que esas etiquetas de sesión pasen a sesiones posteriores en una cadena de roles. No se pueden establecer etiquetas de rol como transitivas. Para pasar estas etiquetas a sesiones posteriores, especifíquelas como etiquetas de sesión.

nota

Las etiquetas transitivas persisten durante el encadenamiento de roles y reemplazan la coincidencia de los valores ResourceTag después de la evaluación de la política de confianza de rol.

El siguiente ejemplo muestra cómo AWS STS pasa las etiquetas de sesión, las etiquetas transitivas y las etiquetas de rol a sesiones posteriores en una cadena de roles.

En este escenario de encadenamiento de roles de ejemplo, utilice las claves de acceso de un usuario de IAM en el AWS CLI para asumir un rol denominado Role1. A continuación, utilice las credenciales de sesión resultantes para asumir un segundo rol denominado Role2. A continuación, puede utilizar las credenciales de la segunda sesión para asumir un tercer rol denominado Role3. Estas solicitudes se producen como tres operaciones separadas. Cada rol ya está etiquetado en IAM. Y durante cada solicitud, se pasan etiquetas de sesión adicionales.

Encadenamiento de roles

Al encadenar roles, puede asegurarse de que las etiquetas de una sesión anterior persisten en las sesiones posteriores. Para ello mediante el comando assume-role de CLI, debe pasar la etiqueta como una etiqueta de sesión y establecer la etiqueta como transitiva. Pase la etiqueta Star = 1 como una etiqueta de sesión. El comando también adjunta la etiqueta Heart = 1 al rol y se aplica como etiqueta principal cuando se utiliza la sesión. Sin embargo, también quiere que la etiqueta Heart = 1 pase automáticamente a la segunda o tercera sesión. Para ello, debe incluirla manualmente como una etiqueta de sesión. Las etiquetas principales de sesión resultantes incluyen ambas etiquetas y las establece como transitivas.

Asumir el primer rol en una cadena de roles

Realice esta solicitud mediante el siguiente comando de AWS CLI:

ejemplo Ejemplo de solicitud de la CLI de AssumeRole
aws sts assume-role \ --role-arn arn:aws:iam::123456789012:role/Role1 \ --role-session-name Session1 \ --tags Key=Star,Value=1 Key=Heart,Value=1 \ --transitive-tag-keys Star Heart

A continuación, utilice las credenciales para esa sesión para asumir Role2. El comando adjunta la etiqueta Sun = 2 al segundo rol y se aplica como etiqueta principal cuando se utiliza la segunda sesión. Las etiquetas Heart y Star heredan las etiquetas de sesión transitiva de la primera sesión. Las etiquetas principales resultantes de la segunda sesión son Heart = 1, Star = 1 y Sun = 2. Heart y Star seguirán siendo transitorias. La etiqueta Sun que se adjuntó a Role2 no está marcada como transitiva porque no es una etiqueta de sesión. Las sesiones futuras no heredan esta etiqueta.

Asumir el segundo rol en una cadena de roles

Realice esta segunda solicitud utilizando el siguiente comando de AWS CLI:

ejemplo Ejemplo de solicitud de la CLI de AssumeRole
aws sts assume-role \ --role-arn arn:aws:iam::123456789012:role/Role2 \ --role-session-name Session2

A continuación, utilice las credenciales de la segunda sesión para asumir Role3. Las etiquetas principales de la tercera sesión provienen de cualquier etiqueta de sesión nueva, de las etiquetas de sesión transitiva heredadas y de las etiquetas de rol. Las etiquetas Heart = 1 y Star = 1 de la segunda sesión se heredaron de la etiqueta de sesión transitiva de la primera sesión. Si intenta pasar la etiqueta de sesión Sun = 2, la operación fallará. La etiqueta de sesión heredada Star = 1 anula la etiqueta rol Star = 3 . En el encadenamiento de roles, el valor de una etiqueta transitiva anula el rol que coincide con el valor ResourceTag después de la evaluación de la política de confianza de rol. En este ejemplo, si Role3 utiliza Star como ResourceTag en la política de confianza de rol, y establece ResourceTag al valor de etiqueta transitiva de la sesión de rol de llamada. La etiqueta del rol Lightning también se aplica a la tercera sesión y no se establece como transitiva.

Asumir el tercer rol en una cadena de roles

Realice la tercera solicitud con el siguiente comando de AWS CLI:

ejemplo Ejemplo de solicitud de la CLI de AssumeRole
aws sts assume-role \ --role-arn arn:aws:iam::123456789012:role/Role3 \ --role-session-name Session3

Uso de etiquetas de sesión para ABAC

El control de acceso basado en atributos (ABAC) es una estrategia de autorización que define permisos basados en atributos de etiquetas.

Si su empresa utiliza un proveedor de identidad (IdP) basado en OIDC o SAML para administrar las identidades de usuario, puede configurar su aserción SAML para que pase las etiquetas de sesión a AWS. Por ejemplo, con las identidades de usuario corporativo, cuando sus empleados se federan en AWS, AWSaplica sus atributos a su entidad principal resultante. Entonces puede utilizar ABAC para permitir o denegar permisos basados en esos atributos. Para obtener más información, consulte Tutorial de IAM: utilizar etiquetas de sesión SAML para ABAC.

Para obtener más información acerca del uso de IAM Identity Center con ABAC, consulte Atributos para el control de acceso en la Guía del usuario de AWS IAM Identity Center.

Ver las etiquetas de sesión en CloudTrail

Puede utilizar AWS CloudTrail para ver las solicitudes hechas para asumir roles o federar usuarios. El archivo de registro de CloudTrail incluye información sobre las etiquetas principales para la sesión de usuario federado o de rol asumido. Para obtener más información, consulte Registro de llamadas a IAM y a la API de AWS STS con AWS CloudTrail.

Por ejemplo, suponga que realiza una solicitud AWS STS AssumeRoleWithSAML, pasa las etiquetas de sesión y establece esas etiquetas como transitivas. Puede encontrar la siguiente información en su registro de CloudTrail.

ejemplo Ejemplo de registro de CloudTrail de ASSumeroleWithSAML
"requestParameters": { "sAMLAssertionID": "_c0046cEXAMPLEb9d4b8eEXAMPLE2619aEXAMPLE", "roleSessionName": "MyRoleSessionName", "principalTags": { "CostCenter": "987654", "Project": "Unicorn" }, "transitiveTagKeys": [ "CostCenter", "Project" ], "durationSeconds": 3600, "roleArn": "arn:aws:iam::123456789012:role/SAMLTestRoleShibboleth", "principalArn": "arn:aws:iam::123456789012:saml-provider/Shibboleth" },

Puede ver los registros de CloudTrail de ejemplo siguientes para ver los eventos que utilizan etiquetas de sesión.