Claves de contexto de condición globales de AWS - AWS Identity and Access Management

Claves de contexto de condición globales de AWS

Cuando una entidad principal realiza una solicitud a AWS, AWS recopila la información de la solicitud en un contexto de solicitud. Puede utilizar el elemento Condition de una política JSON para comparar las claves de la solicitud de contexto con los valores de claves que especifique en su política. La información de la solicitud proviene de diferentes orígenes, que abarcan la entidad principal que realiza la solicitud, el recurso con el que se realiza la solicitud y los metadatos sobre la solicitud en sí.

Las claves de condición globales se pueden usar en todos los servicios de AWS. Si bien estas claves de condición se pueden usar en todas las políticas, la clave no está disponible en todos los contextos de solicitud. Por ejemplo, la clave de condición aws:SourceAccount solo está disponible cuando la llamada a su recurso la realiza directamente una entidad principal de servicio de AWS. Para obtener más información sobre las circunstancias en las que se incluye una clave global en el contexto de la solicitud, consulte la información de Disponibilidad para cada clave.

Algunos servicios específicos crean sus propias claves de condición que están disponibles en el contexto de solicitud de otros servicios. Las claves de condición entre servicios son un tipo de clave de condición global que incluyen un prefijo que coincide con el nombre del servicio, como ec2: o lambda:, pero están disponibles en otros servicios.

Las claves de condición específicas del servicio se definen para su uso exclusivo con un servicio específico de AWS. Por ejemplo, Amazon S3 le permite escribir una política con la clave de condición s3:VersionId para limitar el acceso a una versión específica de un objeto de Amazon S3. Esta clave de condición es exclusiva del servicio, lo que significa que solo funciona con solicitudes al servicio Amazon S3. Para obtener información sobre las claves de condición específicas del servicio, consulte Acciones, recursos y claves de condición para los servicios de AWS y elija el servicio cuyas claves desee ver.

nota

Si utiliza claves de condición que solo están disponibles en algunas circunstancias, puede utilizar las versiones IfExists de los operadores de condición. Si faltan las claves de condición de un contexto de solicitud, la política podría generar un error en la evaluación. Por ejemplo, utilice el siguiente bloque de condiciones con ...IfExists para satisfacer cuando una solicitud específica proviene de un rango de direcciones IP o de una VPC específica. Si no se incluye alguna o ambas claves en el contexto de la solicitud, la condición sigue devolviendo true. Los valores solo se comprueban si la clave especificada se incluye en el contexto de la solicitud. Para obtener más información sobre cómo se evalúa una política cuando no hay una clave presente para otros operadores, consulte Operadores de condición.

"Condition": { "IpAddressIfExists": {"aws:SourceIp" : ["xxx"] }, "StringEqualsIfExists" : {"aws:SourceVpc" : ["yyy"]} }
importante

Para comparar su condición con un contexto de solicitud con varios valores de clave, debe utilizar ForAllValues u operadores de configuración ForAnyValue. Utilice operadores de conjunto solo con claves de condición de varios valores. No utilice operadores de conjunto con claves de condición de un solo valor. Para obtener más información, consulte Claves de contexto multivalor.

Propiedades de la entidad principal

Utilice las siguientes claves de condición para comparar los detalles de la entidad principal que realiza la solicitud con las propiedades de la entidad principal que especifique en la política. Para obtener una lista de las entidades principales que pueden realizar solicitudes, consulte Especificación de una entidad principal.

aws:PrincipalArn

Utilice esta clave para comparar el Nombre de recurso de Amazon (ARN) de la entidad principal que ha realizado la solicitud con el ARN que se especifique en la política. Para los roles de IAM, el contexto de solicitud devuelve el ARN del rol, no el ARN del usuario que asumió el rol.

  • Disponibilidad: esta clave se incluye en el contexto de solicitud de todas las solicitudes firmadas. Las solicitudes anónimas no incluyen esta clave. Puede especificar los siguientes tipos de entidades principales en esta clave de condición:

    • Rol de IAM

    • Usuario de IAM

    • Sesión de usuario federado de AWS STS

    • Usuario raíz de la Cuenta de AWS

  • Tipo de datos: ARN, cadena

    AWS recomienda utilizar operadores de ARN en lugar de operadores de cadenas al comparar los ARN.

  • Tipo de valor: valor único

  • Valores de ejemplo: en la siguiente lista se muestra el valor de contexto de solicitud que se devuelve para los diferentes tipos de entidades principales que se pueden especificar en la clave de condición aws:PrincipalArn:

    • Rol de IAM: el contexto de la solicitud contiene el siguiente valor para la clave de condición aws:PrincipalArn. No especifique el ARN de la sesión de rol asumido como valor para esta clave de condición. Para obtener más información acerca de la entidad principal de la sesión de rol asumido, consulte Entidades principales de sesión de rol.

      arn:aws:iam::123456789012:role/role-name
    • Usuario de IAM: el contexto de la solicitud contiene el siguiente valor para la clave de condiciónaws:PrincipalArn.

      arn:aws:iam::123456789012:user/user-name
    • Sesiones de usuario federado de AWS STS: el contexto de la solicitud contiene el siguiente valor para la clave de condición aws:PrincipalArn.

      arn:aws:sts::123456789012:federated-user/user-name
    • Usuario raíz de la Cuenta de AWS: el contexto de la solicitud contiene el siguiente valor para la clave de condición aws:PrincipalArn. Cuando se especifica el ARN del usuario raíz como valor para la clave de condición aws:PrincipalArn, limita los permisos solo para el usuario raíz de la Cuenta de AWS. Esto es distinto de especificar el ARN del usuario raíz en el elemento principal de una política basada en recursos, que delega la autoridad en la Cuenta de AWS. Para obtener más información sobre cómo especificar el ARN del usuario raíz en el elemento principal de una política basada en recursos, consulte Entidades principales de Cuenta de AWS.

      arn:aws:iam::123456789012:root

Puede especificar el ARN del usuario raíz como un valor de la clave de condición aws:PrincipalArn en políticas de control de servicio (SCP) de AWS Organizations. Las SCP son un tipo de política de organización que se emplea para administrar permisos en una organización y solo afectan a las cuentas de miembros de la organización. Una SCP limita los permisos para los usuarios y roles de IAM en las cuentas miembro, incluido el usuario raíz de la cuenta de miembro. Para obtener más información sobre el efecto de las SCP sobre los permisos, consulte Efectos de las SCP en los permisos en la Guía del usuario de Organizaciones.

aws:PrincipalAccount

Utilice esta clave para comparar la cuenta a la que pertenece la entidad principal solicitante con el identificador de cuenta que especifique en la política. Para las solicitudes anónimas, el contexto de la solicitud devuelve anonymous.

  • Disponibilidad: esta clave se incluye en el contexto de solicitud de todas las solicitudes, incluidas las anónimas.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

En el siguiente ejemplo, se deniega el acceso a todo excepto a las entidades principales con el número de cuenta 123456789012.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAccessFromPrincipalNotInSpecificAccount", "Action": "service:*", "Effect": "Deny", "Resource": [ "arn:aws:service:region:accountID:resource" ], "Condition": { "StringNotEquals": { "aws:PrincipalAccount": [ "123456789012" ] } } } ] }

aws:PrincipalOrgPaths

Utilice esta clave para comparar la ruta de acceso de AWS Organizations de la entidad principal que realiza la solicitud a la ruta de acceso en la política. La entidad principal puede ser un usuario de IAM, un rol de IAM, un usuario federado o un Usuario raíz de la cuenta de AWS. En una política, esta clave de condición garantiza que el solicitante es un miembro de la cuenta dentro de la raíz de la organización o unidades organizativas (OU) especificadas en AWS Organizations. Una ruta AWS Organizations es una representación de texto de la estructura de una entidad de Organizations. Para obtener más información sobre el uso y la comprensión de las rutas, consulte Comprender la ruta de la entidad AWS Organizations.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud solo si la entidad principal es miembro de una organización. Las solicitudes anónimas no incluyen esta clave.

  • Tipo de datos: cadena (lista)

  • Tipo de valor: multivalor

nota

Los ID de organización son únicos globalmente, pero los ID de unidad organizativa y los ID de raíz solo son únicos dentro de una organización. Esto significa que no hay dos organizaciones que compartan el mismo ID de organización. Sin embargo, otra organización puede tener una unidad organizativa o raíz con el mismo ID que la suya. Recomendamos que incluya siempre el ID de organización cuando especifique una unidad organizativa o raíz.

Por ejemplo, la siguiente condición devuelve true para las entidades principales en cuentas que están asociadas directamente a la unidad organizativa ou-ab12-22222222, pero no en sus unidades organizativas secundarias.

"Condition" : { "ForAnyValue:StringEquals" : { "aws:PrincipalOrgPaths":["o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/"] }}

La siguiente condición devuelve true para las entidades principales de una cuenta que está asociada directamente a la unidad organizativa o a cualquiera de sus unidades organizativas secundarias. Cuando se incluye un comodín, se debe utilizar el operador de condición StringLike.

"Condition" : { "ForAnyValue:StringLike" : { "aws:PrincipalOrgPaths":["o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/*"] }}

La siguiente condición devuelve true para las entidades principales de una cuenta que está adjunta directamente a cualquiera de las OU secundarias, pero no directamente a la OU primaria. La condición anterior es para la unidad organizativa o para cualquier unidad organizativa secundaria. La siguiente condición es solo para las secundarias (y las subsiguientes que le siguen).

"Condition" : { "ForAnyValue:StringLike" : { "aws:PrincipalOrgPaths":["o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/ou-*"] }}

La siguiente condición permite el acceso a todas las entidades principales de la organización o-a1b2c3d4e5, independientemente de su unidad organizativa principal.

"Condition" : { "ForAnyValue:StringLike" : { "aws:PrincipalOrgPaths":["o-a1b2c3d4e5/*"] }}

aws:PrincipalOrgPaths es una clave de condición multivalor. Las claves de condición multivalor pueden tener varios valores en el contexto de la solicitud. Cuando se utilizan varios valores con el operador de condición ForAnyValue, la ruta de acceso del principal debe coincidir con una de las rutas enumeradas en la política. Para obtener más información acerca de las claves de condición multivalor, consulte Claves de contexto multivalor.

"Condition": { "ForAnyValue:StringLike": { "aws:PrincipalOrgPaths": [ "o-a1b2c3d4e5/r-ab12/ou-ab12-33333333/*", "o-a1b2c3d4e5/r-ab12/ou-ab12-22222222/*" ] } }

aws:PrincipalOrgID

Utilice esta clave para comparar el identificador de la organización en AWS Organizations a la que pertenece la entidad principal solicitante con el identificador especificado en la política.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud solo si la entidad principal es miembro de una organización. Las solicitudes anónimas no incluyen esta clave.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

Esta clave global proporciona una alternativa a mostrar todos los ID de todas las cuentas de AWS de una organización. Puede utilizar esta clave de condición para simplificar la especificación del elemento Principal en una política basada en recursos. Puede especificar el ID de organización en el elemento de condición. Al añadir y quitar cuentas, las políticas que incluyen la clave aws:PrincipalOrgID incluyen automáticamente las cuentas correctas y no requieren una actualización manual.

Por ejemplo, la siguiente política de bucket de Amazon S3 permite a los miembros de cualquier cuenta de la organización o-xxxxxxxxxxx agregar un objeto al bucket policy-ninja-dev.

