AWSClaves de condición global de - AWS Key Management Service

AWSClaves de condición global de

AWS define las claves de condición globales, un conjunto de claves de condiciones de política para todos servicios de AWS que utilizan IAM para el control de acceso. AWS KMS admite todas las claves de condición globales. Puede utilizarlas en políticas de claves AWS KMS y políticas de IAM.

Por ejemplo, puede utilizar la clave de condición global aws:PrincipalArn para permitir el acceso a una AWS KMS key (clave KMS) solo cuando la entidad principal de la solicitud está representada por el nombre de recurso de Amazon (ARN) en el valor de clave de condición. Para admitir el control de acceso basado en atributos (ABAC) en AWS KMS, puede utilizar la clave de condición global aws:ResourceTag/tag-key en una política de IAM para permitir el acceso a claves de KMS con una etiqueta en particular.

Para ayudar a evitar que un servicio de AWS se utilice como suplente confuso en una política en la que la entidad principal es una entidad principal de servicio de AWS, puede utilizar las claves de condición globales aws:SourceArn o aws:SourceAccount. Para obtener más información, consulte Uso de claves de condición aws:SourceArn o aws:SourceAccount.

Para obtener información acerca de las claves de condición globales de AWS, incluidos los tipos de solicitudes en las que están disponibles, consulte Claves de contexto de condición globales de AWS en la Guía del usuario de IAM. Para obtener ejemplos del uso de claves de condición globales en las políticas de IAM, consulte Control del acceso a las solicitudes y Control de claves de etiqueta en la Guía del usuario de IAM.

En los temas siguientes se proporcionan instrucciones especiales para el uso de claves de condición basadas en direcciones IP y puntos de conexión de VPC.

Usar la condición de dirección IP en políticas con permisos de AWS KMS

Puede utilizar AWS KMS para proteger los datos en un servicio de AWS integrado. Pero tenga cuidado al especificar los operadores de condición de dirección IP o la clave de condición aws:SourceIp en la misma declaración de política que permite o deniega el acceso a AWS KMS. Por ejemplo, la política de AWS: deniega acceso a AWS en función de la dirección IP de origen restringe las acciones de AWS a las solicitudes desde el rango de direcciones IP especificado.

Considere esta situación:

  1. Asocia una política como la mostrada en AWS: deniega acceso a AWS en función de la dirección IP de origen a una identidad de IAM. A continuación, establece el valor de la clave de condición aws:SourceIp en el rango de direcciones IP de la empresa del usuario. Esta identidad de IAM tiene otras políticas adjuntadas que le permiten usar Amazon EBS, Amazon EC2 y AWS KMS.

  2. La identidad intenta asociar un volumen de EBS cifrado a una instancia de EC2. Esta acción falla con un error de autorización a pesar de que el usuario tiene permiso para utilizar todos los servicios pertinentes.

El paso 2 produce un error porque la solicitud enviada a AWS KMS para descifrar la clave de datos cifrada del volumen proviene de una dirección IP que está asociada a la infraestructura de Amazon EC2. Para que la solicitud se realice correctamente, debe provenir de la dirección IP del usuario que la origina. Dado que la política del paso 1 deniega explícitamente todas las solicitudes de las direcciones IP que no sean las especificadas, a Amazon EC2 se le deniega el permiso para descifrar la clave de datos cifrada del volumen de EBS.

Además, la clave de condición aws:SourceIP no es efectiva si la solicitud procede de un punto de conexión de Amazon VPC. Para restringir las solicitudes a un punto de conexión de VPC, incluido un punto de conexión de VPC de AWS KMS, utilice las claves de condición aws:SourceVpce o aws:SourceVpc. Para obtener más información, consulte Puntos de conexión de VPC - Control del uso de los puntos de conexión en la Guía del usuario de Amazon VPC.

Usar condiciones de punto de conexión de VPC en políticas con permisos de AWS KMS

AWS KMS admite puntos de conexión de Amazon Virtual Private Cloud (Amazon VPC) con tecnología de AWS PrivateLink. Puede utilizar las siguientes claves de condición globales en políticas de claves y políticas de IAM para controlar el acceso a los recursos AWS KMS cuando la solicitud proviene de una VPC o utiliza un punto de conexión de VPC. Para obtener más información, consulte Uso de los puntos de conexión de VPC para controlar el acceso a los recursos de AWS KMS.

  • aws:SourceVpc limita el acceso a las solicitudes procedentes de la VPC especificada.

  • aws:SourceVpce limita el acceso a las solicitudes procedentes del punto de conexión de VPC especificado.

Si utiliza estas claves de condición para controlar el acceso a las claves KMS, podría denegar el acceso de forma accidental a los servicios de AWS que utilizan AWS KMS en su nombre.

Procure evitar una situación como la del ejemplo de claves de condición de dirección IP. Si restringe las solicitudes para una clave KMS a una VPC o un punto de conexión de VPC, las llamadas a AWS KMS desde un servicio integrado, como Amazon S3 o Amazon EBS, podrían producir un error. Esto puede ocurrir incluso si la solicitud de origen procede en última instancia de la VPC o del punto de conexión de VPC.

Uso de direcciones IPv6 en políticas de claves de IAM y de AWS KMS

Antes de intentar acceder a AWS KMS través de IPv6, asegúrese de que las claves y políticas de IAM que contengan restricciones de direcciones IP estén actualizadas para incluir los rangos de direcciones IPv6. Si no se actualizan la políticas basadas en direcciones IP para gestionar direcciones IPv6, los clientes pueden perder u obtener incorrectamente el acceso cuando comienzan a utilizar IPv6. Para obtener información general sobre los controles de acceso de KMS, consulte Permisos y acceso a claves KMS. Para obtener más información sobre la compatibilidad de KMS y la doble pila, consulte Compatibilidad con puntos de conexión de doble pila.

importante

Estas declaraciones no permiten ninguna acción. Utilice estas declaraciones en combinación con otras declaraciones que permiten acciones específicas.

La siguiente declaración niega explícitamente el acceso a todos los permisos de KMS a las solicitudes que se originen en el rango 192.0.2.* de direcciones IPv4. Cualquier dirección IP fuera de este rango no recibe permisos de KMS de forma explícita. Dado que todas las direcciones IPv6 están fuera del rango denegado, esta declaración no niega de forma explícita permisos de KMS para ninguna dirección IPv6.

{ "Sid": "DenyKMSPermissions", "Effect": "Deny", "Action": [ "kms:*" ], "Resource": "*", "Condition": { "NotIpAddress": { "aws:SourceIp": [ "192.0.2.0/24" ] } } }

Puede modificar el elemento Condition para permitir los rangos de direcciones IPv4 (192.0.2.0/24) e IPv6 (2001:db8:1234::/32) como se muestra en el siguiente ejemplo.

{ "Sid": "DenyKMSPermissions", "Effect": "Deny", "Action": [ "kms:*" ], "Resource": "*", "Condition": { "NotIpAddress": { "aws:SourceIp": [ "192.0.2.0/24", "2001:db8:1234::/32" ] } } }