{ "Version": "2012-10-17", "Statement": { "Sid": "AllowPutObject", "Effect": "Allow", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::policy-ninja-dev/*", "Condition": {"StringEquals": {"aws:PrincipalOrgID":"o-xxxxxxxxxxx"} } } }
nota

Esta condición global también se aplica a la cuenta de administración de una organización AWS. Esta política impide que todas las entidades principales fuera de la organización especificada accedan al bucket de Amazon S3. Esto incluye cualquiera de los servicios de AWS que interactúan con sus recursos internos, tales como el envío de datos de registro de AWS CloudTrail a los buckets de Amazon S3. Para obtener información sobre cómo puede conceder acceso de forma segura para los servicios de AWS, consulte aws:PrincipalIsAWSService.

Para obtener más información sobre AWS Organizations, consulte ¿Qué es AWS Organizations? en la Guía del usuario de AWS Organizations.

aws:PrincipalTag/tag-key

Utilice esta clave para comparar la etiqueta asociada a la entidad principal que realiza la solicitud con la etiqueta que especifique en la política. Si la entidad principal tiene más de una etiqueta asociada, el contexto de la solicitud incluye una clave aws:PrincipalTag para cada clave de etiqueta asociada.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud si la entidad principal está usando un usuario de IAM con etiquetas asociadas. Se incluye para una entidad principal que utiliza un rol de IAM con etiquetas o etiquetas de sesión asociadas. Las solicitudes anónimas no incluyen esta clave.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

Puede añadir atributos personalizados a un usuario o rol en forma de un par de clave-valor. Para obtener más información sobre las etiquetas en IAM, consulte Etiquetado de recursos de IAM. Puede utilizar aws:PrincipalTag para controlar el acceso para entidades principales de AWS.

En este ejemplo se muestra cómo puede crear una política basada en identidad que permita a usuarios con la etiqueta department=hr administrar usuarios, grupos o roles de IAM. Para utilizar esta política, sustituya el texto en cursiva del marcador de la política de ejemplo con su propia información. A continuación, siga las instrucciones en Crear una política o Editar una política.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:*", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalTag/department": "hr" } } } ] }

aws:PrincipalIsAWSService

Utilice esta clave para comprobar si la llamada a su recurso se está realizando directamente por una entidad principal de servicio de AWS. Por ejemplo, AWS CloudTrail utiliza la entidad principal de servicio cloudtrail.amazonaws.com para escribir registros en su bucket de Amazon S3. La clave de contexto de solicitud se establece en true cuando un servicio utiliza una entidad principal de servicio para realizar una acción directa en los recursos. La clave de contexto se configura como false si un servicio utiliza las credenciales de una entidad principal de IAM para realizar una solicitud en nombre de la entidad principal. También se configura en false si el servicio utiliza un rol de servicio o un rol vinculado al servicio para realizar una llamada en nombre de la entidad principal.

  • Disponibilidad: esta clave está presente en el contexto de la solicitud de todas las solicitudes de API firmadas que utilizan credenciales de AWS. Las solicitudes anónimas no incluyen esta clave.

  • Tipos de datos: booleano

  • Tipo de valor: valor único

Puede utilizar esta clave de condición para limitar el acceso a las identidades de confianza y a las ubicaciones de red esperadas mientras concede acceso seguro a servicios de AWS.

En el siguiente ejemplo de política de bucket de Amazon S3, el acceso al bucket está restringido a menos que la solicitud se origine en vpc-111bbb22 o provenga de una entidad principal de servicio, como CloudTrail.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Expected-network+service-principal", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET1/AWSLogs/AccountNumber/*", "Condition": { "StringNotEqualsIfExists": { "aws:SourceVpc": "vpc-111bbb22" }, "BoolIfExists": { "aws:PrincipalIsAWSService": "false" } } } ] }

En el siguiente video tiene más información acerca de cómo utilizar la clave de condición aws:PrincipalIsAWSService en una política.

aws:PrincipalServiceName

Utilice esta clave para comparar el nombre de la entidad principal del servicio en la política con la entidad principal de servicio que está realizando solicitudes a sus recursos. Puede utilizar esta clave para comprobar si esta llamada es realizada por una entidad principal de servicio específica. Cuando una entidad principal de servicio realiza una solicitud directa a su recurso, la clave aws:PrincipalServiceName contiene el nombre de la entidad principal del servicio. Por ejemplo, el nombre de la entidad principal de servicio AWS CloudTrail es cloudtrail.amazonaws.com.

  • Disponibilidad: esta clave está presente en la solicitud cuando a la llamada la realiza una entidad principal de servicio de AWS. Esta clave no está presente en ninguna otra situación, incluida la siguiente:

    • Si el servicio utiliza un rol de servicio o un rol vinculado al servicio para realizar una llamada en nombre de la entidad principal.

    • Si un servicio utiliza las credenciales de una entidad principal de IAM para realizar una solicitud en nombre de la entidad principal.

    • Si a la llamada la realiza directamente una entidad principal de IAM.

    • Si a la llamada la realiza un solicitante anónimo.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

Puede utilizar esta clave de condición para limitar el acceso a las identidades de confianza y a las ubicaciones de red esperadas mientras concede acceso seguro a un servicio de AWS.

En el siguiente ejemplo de política de bucket de Amazon S3, el acceso al bucket está restringido a menos que la solicitud se origine en vpc-111bbb22 o provenga de una entidad principal de servicio, como CloudTrail.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "expected-network+service-principal", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET1/AWSLogs/AccountNumber/*", "Condition": { "StringNotEqualsIfExists": { "aws:SourceVpc": "vpc-111bbb22", "aws:PrincipalServiceName": "cloudtrail.amazonaws.com" } } } ] }

aws:PrincipalServiceNamesList

Esta clave proporciona una lista de todas las entidades principales del servicio de nombres que pertenecen al servicio. Esta es una clave de condición avanzada. Puede utilizarla para restringir que el servicio acceda a su recurso solo desde una región específica. Algunos servicios pueden crear entidades de servicio regionales para indicar una instancia concreta del servicio dentro de una Región específica. Puede limitar el acceso a un recurso a una instancia concreta del servicio. Cuando una entidad de servicio realiza una solicitud directa a su recurso, el aws:PrincipalServiceNamesList contiene una lista desordenada de todos los nombres principales de servicio asociados a la instancia regional del servicio.

  • Disponibilidad: esta clave está presente en la solicitud cuando a la llamada la realiza una entidad principal de servicio de AWS. Esta clave no está presente en ninguna otra situación, incluida la siguiente:

    • Si el servicio utiliza un rol de servicio o un rol vinculado al servicio para realizar una llamada en nombre de la entidad principal.

    • Si un servicio utiliza las credenciales de una entidad principal de IAM para realizar una solicitud en nombre de la entidad principal.

    • Si a la llamada la realiza directamente una entidad principal de IAM.

    • Si a la llamada la hace un solicitante anónimo.

  • Tipo de datos: cadena (lista)

  • Tipo de valor: multivalor

aws:PrincipalServiceNamesList es una clave de condición multivalor. Las claves de condición multivalor pueden tener varios valores en el contexto de la solicitud. Debe utilizar los operadores de servicio ForAnyValue o ForAllValues con los operadores de condición de cadena cuando utilice esta clave. Para obtener más información acerca de las claves de condición multivalor, consulte Claves de contexto multivalor.

aws:PrincipalType

Utilice esta clave para comparar el tipo de entidad principal que realiza la solicitud con el tipo de entidad principal que especifique en la política. Para obtener más información, consulte Especificación de una entidad principal. Para ver ejemplos específicos de valores de clave de principal, consulte Valores clave principales.

  • Disponibilidad: esta clave se incluye en el contexto de solicitud de todas las solicitudes, incluidas las anónimas.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

aws:userid

Utilice esta clave para comparar el identificador principal del solicitante con el ID que especifique en la política. Para los usuarios de IAM, el valor del contexto de la solicitud es el ID de usuario. Para roles de IAM, este formato de valor puede variar. Para obtener más información sobre cómo aparece la información para diferentes entidades principales, consulte Especificación de una entidad principal. Para ver ejemplos específicos de valores de clave principal, consulte Valores clave principales.

  • Disponibilidad: esta clave se incluye en el contexto de solicitud de todas las solicitudes, incluidas las anónimas.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

aws:username

Utilice esta clave para comparar el nombre de usuario del solicitante con el nombre de usuario que especifique en la política. Para obtener más información sobre cómo aparece la información para diferentes entidades principales, consulte Especificación de una entidad principal. Para ver ejemplos específicos de valores de clave principal, consulte Valores clave principales.

  • Disponibilidad: Esta clave siempre se incluye en el contexto de solicitud para los usuarios de IAM. Las solicitudes anónimas y las solicitudes que se realizan con los roles de IAM o Usuario raíz de la cuenta de AWS no incluyen esta clave. Las solicitudes realizadas con credenciales de IAM Identity Center no incluyen esta clave en el contexto.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

Propiedades de una sesión de rol

Utilice las siguientes claves de condición para comparar las propiedades de la sesión de rol en el momento en que se generó. Estas claves de condición solo están disponibles cuando una entidad principal con credenciales de usuario federado o de sesión de rol realiza una solicitud. Los valores de estas claves de condición están integrados en el token de sesión del rol.

Un rol es un tipo de entidad principal. También puede utilizar las claves de condición de la sección Propiedades de la entidad principal para evaluar las propiedades de un rol cuando este realiza una solicitud.

aws:FederatedProvider

Utilice esta clave para comparar el proveedor de identidad (IdP) emisor de la entidad principal con el IdP que especifica en la política. Esto significa que se asumió un rol de IAM mediante las operaciones de AssumeRoleWithWebIdentity de AWS STS. Cuando se utilizan las credenciales temporales de la sesión de rol resultante para realizar una solicitud, el contexto de solicitud identifica el IdP que autenticó la identidad federada original.

  • Disponibilidad: esta clave está presente cuando la entidad principal es una entidad principal de sesión de rol y esa sesión se ha emitido cuando se asumió un rol con AssumeRoleWithWebIdentity.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

Por ejemplo, si el usuario se ha autenticado con Amazon Cognito, el contexto de la solicitud incluye el valor cognito-identity.amazonaws.com. Del mismo modo, si el usuario se ha autenticado con Login with Amazon, el contexto de la solicitud incluye el valor www.amazon.com.

Puede utilizar cualquier clave de condición de valor único como variable. En el siguiente ejemplo de política basada en recursos, se utiliza la clave aws:FederatedProvider como una variable de la política en el ARN de un recurso. Esta política permite a cualquier entidad principal autenticada mediante un IdP obtener los objetos de un bucket de Amazon S3 con una ruta específica del proveedor de identidad emisor.

aws:TokenIssueTime

Utilice esta clave para comparar la fecha y la hora en que se emitieron las credenciales de seguridad temporales con la fecha y hora que especifique en la política.

  • Disponibilidad: Esta clave se incluye en el contexto de la solicitud solo cuando la entidad principal utiliza credenciales temporales para realizar la solicitud. La clave no está presente en solicitudes de la AWS CLI, la API de AWS o el AWS SDK realizadas con claves de acceso.

  • Tipo de datos: fecha

  • Tipo de valor: Valor único

Para obtener información sobre los servicios que admiten el uso de credenciales temporales, consulte Servicios de AWS que funcionan con IAM.

aws:MultiFactorAuthAge

Utilice esta clave para comparar el número de segundos desde que se autorizó a la entidad principal solicitante mediante MFA con el número especificado en la política. Para obtener más información acerca de MFA, consulte Uso de autenticación multifactor (MFA) en AWS.

importante

Esta clave de condición no está presente en las identidades federadas ni en las solicitudes realizadas con claves de acceso para firmar solicitudes de la CLI de AWS, la API de AWS o el AWS SDK. Para obtener más información sobre cómo añadir la protección de MFA a las operaciones de la API con credenciales de seguridad temporales, consulte Configuración del acceso a una API protegido por MFA.

Para comprobar si la MFA se utiliza para validar las identidades federadas de IAM, puede pasar el método de autenticación de su proveedor de identidad a AWS como una etiqueta de sesión. Para obtener más información, consulte Transferencia de etiquetas de sesión en AWS STS. Para aplicar la MFA a las identidades de IAM Identity Center, puede habilitar los atributos de control de acceso para que pasen una reclamación de confirmación de SAML con el método de autenticación de su proveedor de identidad a IAM Identity Center.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud solo cuando la entidad principal utiliza credenciales temporales de seguridad para realizar la solicitud. Las políticas con condiciones de MFA se pueden asociar a los siguientes elementos:

    • Un usuario o grupo de IAM

    • Un recurso, como un bucket de Amazon S3, una cola de Amazon SQS o un tema de Amazon SNS

    • La política de confianza de un rol de IAM que un usuario puede asumir

  • Tipos de datos: numéricos

  • Tipo de valor: valor único

aws:MultiFactorAuthPresent

Utilice esta clave para comprobar si se utilizó la autenticación multifactor (MFA) para validar las credenciales de seguridad temporales que realizó la solicitud.

importante

Esta clave de condición no está presente en las identidades federadas ni en las solicitudes realizadas con claves de acceso para firmar solicitudes de la CLI de AWS, la API de AWS o el AWS SDK. Para obtener más información sobre cómo añadir la protección de MFA a las operaciones de la API con credenciales de seguridad temporales, consulte Configuración del acceso a una API protegido por MFA.

Para comprobar si la MFA se utiliza para validar las identidades federadas de IAM, puede pasar el método de autenticación de su proveedor de identidad a AWS como una etiqueta de sesión. Para obtener más información, consulte Transferencia de etiquetas de sesión en AWS STS. Para aplicar la MFA a las identidades del IAM Identity Center, puede habilitar los atributos de control de acceso para que pasen una reclamación de confirmación de SAML con el método de autenticación de su proveedor de identidad al IAM Identity Center.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud solo cuando la entidad principal utiliza credenciales temporales para realizar la solicitud. Las políticas con condiciones de MFA se pueden asociar a los siguientes elementos:

    • Un usuario o grupo de IAM

    • Un recurso, como un bucket de Amazon S3, una cola de Amazon SQS o un tema de Amazon SNS

    • La política de confianza de un rol de IAM que un usuario puede asumir

  • Tipos de datos: booleano

  • Tipo de valor: valor único

Las credenciales temporales se utilizan para autenticar roles de IAM y usuarios de IAM con tokens temporales de AssumeRole o de GetSessionToken y de usuarios de la AWS Management Console.

Las claves de acceso de usuarios de IAM son credenciales a largo plazo, pero en algunos casos, AWS crea credenciales temporales en nombre de los usuarios de IAM para realizar operaciones. En estos casos, la clave aws:MultiFactorAuthPresent está presente en la solicitud y se establece en un valor de false. Hay dos casos frecuentes en los que esto puede suceder:

  • Los usuarios de IAM sin saberlo, usan credenciales temporales en la AWS Management Console. Los usuarios inician sesión en la consola con su nombre de usuario y contraseña, que son credenciales a largo plazo. Sin embargo, en segundo plano, la consola genera credenciales temporales en nombre del usuario.

  • Si un usuario de IAM realiza una llamada a un servicio de AWS, el servicio vuelve a utilizar las credenciales del usuario para realizar otra solicitud a un servicio diferente. Por ejemplo, cuando se llama a Athena para obtener acceso a un bucket de Amazon S3 o cuando se usa AWS CloudFormation para crear una instancia de Amazon EC2. Para la próxima solicitud, AWS utiliza credenciales temporales.

Para obtener información sobre los servicios que admiten el uso de credenciales temporales, consulte Servicios de AWS que funcionan con IAM.

La clave aws:MultiFactorAuthPresent nunca está presente cuando se llama a una API o a un comando de la CLI con credenciales a largo plazo, como los pares de claves de acceso de usuario. Por lo tanto, recomendamos que cuando compruebe esta clave utilice las versiones ...IfExists de los operadores de condición.

Es importante entender que el siguiente elemento Condition no es una forma fiable de comprobar si una solicitud se ha autenticado mediante MFA.

##### WARNING: NOT RECOMMENDED ##### "Effect" : "Deny", "Condition" : { "Bool" : { "aws:MultiFactorAuthPresent" : "false" } }

Esta combinación del efecto Deny, el elemento Bool y el valor false deniega las solicitudes que se pueden autenticar con MFA, pero que no han sido autenticadas de ese modo. Se aplica únicamente a las credenciales temporales que admiten el uso de MFA. Esta instrucción no deniega el acceso a las solicitudes realizadas con las credenciales a largo plazo ni a las solicitudes que se han autenticado con MFA. Utilice este ejemplo con precaución ya que su lógica es complicada y no comprueba si realmente se usó la autenticación tipo MFA.

Además no utilice la combinación del efecto Deny, el elemento Null y true ya que se comporta de la misma manera y la lógica es incluso más complicada.

Combinación recomendada

Recomendamos utilizar el operador BoolIfExists para comprobar si se ha autenticado una solicitud con MFA.

"Effect" : "Deny", "Condition" : { "BoolIfExists" : { "aws:MultiFactorAuthPresent" : "false" } }

Esta combinación de Deny, BoolIfExists y false deniega las solicitudes que no están autenticadas con MFA. En concreto, deniega las solicitudes de credenciales temporales que no incluyen MFA. También deniega las solicitudes realizadas con credenciales a largo plazo, como las operaciones de la AWS CLI o de la API de AWS realizadas con claves de acceso. El operador *IfExists comprueba la presencia de la clave aws:MultiFactorAuthPresent y si podría estar presente o no, como lo indica su existencia. Utilícelo cuando desee denegar solicitudes que no están autenticadas con MFA. Esto es más seguro, pero puede interrumpir cualquier código o script que utilice claves de acceso para obtener acceso a la AWS CLI o la API de AWS.

Combinaciones alternativas

También puede utilizar el operador BoolIfExists para permitir solicitudes autenticadas con MFA y solicitudes de la AWS CLI o la API de AWS realizadas con las credenciales a largo plazo.

"Effect" : "Allow", "Condition" : { "BoolIfExists" : { "aws:MultiFactorAuthPresent" : "true" } }

Esta condición coincide tanto si la clave existe y está presente como si la clave no existe. Esta combinación de Allow, BoolIfExists y true permite solicitudes autenticadas mediante MFA o solicitudes que no pueden autenticarse con MFA. Esto significa que las operaciones de la AWS CLI, la API de AWS y el AWS SDK están permitidas cuando el solicitante utiliza sus claves de acceso a largo plazo. Esta combinación no permite solicitudes de credenciales temporales que podrían, pero no incluyen MFA.

Al crear una política con el editor visual de la consola de IAM y elegir MFA requerida, se aplica esta combinación. Esta configuración requiere MFA para acceso a la consola, pero permite el acceso mediante programación sin MFA.

También puede utilizar el operador Bool para permitir solicitudes programáticas y de consola solo cuando se autentique mediante MFA.

"Effect" : "Allow", "Condition" : { "Bool" : { "aws:MultiFactorAuthPresent" : "true" } }

Esta combinación de Allow, Bool y true permite solo las solicitudes autenticadas con MFA. Se aplica únicamente a las credenciales temporales que admiten el uso de MFA. Esta instrucción no permite el acceso a las solicitudes realizadas con las claves de acceso a largo plazo ni a las solicitudes realizadas con credenciales temporales sin MFA.

No utilice una estructura de política similar a la siguiente para comprobar si la clave de MFA está presente:

##### WARNING: USE WITH CAUTION ##### "Effect" : "Allow", "Condition" : { "Null" : { "aws:MultiFactorAuthPresent" : "false" } }

Esta combinación del efecto Allow, el elemento Null y el valor false permite únicamente las solicitudes que se pueden autenticar con MFA, independientemente de si la solicitud está, de hecho, autenticada. Esto permite todas las solicitudes que se realizan con credenciales temporales y deniega el acceso para las credenciales a largo plazo. Utilice este ejemplo con precaución ya que no comprueba si realmente se usó la autenticación tipo MFA.

aws:Ec2InstanceSourceVpc

Esta clave identifica la VPC a la que se entregaron las credenciales del rol de IAM de Amazon EC2. Puede usar esta clave en una política con la clave global aws:SourceVPC para comprobar si se realiza una llamada desde una VPC (aws:SourceVPC) que coincide con la VPC a la que se entregó la credencial (aws:Ec2InstanceSourceVpc).

  • Disponibilidad: Esta clave se incluye en el contexto de la solicitud cuando el solicitante firma las solicitudes con una credencial de rol de Amazon EC2. Se puede utilizar en políticas de IAM, políticas de control de servicios, políticas de punto de conexión de VPC y políticas de recursos.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

Esta clave se puede usar con los valores del identificador de VPC, pero es más útil cuando se usa como una variable combinada con la clave de contexto aws:SourceVpc. La clave de contexto aws:SourceVpc se incluye en el contexto de la solicitud solo si el solicitante utiliza un punto de conexión de VPC para realizar la solicitud. Usar aws:Ec2InstanceSourceVpc con aws:SourceVpc permite un uso de aws:Ec2InstanceSourceVpc más amplio, ya que compara valores que normalmente cambian juntos.

nota

Esta clave de condición no está disponible en EC2-Classic.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireSameVPC", "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "StringNotEquals": { "aws:SourceVpc": "${aws:Ec2InstanceSourceVpc}" }, "Null": { "ec2:SourceInstanceARN": "false" }, "BoolIfExists": { "aws:ViaAWSService": "false" } } } ] }

En el ejemplo anterior, se deniega el acceso si el valor aws:SourceVpc no es igual al valor aws:Ec2InstanceSourceVpc. La instrucción de política se limita únicamente a los roles que se utilizan como roles de instancia de Amazon EC2 al comprobar la existencia de la clave de condición ec2:SourceInstanceARN.

La política utiliza aws:ViaAWSService para permitir que AWS autorice solicitudes cuando las solicitudes se realizan en nombre de sus roles de instancia de Amazon EC2. Por ejemplo, cuando realiza una solicitud desde una instancia de Amazon EC2 a un bucket de Amazon S3 cifrado, Amazon S3 realiza una llamada a AWS KMS en su nombre. Algunas de las claves no están presentes cuando se hace la solicitud a AWS KMS.

aws:Ec2InstanceSourcePrivateIPv4

Esta clave identifica la dirección IPv4 privada de la interfaz de red elástica principal a la que se entregaron las credenciales del rol de IAM de Amazon EC2. Debe usar esta clave de condición con su clave complementaria aws:Ec2InstanceSourceVpc para garantizar que tiene una combinación única global de ID de VPC e IP privada de origen. Utilice esta clave con aws:Ec2InstanceSourceVpc para asegurarse de que la solicitud se haya realizado desde la misma dirección IP privada a la que se entregaron las credenciales.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud cuando el solicitante firma las solicitudes con una credencial de rol de Amazon EC2. Se puede utilizar en políticas de IAM, políticas de control de servicios, políticas de punto de conexión de VPC y políticas de recursos.

  • Tipo de datos: dirección IP

  • Tipo de valor: valor único

importante

Esta clave no debe usarse sola en una instrucción Allow. Las direcciones IP privadas, por definición, no son únicas a nivel global. Debe utilizar la clave aws:Ec2InstanceSourceVpc cada vez que utilice la clave aws:Ec2InstanceSourcePrivateIPv4 para especificar la VPC desde la que se pueden usar las credenciales de la instancia de Amazon EC2.

nota

Esta clave de condición no está disponible en EC2-Classic.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "StringNotEquals": { "aws:Ec2InstanceSourceVpc": "${aws:SourceVpc}" }, "Null": { "ec2:SourceInstanceARN": "false" }, "BoolIfExists": { "aws:ViaAWSService": "false" } } }, { "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "StringNotEquals": { "aws:Ec2InstanceSourcePrivateIPv4": "${aws:VpcSourceIp}" }, "Null": { "ec2:SourceInstanceARN": "false" }, "BoolIfExists": { "aws:ViaAWSService": "false" } } } ] }

aws:SourceIdentity

Utilice esta clave para comparar la identidad de origen establecida por la entidad principal con la identidad de origen que usted especifique en la política.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud después de establecer una identidad de origen cuando se asume un rol utilizando cualquier comando de la CLI de assume-role de AWS STS, o una operación de la API de AssumeRole de AWS STS.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

Puede utilizar esta clave en una política para permitir acciones en AWS por entidades que han establecido una identidad de origen al asumir un rol. La actividad de la identidad de origen especificada del rol aparece en AWS CloudTrail. Esto facilita a los administradores determinar quién o qué ha realizado acciones con un rol en AWS.

A diferencia de sts:RoleSessionName, después de establecer la identidad de origen, el valor no se puede cambiar. Está presente en el contexto de la solicitud de todas las acciones tomadas por el rol. El valor persiste en sesiones de rol posteriores cuando se utilizan las credenciales de sesión para asumir otro rol. Asumir un rol de otro se llama encadenamiento de roles.

La clave sts:SourceIdentity está presente en la solicitud cuando la entidad principal establece inicialmente una identidad de origen mientras asume un rol utilizando cualquier comando assume-role CLI AWS STS, o una operación AWS STS de API AssumeRole. La clave aws:SourceIdentity presente en la solicitud de cualquier acción que se realice con una sesión de rol que tenga un conjunto de identidad de origen.

La siguiente política de confianza de rol de CriticalRole en la cuenta 111122223333 contiene una condición para aws:SourceIdentity que impide que una entidad principal sin una identidad de origen establecida para Saanvi o Diego asuma el rol.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AssumeRoleIfSourceIdentity", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::123456789012:role/CriticalRole"}, "Action": [ "sts:AssumeRole", "sts:SetSourceIdentity" ], "Condition": { "StringLike": { "aws:SourceIdentity": ["Saanvi","Diego"] } } } ] }

Para obtener más información acerca del uso de información de identidad de origen, consulte Monitorear y controlar las acciones realizadas con roles asumidos.

ec2:RoleDelivery

Utilice esta clave para comparar la versión del servicio de metadatos de instancia en la solicitud firmada con las credenciales del rol de IAM para Amazon EC2. El servicio de metadatos de la instancia distingue entre solicitudes IMDSv1 y IMDSv2 en función de si, en cualquier solicitud, los encabezados PUT o GET, que son exclusivos de IMDSv2, están presentes en dicha solicitud.

  • Disponibilidad: esta clave forma parte del contexto de la solicitud cada vez que una instancia de Amazon EC2 crea la sesión de rol.

  • Tipos de datos: numéricos

  • Tipo de valor: valor único

  • Valores de ejemplo: 1.0, 2.0

Puede configurar el servicio de metadatos de instancia (IMDS) en cada instancia para que el código local o los usuarios deban usar IMDSv2. Si especifica que debe usarse IMDSv2, IMDSv1 dejará de funcionar.

  • Servicio de metadatos de instancia, versión 1 (IMDSv1): un método de solicitud y respuesta

  • Servicio de metadatos de instancia, versión 2 (IMDSv2): un método orientado a la sesión

Para obtener información sobre cómo configurar su instancia para usar IMDSv2, consulte Configurar las opciones de metadatos de la instancia.

En el siguiente ejemplo, se deniega el acceso si el valor ec2:RoleDelivery en el contexto de la solicitud es 1.0 (IMDSv1). Esta declaración de política puede aplicarse de manera general porque, si la solicitud no está firmada por las credenciales de rol de Amazon EC2, no tiene efecto.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireAllEc2RolesToUseV2", "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "NumericLessThan": { "ec2:RoleDelivery": "2.0" } } } ] }

Para obtener más información, consulte Ejemplos de políticas para trabajar con metadatos de instancia.

ec2:SourceInstanceArn

Utilice esta clave para comparar el ARN de la instancia en la cual se generó la sesión del rol.

  • Disponibilidad: esta clave forma parte del contexto de la solicitud cada vez que una instancia de Amazon EC2 crea la sesión de rol.

  • Tipo de datos: ARN

  • Tipo de valor: valor único

  • Valor de ejemplo: arn:aws:ec2:us-west-2:111111111111:instance/instance-id

Para ver ejemplos de políticas, consulte Permitir que una instancia específica vea recursos en otros servicios de AWS.

glue:RoleAssumedBy

El servicio de AWS Glue establece esta clave de condición para cada solicitud de API de AWS donde AWS Glue realiza una solicitud mediante un rol de servicio en nombre del cliente (no a través de una tarea o un punto de conexión de desarrollador, sino directamente a través del servicio de AWS Glue). Utilice esta clave para verificar si una llamada a un recurso de AWS proviene del servicio de AWS Glue.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud cuando AWS Glue realiza una solicitud mediante un rol de servicio en nombre del cliente.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

  • Ejemplo de valor: esta clave siempre se establece como glue.amazonaws.com.

En el siguiente ejemplo se añade una condición para permitir que el servicio de AWS Glue obtenga un objeto de un bucket de Amazon S3.

{ "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::confidential-bucket/*", "Condition": { "StringEquals": { "glue:RoleAssumedBy": "glue.amazonaws.com" } } }

glue:CredentialIssuingService

El servicio de AWS Glue establece esta clave para cada solicitud de API de AWS que utiliza un rol de servicio que proviene de una tarea o un punto de conexión de desarrollador. Utilice esta clave para verificar si una llamada a un recurso de AWS provino de una tarea de AWS Glue o de un punto de conexión de desarrollador.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud cuando AWS Glue realiza una solicitud que proviene de una tarea o un punto de conexión de desarrollador.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

  • Ejemplo de valor: esta clave siempre se establece como glue.amazonaws.com.

En el siguiente ejemplo, se agrega una condición que está asociada a un rol de IAM que utiliza una tarea de AWS Glue. Esto garantiza que se permitan o denieguen determinadas acciones en función de si la sesión de rol se utiliza para el entorno de tiempo de ejecución de un trabajo de AWS Glue.

{ "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::confidential-bucket/*", "Condition": { "StringEquals": { "glue:CredentialIssuingService": "glue.amazonaws.com" } } }

lambda:SourceFunctionArn

Utilice esta clave para identificar el ARN de la función de Lambda a la que se entregaron las credenciales del rol de IAM. El servicio de Lambda establece esta clave para cada solicitud de API de AWS que provenga del entorno de ejecución de la función. Utilice esta clave para verificar si una llamada a un recurso de AWS proviene del código de una función de Lambda específica. Lambda también establece esta clave para algunas solicitudes que provienen de fuera del entorno de ejecución, como escribir registros en CloudWatch y enviar seguimientos a X-Ray.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud cuando se invoca el código de la función de Lambda.

  • Tipo de datos: ARN

  • Tipo de valor: valor único

  • Valor de ejemplo: arn:aws:lambda:us-east-1:123456789012:function:TestFunction

En el siguiente ejemplo se muestra cómo se permite que una función de Lambda específica tenga acceso s3:PutObject al bucket especificado.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ExampleSourceFunctionArn", "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*", "Condition": { "ArnEquals": { "lambda:SourceFunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:source_lambda" } } } ] }

Para obtener más información, consulte Uso de las credenciales del entorno de ejecución de Lambda en la Guía para desarrolladores de AWS Lambda.

ssm:SourceInstanceArn

Utilice esta clave para identificar el ARN de la instancia administrada por AWS Systems Manager a la que se entregaron las credenciales del rol de IAM. Esta clave de condición no está presente cuando la solicitud proviene de una instancia administrada con un rol de IAM asociado a un perfil de instancia de Amazon EC2.

  • Disponibilidad: esta clave aparece en el contexto de la solicitud siempre que se entregan las credenciales de rol a una instancia administrada por AWS Systems Manager.

  • Tipo de datos: ARN

  • Tipo de valor: valor único

  • Valor de ejemplo: arn:aws:ec2:us-west-2:111111111111:instance/instance-id

identitystore:UserId

Utilice esta clave para comparar la identidad del personal del IAM Identity Center en la solicitud firmada con la identidad especificada en la política.

  • Disponibilidad: esta clave se incluye cuando la persona que llama a la solicitud es un usuario del IAM Identity Center.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

  • Valor de ejemplo: 94482488-3041-7026-18f3-be45837cd0e4

Puede encontrar el ID de usuario de un usuario del IAM Identity Center al realizar una solicitud a la API GetUserID mediante la AWS CLI, la API de AWS o el AWS SDK.

Propiedades de la red

Utilice las siguientes claves de condición para comparar los detalles de la red desde la que se originó o por la que pasó la solicitud con las propiedades de red que especifique en la política.

aws:SourceIp

Utilice esta clave para comparar la dirección IP del solicitante con la dirección IP que especifique en la política. La clave de condición aws:SourceIp solo puede utilizarse para rangos de direcciones IP públicas.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud, excepto cuando el solicitante utiliza un punto de conexión de VPC para realizar la solicitud.

  • Tipo de datos: dirección IP

  • Tipo de valor: valor único

La clave de condición aws:SourceIp se puede utilizar en una política para permitir que las entidades principales realicen solicitudes solo desde un rango de IP especificado.

nota

aws:SourceIp admite tanto las direcciones IPv4 como IPv6 o un rango de direcciones IP. Para obtener una lista de los Servicios de AWS que admiten IPv6, consulte los Servicios de AWS que admiten IPv6 en la Guía del usuario de Amazon VPC.

Por ejemplo, puede asociar la siguiente política basada en identidades a un rol de IAM. Esta política permite al usuario colocar objetos en el bucket de Amazon S3 DOC-EXAMPLE-BUCKET3 si realiza la llamada desde el intervalo de dirección IPv4 especificado. Esta política también permite que un servicio de AWS que utilice Sesiones de acceso directo realice esta operación en su nombre.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PrincipalPutObjectIfIpAddress", "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET3/*", "Condition": { "IpAddress": { "aws:SourceIp": "203.0.113.0/24" } } } ] }

Si necesita restringir el acceso desde redes que admiten direcciones IPv4 e IPv6, puede incluir las direcciones IPv4 e IPv6 o los intervalos de direcciones IP en la condición de la política de IAM. La siguiente política basada en identidades permitirá al usuario colocar objetos en el bucket de Amazon S3 DOC-EXAMPLE-BUCKET3 si el usuario realiza la llamada desde intervalos de direcciones IPv4 o IPv6 especificados. Antes de incluir los intervalos de direcciones IPv6 en su política de IAM, compruebe que el Servicio de AWS con el que está trabajando admita IPv6. Para obtener una lista de los Servicios de AWS que admiten IPv6, consulte los Servicios de AWS que admiten IPv6 en la Guía del usuario de Amazon VPC.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PrincipalPutObjectIfIpAddress", "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET3/*", "Condition": { "IpAddress": { "aws:SourceIp": [ "203.0.113.0/24", "2001:DB8:1234:5678::/64" ] } } } ] }

Si la solicitud proviene de un host que utiliza un punto de conexión de Amazon VPC, entonces la clave aws:SourceIp no estará disponible. En su lugar, debe utilizar una clave específica de la VPC, como aws:VpcSourceIp. Para obtener más información acerca del uso de puntos de conexión de VPC, consulte Administración de identidades y accesos para puntos de conexión de VPC y servicios de punto de conexión de VPC en la Guía de AWS PrivateLink.

aws:SourceVpc

Utilice esta clave para comprobar si la solicitud pasa por la VPC a la que está asociado el punto de conexión de VPC. En una política, puede utilizar esta clave para permitir el acceso solo a una VPC específica. Para obtener más información, consulte Restricciones de acceso a una VPC específica en la Guía del usuario de Amazon Simple Storage Service.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud solo si el solicitante utiliza un punto de conexión de VPC para realizar la solicitud.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

aws:SourceVpce

Utilice esta clave para comparar el identificador de punto de conexión de VPC de la solicitud con el ID de punto de conexión que especifique en la política. En una política, puede utilizar esta clave para restringir el acceso a un punto de conexión de VPC específico. Para obtener más información, consulte Restricciones de acceso a un punto de conexión de VPC específico en la Guía del usuario de Amazon Simple Storage Service.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud solo si el solicitante utiliza un punto de conexión de VPC para realizar la solicitud.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

aws:VpcSourceIp

Utilice esta clave para comparar la dirección IP desde la que se realizó una solicitud con la dirección IP que ha especificado en la política. En una política, la clave coincide solo si la solicitud proviene de la dirección IP especificada y pasa a través de un punto de conexión de VPC.

  • Disponibilidad: Esta clave se incluye en el contexto de la solicitud solo si la solicitud se realiza mediante un punto de conexión de VPC.

  • Tipo de datos: dirección IP

  • Tipo de valor: valor único

Para obtener más información, consulte Controlar el acceso a servicios con puntos de conexión de VPC en la Guía del usuario de Amazon VPC.

nota

aws:VpcSourceIp admite tanto las direcciones IPv4 como IPv6 o un rango de direcciones IP. Para obtener una lista de los Servicios de AWS que admiten IPv6, consulte los Servicios de AWS que admiten IPv6 en la Guía del usuario de Amazon VPC.

Propiedades del recurso

Utilice las siguientes claves de condición para comparar detalles sobre el recurso que es el objetivo de la solicitud con las propiedades del recurso que especifique en la política.

aws:ResourceAccount

Utilice esta clave para comparar el ID de la Cuenta de AWS del propietario del recurso solicitado con la cuenta del recurso de la política. A continuación, puede permitir o denegar el acceso a ese recurso en función de la cuenta propietaria del recurso.

  • Disponibilidad: esta clave siempre se incluye en el contexto de solicitud para la mayoría de servicios. Las siguientes acciones no admiten esta clave:

    • AWS Audit Manager

      • auditmanager:UpdateAssessmentFrameworkShare

    • Amazon Detective

      • detective:AcceptInvitation

    • Amazon Elastic Block Store: todas las acciones

    • Amazon EC2

      • ec2:AcceptTransitGatewayPeeringAttachment

      • ec2:AcceptVpcEndpointConnections

      • ec2:AcceptVpcPeeringConnection

      • ec2:CopyImage

      • ec2:CopySnapshot

      • ec2:CreateTransitGatewayPeeringAttachment

      • ec2:CreateVolume

      • ec2:CreateVpcEndpoint

      • ec2:CreateVpcPeeringConnection

      • ec2:DeleteTransitGatewayPeeringAttachment

      • ec2:DeleteVpcPeeringConnection

      • ec2:RejectTransitGatewayPeeringAttachment

      • ec2:RejectVpcEndpointConnections

      • ec2:RejectVpcPeeringConnection

    • Amazon EventBridge

      • events:PutEvents: EventBridge PutEvents llama a un bus de eventos de otra cuenta, si ese bus de eventos se configuró como un destino de EventBridge para varias cuentas antes del 2 de marzo de 2023. Para obtener más información, consulte Conceder permisos para permitir eventos de otras cuentas de AWS en la Guía del usuario de Amazon EventBridge.

    • Amazon GuardDuty

      • guardduty:AcceptAdministratorInvitation

    • Amazon Macie

      • macie2:AcceptInvitation

    • Amazon OpenSearch Service

      • es:AcceptInboundConnection

      • es:CreateOutboundConnection

    • Amazon Route 53

      • route53:AssociateVpcWithHostedZone

      • route53:CreateVPCAssociationAuthorization

      • route53:DeleteVPCAssociationAuthorization

      • route53:DisassociateVPCFromHostedZone

      • route53:ListHostedZonesByVPC

    • AWS Security Hub

      • securityhub:AcceptAdministratorInvitation

  • Tipo de datos: cadena

  • Tipo de valor: valor único

nota

Para obtener más información sobre las acciones no compatibles anteriores, consulte el repositorio de ejemplos de políticas de perímetro de datos.

Esta clave es igual al ID de Cuenta de AWS para la cuenta con los recursos evaluados en la solicitud.

Para la mayoría de los recursos de su cuenta, el ARN contiene el ID de cuenta del propietario de ese recurso. Para ciertos recursos, como los buckets de Amazon S3, el ARN del recurso no incluye el ID de cuenta. Los dos siguientes ejemplos muestran la diferencia entre un recurso con un ID de cuenta en el ARN y un ARN de Amazon S3 sin un ID de cuenta:

  • arn:aws:iam::123456789012:role/AWSExampleRole: Rol de IAM creado y de propiedad dentro de la cuenta 123456789012.

  • arn:aws:s3:::DOC-EXAMPLE-BUCKET2: Bucket de Amazon S3 creado y de propiedad dentro de la cuenta 111122223333, que no aparecen en el ARN.

Use la consola, la API o la CLI de AWS, para encontrar todos los recursos y los ARN correspondientes.

Tiene que escribir una política que deniega los permisos a los recursos en función del ID de cuenta del propietario del recurso. Por ejemplo, la siguiente política basada en identidad deniega el acceso al recurso especificado si este no pertenece a la cuenta especificada.

Para utilizar esta política, sustituya el texto del marcador de posición en cursiva por la información de la cuenta.

importante

Esta política no permite ninguna acción. En su lugar, utiliza el efecto Deny que deniega explícitamente el acceso a todos los recursos enumerados en la declaración que no pertenecen a la cuenta enumerada. Utilice esta política en combinación con otras políticas que permiten acceder a recursos específicos.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyInteractionWithResourcesNotInSpecificAccount", "Action": "service:*", "Effect": "Deny", "Resource": [ "arn:aws:service:region:account:*" ], "Condition": { "StringNotEquals": { "aws:ResourceAccount": [ "account" ] } } } ] }

Esta política deniega el acceso a todos los recursos para un servicio específico de AWS a menos que la Cuenta de AWS especificada sea propietaria del recurso.

nota

Algunos Servicios de AWS requieren acceso a recursos que son propiedad de AWS que están alojados en otra Cuenta de AWS. El uso de aws:ResourceAccount en sus políticas basadas en identidad puede afectar a la capacidad de su identidad para acceder a estos recursos.

Ciertos servicios de AWS, como AWS Data Exchange, confían en el acceso a recursos fuera de sus Cuentas de AWS para operaciones normales. Si usa el elemento aws:ResourceAccount en sus políticas, incluya declaraciones adicionales para crear exenciones para esos servicios. Las políticas de ejemplo de AWS: denegar el acceso a los recursos de Amazon S3 fuera de su cuenta, excepto AWS Data Exchange demuestran cómo denegar el acceso en función de la cuenta de recursos y, al mismo tiempo, definir excepciones para los recursos propiedad del servicio.

Utilice este ejemplo de políticas como plantillas para crear sus propias políticas personalizadas. Consulte la documentación de su servicio para obtener más información.

aws:ResourceOrgPaths

Utilice esta clave para comparar la ruta de AWS Organizations del recurso al que se accede en la política. En una política, esta clave de condición garantiza que el solicitante sea un miembro de la cuenta dentro de la raíz de la organización o unidades organizativas (OU) especificadas en las Organizaciones de AWS. Una ruta de organizaciones de AWS es una representación de texto de la estructura de una entidad de Organizaciones. Para obtener más información sobre el uso y la comprensión de las rutas, consulte Comprender la ruta de la entidad AWS Organizations

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud solo si la cuenta propietaria del recurso es miembro de una organización. Esta clave de condición global no admite las siguientes acciones:

    • AWS Audit Manager

      • auditmanager:UpdateAssessmentFrameworkShare

    • Amazon Detective

      • detective:AcceptInvitation

    • Amazon Elastic Block Store: todas las acciones

    • Amazon EC2

      • ec2:AcceptTransitGatewayPeeringAttachment

      • ec2:AcceptVpcEndpointConnections

      • ec2:AcceptVpcPeeringConnection

      • ec2:CopyImage

      • ec2:CopySnapshot

      • ec2:CreateTransitGatewayPeeringAttachment

      • ec2:CreateVolume

      • ec2:CreateVpcEndpoint

      • ec2:CreateVpcPeeringConnection

      • ec2:DeleteTransitGatewayPeeringAttachment

      • ec2:DeleteVpcPeeringConnection

      • ec2:RejectTransitGatewayPeeringAttachment

      • ec2:RejectVpcEndpointConnections

      • ec2:RejectVpcPeeringConnection

    • Amazon EventBridge

      • events:PutEvents: EventBridge PutEvents llama a un bus de eventos de otra cuenta, si ese bus de eventos se configuró como un destino de EventBridge para varias cuentas antes del 2 de marzo de 2023. Para obtener más información, consulte Conceder permisos para permitir eventos de otras cuentas de AWS en la Guía del usuario de Amazon EventBridge.

    • Amazon GuardDuty

      • guardduty:AcceptAdministratorInvitation

    • Amazon Macie

      • macie2:AcceptInvitation

    • Amazon OpenSearch Service

      • es:AcceptInboundConnection

      • es:CreateOutboundConnection

    • Amazon Route 53

      • route53:AssociateVpcWithHostedZone

      • route53:CreateVPCAssociationAuthorization

      • route53:DeleteVPCAssociationAuthorization

      • route53:DisassociateVPCFromHostedZone

      • route53:ListHostedZonesByVPC

    • AWS Security Hub

      • securityhub:AcceptAdministratorInvitation

  • Tipo de datos: cadena (lista)

  • Tipo de valor: multivalor

nota

Para obtener más información sobre las acciones no compatibles anteriores, consulte el repositorio de ejemplos de políticas de perímetro de datos.

aws:ResourceOrgPaths es una clave de condición multivalor. Las claves de condición multivalor pueden tener varios valores en el contexto de la solicitud. Debe utilizar los operadores de servicio ForAnyValue o ForAllValues con los operadores de condición de cadena cuando utilice esta clave. Para obtener más información acerca de las claves de condición multivalor, consulte Claves de contexto multivalor.

Por ejemplo, la siguiente condición devuelve True para recursos que pertenecen a la organización o-a1b2c3d4e5. Cuando se incluye un comodín, se debe utilizar el operador de condición StringLike.

"Condition": { "ForAnyValue:StringLike": { "aws:ResourceOrgPaths":["o-a1b2c3d4e5/*"] } }

Se devuelve la siguiente condición True para los recursos con el ID de la unidad organizativa ou-ab12-11111111. Coincidirá con los recursos que son propiedad de cuentas asociadas a la unidad organizativa ou-ab12-11111111 o a cualquiera de las unidades organizativas secundarias.

"Condition": { "ForAnyValue:StringLike" : { "aws:ResourceOrgPaths":["o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/*"] }}

Se devuelve la siguiente condición True para los recursos que son propiedad de las cuentas asociadas directamente al ID de la unidad organizativa ou-ab12-22222222, pero no a las unidades organizativas secundarias. En el siguiente ejemplo, se utiliza el operador de condición StringEquals para especificar el requisito de coincidencia exacta para el ID de la unidad organizativa y no una coincidencia de comodín.

"Condition": { "ForAnyValue:StringEquals" : { "aws:ResourceOrgPaths":["o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/"] }}
nota

Algunos Servicios de AWS requieren acceso a recursos que son propiedad de AWS que están alojados en otra Cuenta de AWS. El uso de aws:ResourceOrgPaths en sus políticas basadas en identidad puede afectar a la capacidad de su identidad para acceder a estos recursos.

Ciertos servicios de AWS, como AWS Data Exchange, confían en el acceso a recursos fuera de sus Cuentas de AWS para operaciones normales. Si usa la clave aws:ResourceOrgPaths en sus políticas, incluya declaraciones adicionales para crear exenciones para esos servicios. Las políticas de ejemplo AWS: denegar el acceso a los recursos de Amazon S3 fuera de su cuenta, excepto AWS Data Exchange demuestran cómo denegar el acceso en función de la cuenta de recursos y, al mismo tiempo, definir excepciones para los recursos propiedad del servicio. Puede crear una política similar para restringir el acceso a los recursos dentro de una unidad organizativa (OU) mediante la clave aws:ResourceOrgPaths y, al mismo tiempo, contabilizar los recursos propiedad del servicio.

Utilice este ejemplo de políticas como plantillas para crear sus propias políticas personalizadas. Consulte la documentación de su servicio para obtener más información.

aws:ResourceOrgID

Utilice esta clave para comparar el identificador de la organización de AWS Organizations a la que pertenece el recurso solicitado con el identificador especificado en la política.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud solo si la entidad principal es miembro de una organización. Esta clave de condición global no admite las siguientes acciones:

    • AWS Audit Manager

      • auditmanager:UpdateAssessmentFrameworkShare

    • Amazon Detective

      • detective:AcceptInvitation

    • Amazon Elastic Block Store: todas las acciones

    • Amazon EC2

      • ec2:AcceptTransitGatewayPeeringAttachment

      • ec2:AcceptVpcEndpointConnections

      • ec2:AcceptVpcPeeringConnection

      • ec2:CopyImage

      • ec2:CopySnapshot

      • ec2:CreateTransitGatewayPeeringAttachment

      • ec2:CreateVolume

      • ec2:CreateVpcEndpoint

      • ec2:CreateVpcPeeringConnection

      • ec2:DeleteTransitGatewayPeeringAttachment

      • ec2:DeleteVpcPeeringConnection

      • ec2:RejectTransitGatewayPeeringAttachment

      • ec2:RejectVpcEndpointConnections

      • ec2:RejectVpcPeeringConnection

    • Amazon EventBridge

      • events:PutEvents: EventBridge PutEvents llama a un bus de eventos de otra cuenta, si ese bus de eventos se configuró como un destino de EventBridge para varias cuentas antes del 2 de marzo de 2023. Para obtener más información, consulte Conceder permisos para permitir eventos de otras cuentas de AWS en la Guía del usuario de Amazon EventBridge.

    • Amazon GuardDuty

      • guardduty:AcceptAdministratorInvitation

    • Amazon Macie

      • macie2:AcceptInvitation

    • Amazon OpenSearch Service

      • es:AcceptInboundConnection

      • es:CreateOutboundConnection

    • Amazon Route 53

      • route53:AssociateVpcWithHostedZone

      • route53:CreateVPCAssociationAuthorization

      • route53:DeleteVPCAssociationAuthorization

      • route53:DisassociateVPCFromHostedZone

      • route53:ListHostedZonesByVPC

    • AWS Security Hub

      • securityhub:AcceptAdministratorInvitation

  • Tipo de datos: cadena

  • Tipo de valor: valor único

nota

Para obtener más información sobre las acciones no compatibles anteriores, consulte el repositorio de ejemplos de políticas de perímetro de datos.

Esta clave global devuelve el ID de organización de recursos de una solicitud determinada. Le permite crear reglas que se aplican a todos los recursos de una organización que se especifican en el elemento Resource de una política basada en identidad. Puede especificar el ID de organización en el elemento de condición. Al agregar y quitar cuentas, las políticas que incluyan la clave aws:ResourceOrgID tendrán automáticamente las cuentas correctas y no requerirán una actualización manual.

Por ejemplo, la siguiente política impide que la entidad principal agregue objetos al recurso policy-genius-dev a menos que el recurso de Amazon S3 pertenezca a la misma organización que la entidad principal que hace la solicitud.

importante

Esta política no permite ninguna acción. En su lugar, utiliza el efecto Deny que deniega explícitamente el acceso a todos los recursos enumerados en la declaración que no pertenecen a la cuenta enumerada. Utilice esta política en combinación con otras políticas que permiten acceder a recursos específicos.

{ "Version": "2012-10-17", "Statement": { "Sid": "DenyPutObjectToS3ResourcesOutsideMyOrganization", "Effect": "Deny", "Action": "s3:PutObject", "Resource": "arn:partition:s3:::policy-genius-dev/*", "Condition": { "StringNotEquals": { "aws:ResourceOrgID": "${aws:PrincipalOrgID}" } } } }
nota

Algunos Servicios de AWS requieren acceso a recursos que son propiedad de AWS que están alojados en otra Cuenta de AWS. El uso de aws:ResourceOrgID en sus políticas basadas en identidad puede afectar a la capacidad de su identidad para acceder a estos recursos.

Ciertos servicios de AWS, como AWS Data Exchange, confían en el acceso a recursos fuera de sus Cuentas de AWS para operaciones normales. Si usa la clave aws:ResourceOrgID en sus políticas, incluya declaraciones adicionales para crear exenciones para esos servicios. Las políticas de ejemplo AWS: denegar el acceso a los recursos de Amazon S3 fuera de su cuenta, excepto AWS Data Exchange demuestran cómo denegar el acceso en función de la cuenta de recursos y, al mismo tiempo, definir excepciones para los recursos propiedad del servicio. Puede crear una política similar para restringir el acceso a los recursos dentro de una organización mediante la clave aws:ResourceOrgID y, al mismo tiempo, contabilizar los recursos propiedad del servicio.

Utilice este ejemplo de políticas como plantillas para crear sus propias políticas personalizadas. Consulte la documentación de su servicio para obtener más información..

En el siguiente video tiene más información acerca de cómo utilizar la clave de condición aws:ResourceOrgID en una política.

aws:ResourceTag/tag-key

Utilice esta clave para comparar el par clave-valor de etiqueta que especifique en la política con el par clave-valor asociado al recurso. Por ejemplo, puede requerir que el acceso a un recurso solo se permita si el recurso tiene la clave de etiqueta "Dept" adjunta con el valor "Marketing". Para obtener más información, consulte Control del acceso a los recursos de AWS.

  • Disponibilidad: Esta clave se incluye en el contexto de la solicitud cuando el recurso solicitado ya tiene etiquetas asociadas o en solicitudes que crean un recurso con una etiqueta asociada. Esta clave se devuelve solo para los recursos que admiten autorización basada en etiquetas. Hay una clave de contexto para cada par clave-valor de etiqueta.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

Esta clave de contexto tiene el formato "aws:ResourceTag/tag-key":"tag-value", donde tag-key y tag-value son un par formado por una clave y un valor. Las claves y los valores de las etiquetas no distinguen entre mayúsculas y minúsculas. Esto significa que si especifica "aws:ResourceTag/TagKey1": "Value1" en el elemento de condición de su política, la condición coincidirá con una clave de etiqueta de recurso denominada TagKey1 o tagkey1, pero no con ambas.

Para obtener ejemplos del uso de la clave de aws:ResourceTag para controlar el acceso a los recursos de IAM, consulte Control del acceso a los recursos de AWS.

Para obtener ejemplos del uso de la clave de aws:ResourceTag para controlar el acceso a otros recursos de AWS, consulte Control de acceso a los recursos de AWS mediante etiquetas.

Para obtener un tutorial sobre el uso de la clave de condición de aws:ResourceTag para el control de acceso basado en atributos (ABAC), consulte Tutorial de IAM: definición de permisos para acceder a los recursos de AWS en función de etiquetas.

Propiedades de la solicitud

Utilice las siguientes claves de condición para comparar los detalles sobre la solicitud y su contenido con las propiedades de solicitud especificadas en la política.

aws:CalledVia

Utilice esta clave para comparar los servicios de la política con los servicios que realizaron solicitudes en nombre de la entidad principal de IAM (usuario o rol). Cuando una entidad principal realiza una solicitud a un servicio de AWS, ese servicio puede utilizar las credenciales de la entidad principal para realizar solicitudes posteriores a otros servicios. La clave aws:CalledVia contiene una lista ordenada de cada servicio de la cadena que realizó solicitudes en nombre de la entidad principal.

Por ejemplo, puede utilizar AWS CloudFormation para leer y escribir desde una tabla de Amazon DynamoDB. DynamoDB utiliza el cifrado suministrado por AWS Key Management Service (AWS KMS).

  • Disponibilidad: esta clave está presente en la solicitud cuando un servicio que admite aws:CalledVia utiliza las credenciales de una entidad principal de IAM para realizar una solicitud a otro servicio. Esta clave no está presente si el servicio utiliza un rol de servicio o un rol vinculado al servicio para realizar una llamada en nombre de la entidad principal. Esta clave tampoco está presente cuando la entidad principal realiza la llamada directamente.

  • Tipo de datos: cadena (lista)

  • Tipo de valor: multivalor

Para utilizar la clave de condición aws:CalledVia en una política, debe proporcionar las entidades principales del servicio para permitir o denegar las solicitudes de servicio de AWS. AWS admite el uso de las siguientes entidades principales del servicio con aws:CalledVia.

Entidad principal de servicio
aoss.amazonaws.com
athena.amazonaws.com
backup.amazonaws.com
cloud9.amazonaws.com
cloudformation.amazonaws.com
databrew.amazonaws.com
dataexchange.amazonaws.com
dynamodb.amazonaws.com
imagebuilder.amazonaws.com
kms.amazonaws.com
mgn.amazonaws.com
nimble.amazonaws.com
omics.amazonaws.com
ram.amazonaws.com
robomaker.amazonaws.com
servicecatalog-appregistry.amazonaws.com
sqlworkbench.amazonaws.com
ssm-guiconnect.amazonaws.com

Para permitir o denegar el acceso cuando cualquier servicio realiza una solicitud utilizando las credenciales de la entidad principal, utilice la clave de condición aws:ViaAWSService. Esa clave de condición admite los servicios de AWS.

La clave aws:CalledVia es una clave multivalor. Sin embargo, no se puede aplicar el orden utilizando esta clave en una condición. En el ejemplo anterior, Usuario 1 realiza una solicitud a AWS CloudFormation, que llama a DynamoDB, que a su vez llama a AWS KMS. Se trata de tres solicitudes distintas. La llamada final a AWS KMS la realiza User 1 a través de AWS CloudFormation y después a través de DynamoDB.

Ejemplo de uso de aws:CalledVia

En este caso, la clave aws:CalledVia en el contexto de solicitud incluye cloudformation.amazonaws.com y dynamodb.amazonaws.com, en ese orden. Si solo le preocupa que la llamada se realice a través de DynamoDB en algún lugar de la cadena de solicitudes, puede utilizar esta clave de condición en su política.

Por ejemplo, la siguiente política permite administrar la clave AWS KMS denominada my-example-key, pero solo si DynamoDB es uno de los servicios que realiza la solicitud. El operador de la condición ForAnyValue:StringEquals garantiza que DynamoDB sea uno de los servicios que realiza la llamada. Si la entidad principal realiza la llamada a AWS KMS directamente, la condición devuelve false y la política no permite la solicitud.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "KmsActionsIfCalledViaDynamodb", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey", "kms:DescribeKey" ], "Resource": "arn:aws:kms:region:111122223333:key/my-example-key", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": ["dynamodb.amazonaws.com"] } } } ] }

Si desea especificar el servicio que realiza la primera o la última llamada de la cadena, puede utilizar las claves aws:CalledViaFirst y aws:CalledViaLast. Por ejemplo, la siguiente política permite administrar la clave denominada my-example-key en AWS KMS. Estas operaciones de AWS KMS solo se permiten si se incluyeron varias solicitudes en la cadena. La primera solicitud debe hacerse a través de AWS CloudFormation y la última, a través de DynamoDB. Si otros servicios realizan solicitudes en el centro de la cadena, la operación sigue estando permitida.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "KmsActionsIfCalledViaChain", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey", "kms:DescribeKey" ], "Resource": "arn:aws:kms:region:111122223333:key/my-example-key", "Condition": { "StringEquals": { "aws:CalledViaFirst": "cloudformation.amazonaws.com", "aws:CalledViaLast": "dynamodb.amazonaws.com" } } } ] }

Las claves aws:CalledViaFirst y aws:CalledViaLast están presentes en la solicitud cuando un servicio utiliza las credenciales de una entidad principal de IAM para llamar a otro servicio. Indican los primeros y últimos servicios que realizaron llamadas en la cadena de solicitudes. Suponga, por ejemplo, que AWS CloudFormation llama a otro servicio denominado X Service, que llama a DynamoDB y que luego llama a AWS KMS. La llamada final a AWS KMS la realiza User 1 a través de AWS CloudFormation, luego a través de X Service y finalmente a través de DynamoDB. Primero se llamó a través de AWS CloudFormation y la última llamada se realizó a través de DynamoDB.

Ejemplo de uso de aws:CalledViaFirst y aws:CalledViaLast

aws:CalledViaFirst

Utilice esta clave para comparar los servicios de la política con el primer servicio que realizó una solicitud en nombre de la entidad principal de IAM (usuario o rol). Para obtener más información, consulte aws:CalledVia.

  • Disponibilidad: esta clave está presente en la solicitud cuando un servicio utiliza las credenciales de una entidad principal de IAM para realizar al menos otra solicitud a un servicio diferente. Esta clave no está presente si el servicio utiliza un rol de servicio o un rol vinculado al servicio para realizar una llamada en nombre de la entidad principal. Esta clave tampoco está presente cuando la entidad principal realiza la llamada directamente.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

aws:CalledViaLast

Utilice esta clave para comparar los servicios de la política con el último servicio que realizó una solicitud en nombre de la entidad principal de IAM (usuario o rol). Para obtener más información, consulte aws:CalledVia.

  • Disponibilidad: esta clave está presente en la solicitud cuando un servicio utiliza las credenciales de una entidad principal de IAM para realizar al menos otra solicitud a un servicio diferente. Esta clave no está presente si el servicio utiliza un rol de servicio o un rol vinculado al servicio para realizar una llamada en nombre de la entidad principal. Esta clave tampoco está presente cuando la entidad principal realiza la llamada directamente.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

aws:ViaAWSService

Utilice esta clave para comprobar si un servicio de AWS realiza una solicitud a otro servicio en su nombre.

La clave de contexto de la solicitud devuelve true cuando un servicio utiliza las credenciales de una entidad principal de IAM para realizar una solicitud en nombre de la entidad principal. La clave de contexto devuelve false si el servicio utiliza un rol de servicio o un rol vinculado al servicio para realizar una llamada en nombre de la entidad principal. La clave de contexto de la solicitud también devuelve false cuando la entidad principal realiza la llamada directamente.

  • Disponibilidad: esta clave siempre se incluye en el contexto de la solicitud.

  • Tipos de datos: booleano

  • Tipo de valor: valor único

Puede utilizar esta clave de condición para permitir o denegar el acceso en función de si un servicio realizó la solicitud.

aws:CurrentTime

Utilice esta clave para comparar la fecha y la hora de la solicitud con la fecha y la hora que especifique en la política. Para ver una política de ejemplo que utilice este clave de condición, consulte AWS: permite el acceso en función de la fecha y la hora.

  • Disponibilidad: esta clave siempre se incluye en el contexto de la solicitud.

  • Tipo de datos: fecha

  • Tipo de valor: valor único

aws:EpochTime

Utilice esta clave para comparar la fecha y hora de la solicitud en formato de tiempo epoch o Unix con el valor que especifique en la política. Esta clave también acepta el número de segundos desde el 1 de enero de 1970.

  • Disponibilidad: esta clave siempre se incluye en el contexto de la solicitud.

  • Tipo de datos: fecha, numérico

  • Tipo de valor: valor único

aws:referer

Utilice esta clave para comparar quién hizo referencia a la solicitud en el navegador cliente con el remitente que especificó en la política. El valor de contexto de la solicitud aws:referer lo proporciona el intermediario en un encabezado HTTP. El encabezado de Referer se incluye en una solicitud de navegador web cuando se selecciona un enlace en una página web. El encabezado de Referer contiene la dirección URL de la página web donde se seleccionó el enlace.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud solo si la solicitud al recurso de AWS se invocó mediante un enlace desde una URL de página web en el navegador. Esta clave no se incluye para las solicitudes programáticas porque no se utiliza un enlace del navegador para tener acceso al recurso de AWS.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

Por ejemplo, puede acceder a un objeto de Amazon S3 directamente mediante una URL o mediante la invocación directa de la API. Para obtener más información, consulte Operaciones de la API de Amazon S3 utilizando directamente un navegador web. Cuando se accede a un objeto de Amazon S3 desde una dirección URL que existe en una página web, la dirección URL de la página web de origen se utiliza en aws:referer. Cuando se accede a un objeto de Amazon S3 escribiendo la dirección URL en el navegador, el aws:referer no está presente. Cuando se invoca la API directamente, aws:referer tampoco está presente. Puede utilizar la clave de condición de aws:referer de una política para permitir las solicitudes realizadas desde un referente específico, como un enlace en una página web del dominio de su empresa.

aviso

Esta clave debe utilizarse con cuidado. Es peligroso incluir un valor de encabezado de referencia conocido públicamente. Las partes no autorizadas podrían utilizar navegadores personalizados o modificados para proporcionar cualquier valor aws:referer que eligieran. En consecuencia, aws:referer no debe utilizarse para impedir que entidades no autorizadas realicen solicitudes a AWS de forma directa. Se ofrece únicamente para que los clientes puedan proteger su contenido digital, como el contenido almacenado en Amazon S3, para evitar las referencias en sitios de terceros no autorizados.

aws:RequestedRegion

Utilice esta clave para comparar la región de AWS a la que se llamó en la solicitud con la región que ha especificado en la política. Puede utilizar esta clave de condición global para controlar qué regiones se pueden solicitar. Para ver las regiones de AWS de cada servicio, consulte Puntos de enlace y cuotas de servicio en la Referencia general de Amazon Web Services.

  • Disponibilidad: esta clave siempre se incluye en el contexto de la solicitud.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

Algunos servicios globales, como IAM, tienen un único punto de conexión. Como este punto de conexión se encuentra físicamente en la región Este de EE. UU. (Norte de Virginia), las llamadas de IAM siempre se realizan a la región us-east-1. Por ejemplo, si crea una política que deniegue el acceso a todos los servicios cuando la región solicitada no sea us-west-2, las llamadas a IAM siempre generan un error. Para ver un ejemplo de cómo evitar este problema, consulte NotAction con Deny.

nota

La clave de condición aws:RequestedRegion le permite controlar qué punto de conexión de un servicio se invoca, pero no controlar el impacto de la operación. Algunos servicios afectan a varias regiones.

Por ejemplo, Amazon S3 tiene operaciones de la API que se extienden a todas las regiones.

  • Puede invocar s3:PutBucketReplication en una región (lo que se consigue con la clave de condición aws:RequestedRegion), pero afectar también a otras regiones en función de las opciones de configuración de replicaciones.

  • Puede invocar s3:CreateBucket para crear un bucket en otra región y utilizar la clave de condición s3:LocationConstraint para controlar las regiones aplicables.

Puede utilizar esta clave de contexto para limitar el acceso a los servicios de AWS a un conjunto de regiones determinado. Por ejemplo, la siguiente política permite a un usuario ver todas las instancias Amazon EC2 en la AWS Management Console. Sin embargo, solo permite realizar cambios en las instancias de Irlanda (eu-west-1), Londres (eu-west-2) o París (eu-west-3).

{ "Version": "2012-10-17", "Statement": [ { "Sid": "InstanceConsoleReadOnly", "Effect": "Allow", "Action": [ "ec2:Describe*", "ec2:Export*", "ec2:Get*", "ec2:Search*" ], "Resource": "*" }, { "Sid": "InstanceWriteRegionRestricted", "Effect": "Allow", "Action": [ "ec2:Associate*", "ec2:Import*", "ec2:Modify*", "ec2:Monitor*", "ec2:Reset*", "ec2:Run*", "ec2:Start*", "ec2:Stop*", "ec2:Terminate*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": [ "eu-west-1", "eu-west-2", "eu-west-3" ] } } } ] }

aws:RequestTag/tag-key

Utilice esta clave para comparar el par clave-valor de etiqueta que se transfirió en la solicitud con el par de etiquetas especificado en la política. Por ejemplo, podría comprobar si la solicitud incluya la clave de etiqueta "Dept" y que tenga el valor "Accounting". Para obtener más información, consulte Control del acceso durante solicitudes de AWS.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud cuando se transfieren pares de valor de clave en la solicitud. Cuando se transfieren varias etiquetas en la solicitud, hay una clave de contexto para cada par clave-valor de etiqueta.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

Esta clave de contexto tiene el formato "aws:RequestTag/tag-key":"tag-value", donde tag-key y tag-value son un par formado por una clave y un valor. Las claves y los valores de las etiquetas no distinguen entre mayúsculas y minúsculas. Esto significa que si especifica "aws:RequestTag/TagKey1": "Value1" en el elemento de condición de su política, la condición coincidirá con una clave de etiqueta de solicitud denominada TagKey1 o tagkey1, pero no con ambas.

En este ejemplo se muestra que, si bien la clave tiene un solo valor, puede seguir utilizando varios pares de valor de clave en una solicitud si las claves son diferentes.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:::instance/*", "Condition": { "StringEquals": { "aws:RequestTag/environment": [ "preprod", "production" ], "aws:RequestTag/team": [ "engineering" ] } } } }

aws:TagKeys

Utilice esta clave para comparar las claves de etiqueta de una solicitud con las claves que especifique en la política. Como práctica recomendada cuando utilice políticas para controlar el acceso mediante etiquetas, utilice la clave de condición aws:TagKeys para definir lo que se permite realizar a las claves de etiqueta. Para obtener más información y políticas de ejemplo, consulte Control del acceso en función de las claves de etiqueta.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud solo si la operación permite pasar etiquetas en la solicitud.

  • Tipo de datos: cadena (lista)

  • Tipo de valor: multivalor

Esta clave de contexto tiene el formato "aws:TagKeys":"tag-key", donde tag-key es una lista de claves de etiqueta sin valores (por ejemplo, ["Dept","Cost-Center"]).

Dado que puede incluir varios pares de clave-valor de etiqueta en una solicitud, el contenido de la solicitud podría ser una solicitud con varios valores. En este caso, debe utilizar la ForAllValues o los operadores de establecimiento ForAnyValue. Para obtener más información, consulte Claves de contexto multivalor.

Algunos servicios admiten el etiquetado con las operaciones del recurso, como, por ejemplo, crear, modificar o eliminar un recurso. Para permitir el etiquetado y las operaciones como una sola llamada, debe crear una política que incluya tanto la acción de etiquetado como la acción de modificación del recurso. A continuación, puede utilizar la clave de condición aws:TagKeys para imponer el uso de claves de etiqueta específicas en la solicitud. Por ejemplo, para limitar las etiquetas cuando alguien crea una instantánea de Amazon EC2, debe incluir la acción de creación ec2:CreateSnapshot y la acción de etiquetado ec2:CreateTags en la política. Para ver una política para esta situación que utiliza aws:TagKeys, consulte Creación de una instantánea con etiquetas en la Guía del usuario de Amazon EC2.

aws:SecureTransport

Utilice esta clave para comprobar si la solicitud se envió mediante SSL. El contexto de la solicitud devuelve true o false. En una política, solo puede permitir acciones específicas si la solicitud se envía mediante SSL.

  • Disponibilidad: esta clave siempre se incluye en el contexto de la solicitud.

  • Tipos de datos: booleano

  • Tipo de valor: valor único

aws:SourceArn

Utilice esta clave para comparar el Nombre de recurso de Amazon (ARN) del recurso que realiza una solicitud de servicio a servicio con el ARN que especifique en la política, pero solamente cuando la solicitud la realiza una entidad principal de servicio de AWS. Cuando el ARN del origen incluye el ID de cuenta, no es necesario utilizar aws:SourceAccount con aws:SourceArn.

Esta clave no funciona con el ARN de la entidad principal que realiza la solicitud. En su lugar, utilice aws:PrincipalArn.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud solo cuando la llamada a su recurso la realiza directamente una entidad principal de servicio de AWS en nombre de un recurso para el que la configuración activó la solicitud de servicio a servicio. El servicio que realiza la llamada pasa el ARN del recurso original al servicio llamado.

    aws:SourceArn

    Las siguientes integraciones de servicios no admiten esta clave de condición global:

    Servicio de llamadas (entidad principal del servicio) Servicio llamado (política basada en recursos) Descripción
    logdelivery.elb.amazonaws.com Bucket de Amazon S3 Habilitación del registro de acceso de Elastic Load Balancing en el bucket de Amazon S3
    logdelivery.elasticloadbalancing.amazonaws.com Bucket de Amazon S3 Habilite el registro de acceso de Elastic Load Balancing en el bucket de Amazon S3
    nota

    No se admiten todas las integraciones de servicios con AWS Security Token Service (AWS STS) y AWS Key Management Service (AWS KMS). Para obtener más información, consulte la documentación del servicio de llamadas. El uso de aws:SourceArn en políticas de clave de KMS para las claves utilizadas por los Servicios de AWS mediante la concesión de claves de KMS puede provocar un comportamiento inesperado.

  • Tipo de datos: ARN, cadena

    AWS recomienda utilizar operadores de ARN en lugar de operadores de cadenas al comparar los ARN.

  • Tipo de valor: valor único

Puede utilizar esta clave de condición para evitar que se utilice un servicio de AWS como un sustituto confuso durante las transacciones entre servicios. Utilice esta clave solo en las políticas basadas en recursos en las que Principal sea una entidad principal de un Servicio de AWS. Establezca el valor de esta clave de condición en el ARN del recurso en la solicitud. Por ejemplo, cuando una actualización de bucket de Amazon S3 activa la publicación de un tema de Amazon SNS, el servicio Amazon S3 invoca la operación sns:Publish de la API. En la política de tema que permite la operación sns:Publish, establezca el valor de la clave de condición en el ARN del bucket de Amazon S3. Para obtener información acerca de cómo y cuándo se recomienda esta clave de condición, consulte la documentación de los servicios de AWS que está utilizando.

aws:SourceAccount

Utilice esta clave para comparar el ID de cuenta del recurso que realiza una solicitud de servicio a servicio con el ID de cuenta que especifique en la política, pero solamente cuando la solicitud la realice una entidad principal de servicio de AWS.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud solo cuando la llamada a su recurso la realiza directamente una entidad principal de servicio de AWS en nombre de un recurso para el que la configuración activó la solicitud de servicio a servicio. El servicio que realiza la llamada debe pasar el ID de cuenta del recurso original al servicio llamado.

    aws:SourceAccount

    Las siguientes integraciones de servicios no admiten esta clave de condición global:

    Servicio de llamadas (entidad principal del servicio) Servicio llamado (política basada en recursos) Descripción
    logdelivery.elb.amazonaws.com Bucket de Amazon S3 Habilitación del registro de acceso de Elastic Load Balancing en el bucket de Amazon S3
    logdelivery.elasticloadbalancing.amazonaws.com Bucket de Amazon S3 Habilite el registro de acceso de Elastic Load Balancing en el bucket de Amazon S3
    nota

    No se admiten todas las integraciones de servicios con AWS Security Token Service (AWS STS) y AWS Key Management Service (AWS KMS). Para obtener más información, consulte la documentación del servicio de llamadas. El uso de aws:SourceAccount en políticas de clave de KMS para las claves utilizadas por los Servicios de AWS mediante la concesión de claves de KMS puede provocar un comportamiento inesperado.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

Puede utilizar esta clave de condición para evitar que se utilice un servicio de AWS como un sustituto confuso durante las transacciones entre servicios. Utilice esta clave solo en las políticas basadas en recursos en las que Principal sea una entidad principal de un Servicio de AWS. Establezca el valor de esta clave de condición en el ID de la cuenta del recurso en la solicitud. Por ejemplo, cuando una actualización de bucket de Amazon S3 activa la publicación de un tema de Amazon SNS, el servicio Amazon S3 invoca la operación sns:Publish de la API. En la política de tema que permite la operación de sns:Publish, establezca el valor de la clave de condición en el ID de cuenta del bucket de Amazon S3. Para obtener información acerca de cómo y cuándo se recomienda esta clave de condición, consulte la documentación de los servicios de AWS que está utilizando.

aws:SourceOrgPaths

Utilice esta clave para comparar la ruta de AWS Organizations del recurso que realiza una solicitud de servicio a servicio con el ID de cuenta que especifique en la política, pero solamente cuando la solicitud la realiza una entidad principal de servicio de AWS. Una ruta de organizaciones de es una representación de texto de la estructura de una entidad de Organizaciones. Para obtener más información acerca de las rutas de acceso, consulte Comprender la ruta de la entidad de AWS Organizations.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud solo cuando la llamada a su recurso la realiza directamente un responsable de la entidad principal del servicio de AWS en nombre de un recurso propiedad de una cuenta que es miembro de una organización. El servicio que realiza la llamada debe pasar la ruta de la organización del recurso original al servicio llamado.

    aws:SourceOrgPaths

    Las siguientes integraciones de servicios no admiten esta clave de condición global:

    Servicio de llamadas (entidad principal del servicio) Servicio llamado (política basada en recursos) Descripción
    logdelivery.elb.amazonaws.com Bucket de Amazon S3 Habilitación del registro de acceso de Elastic Load Balancing en el bucket de Amazon S3
    logdelivery.elasticloadbalancing.amazonaws.com Bucket de Amazon S3 Habilitación del registro de acceso de Elastic Load Balancing en el bucket de Amazon S3
    Todas las entidades principales del servicio Bot Amazon Lex Cómo permitir que los Servicios de AWS usen el bot Amazon Lex
    nota

    No se admiten todas las integraciones de servicios con AWS Security Token Service (AWS STS) y AWS Key Management Service (AWS KMS). Para obtener más información, consulte la documentación del servicio de llamadas. El uso de aws:SourceOrgPaths en políticas clave de KMS para las claves utilizadas por los Servicios de AWS mediante la concesión de claves de KMS puede provocar un comportamiento inesperado.

  • Tipo de datos: cadena (lista)

  • Tipo de valor: multivalor

Puede utilizar esta clave de condición para evitar que se utilice un servicio de AWS como un sustituto confuso durante las transacciones entre servicios. Utilice esta clave solo en las políticas basadas en recursos en las que Principal sea una entidad principal de Servicio de AWS. Establezca el valor de esta clave de condición en la ruta de la organización del recurso en la solicitud. Por ejemplo, cuando una actualización de bucket de Amazon S3 activa la publicación de un tema de Amazon SNS, el servicio Amazon S3 invoca la operación sns:Publish de la API. En la política de temas que permite la operación de sns:Publish, establezca el valor de la clave de condición en la ruta de organización del bucket de Amazon S3. Para obtener información acerca de cómo y cuándo se recomienda esta clave de condición, consulte la documentación de los servicios de AWS que está utilizando.

aws:SourceOrgPaths es una clave de condición multivalor. Las claves de condición multivalor pueden tener varios valores en el contexto de la solicitud. Debe utilizar los operadores de servicio ForAnyValue o ForAllValues con los operadores de condición de cadena cuando utilice esta clave. Para obtener más información acerca de las claves de condición multivalor, consulte Claves de contexto multivalor.

aws:SourceOrgID

Utilice esta clave para comparar el ID de la organización del recurso que realiza una solicitud de servicio a servicio con el ID de cuenta que especifique en la política, pero solamente cuando la solicitud la realiza una entidad principal de servicio de AWS. Al agregar y quitar cuentas a una organización en AWS Organizations, las políticas que incluyan la clave aws:SourceOrgID tendrán automáticamente las cuentas correctas y no requerirán una actualización manual.

  • Disponibilidad: esta clave se incluye en el contexto de la solicitud solo cuando la llamada a su recurso la realiza directamente un responsable de la entidad principal del servicio de AWS en nombre de un recurso propiedad de una cuenta que es miembro de una organización. El servicio que realiza la llamada pasa el ID de la organización del recurso original al servicio llamado.

    aws:SourceOrgID

    Las siguientes integraciones de servicios no admiten esta clave de condición global:

    Servicio de llamadas (entidad principal del servicio) Servicio llamado (política basada en recursos) Descripción
    logdelivery.elb.amazonaws.com Bucket de Amazon S3 Habilitación del registro de acceso de Elastic Load Balancing en el bucket de Amazon S3
    logdelivery.elasticloadbalancing.amazonaws.com Bucket de Amazon S3 Habilitación del registro de acceso de Elastic Load Balancing en el bucket de Amazon S3
    Todas las entidades principales del servicio Bot Amazon Lex Cómo permitir que los Servicios de AWS usen el bot Amazon Lex
    nota

    No se admiten todas las integraciones de servicios con AWS Security Token Service (AWS STS) y AWS Key Management Service (AWS KMS). Para obtener más información, consulte la documentación del servicio de llamadas. El uso de aws:SourceOrgID en políticas de clave de KMS para las claves utilizadas por los Servicios de AWS mediante la concesión de claves de KMS puede provocar un comportamiento inesperado.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

Puede utilizar esta clave de condición para evitar que se utilice un servicio de AWS como un sustituto confuso durante las transacciones entre servicios. Utilice esta clave solo en las políticas basadas en recursos en las que Principal sea una entidad principal de un Servicio de AWS. Establezca el valor de esta clave de condición en la ID de la organización del recurso en la solicitud. Por ejemplo, cuando una actualización de bucket de Amazon S3 activa la publicación de un tema de Amazon SNS, el servicio Amazon S3 invoca la operación sns:Publish de la API. En la política de temas que permite la operación de sns:Publish, establezca el valor de la clave de condición en el ID de organización del bucket de Amazon S3. Para obtener información acerca de cómo y cuándo se recomienda esta clave de condición, consulte la documentación de los servicios de AWS que está utilizando.

aws:UserAgent

Utilice esta clave para comparar la aplicación cliente del solicitante con la aplicación que especifique en la política.

  • Disponibilidad: esta clave siempre se incluye en el contexto de la solicitud.

  • Tipo de datos: cadena

  • Tipo de valor: valor único

aviso

Esta clave debe utilizarse con cuidado. Puesto que el valor aws:UserAgent lo proporciona el intermediario en un encabezado HTTP, partes no autorizadas podrían utilizar navegadores personalizados o modificados para proporcionar cualquier valor aws:UserAgent que eligieran. En consecuencia, aws:UserAgent no debe utilizarse para impedir que entidades no autorizadas realicen solicitudes a AWS de forma directa. Puede utilizarlo para permitir únicamente aplicaciones cliente específicas y solo después de probar su política.

Otras claves de condición entre servicios

AWS STS admite claves de condición de federación basada en SAML y claves de condición entre servicios para la federación de OIDC. Estas claves están disponibles cuando un usuario federado mediante SAML realiza operaciones de AWS en otros servicios.