Uso de etiquetas con puntos de acceso de S3 para buckets de uso general
Una etiqueta de AWS es un par clave-valor que contiene metadatos sobre recursos, en este caso, puntos de acceso de Amazon S3. Puede etiquetar puntos de acceso al crearlos o administrar las etiquetas en los puntos de acceso existentes. Para obtener información general sobre las etiquetas, consulte Etiquetado para la asignación de costos o el control de acceso basado en atributos (ABAC).
nota
No hay ningún cargo adicional por utilizar etiquetas en los puntos de acceso más allá de las tarifas de solicitud estándar de la API de S3. Para obtener más información, consulte Precios de Amazon S3
Formas habituales de utilizar etiquetas con puntos de acceso
Control de acceso basado en atributos (ABAC) le permite escalar los permisos de acceso y conceder acceso a los puntos de acceso en función de las etiquetas. Para obtener más información sobre ABAC en Amazon S3, consulte Uso de etiquetas para ABAC.
ABAC para Puntos de acceso de S3
Los puntos de acceso de Amazon S3 admiten el control de acceso basado en atributos (ABAC) mediante etiquetas. Utilice claves de condición basadas en etiquetas en las organizaciones de AWS, IAM y las políticas de puntos de acceso. Para las empresas, ABAC en Amazon S3 admite la autorización en varias cuentas de AWS.
En las políticas de IAM, puede controlar el acceso a los puntos de acceso en función de las etiquetas de los puntos de acceso mediante las siguientes claves de condición globales:
-
aws:ResourceTag/key-name
-
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 valorMarketing
. Para obtener más información, consulte Control del acceso a los recursos de AWS.
-
-
aws:RequestTag/key-name
-
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 valorAccounting
. Para obtener más información, consulte Control del acceso durante solicitudes de AWS. Puede utilizar esta clave de condición para restringir qué pares de clave-valor de etiqueta se pueden pasar durante las operaciones de APITagResource
yCreateAccessPoint
.
-
-
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. Puede crear un punto de acceso con etiquetas. Para permitir el etiquetado durante la operación de APICreateAccessPoint
, debe crear una política que incluya las accioness3:TagResource
ys3:CreateAccessPoint
. A continuación, puede utilizar la clave de condiciónaws:TagKeys
para imponer el uso de etiquetas específicas en la solicitudCreateAccessPoint
.
-
-
s3:AccessPointTag/tag-key
-
Utilice esta clave de condición para conceder permisos a datos específicos a través de puntos de acceso mediante etiquetas. Cuando se utiliza
aws:ResourceTag/tag-key
en una política de IAM, tanto el punto de acceso como el bucket al que apunta el punto de acceso deben tener la misma etiqueta, ya que ambos se tienen en cuenta durante la autorización. Si desea controlar el acceso a los datos específicamente a través de la etiqueta del punto de acceso solo, puede utilizar la clave de condicións3:AccessPointTag/tag-key
.
-
Ejemplos de políticas ABAC de puntos de acceso
Consulte los siguientes ejemplos de políticas ABAC para puntos de acceso de Amazon S3.
1.1: Política de IAM para crear o modificar buckets con etiquetas específicas
En esta política de IAM, los usuarios o roles con esta política solo pueden crear puntos de acceso si etiquetan los puntos de acceso con la clave de etiqueta project
y el valor de etiqueta Trinity
en la solicitud de creación de los puntos de acceso. También pueden agregar o modificar etiquetas en puntos de acceso existentes siempre que la solicitud TagResource
incluya el par clave-valor de etiqueta project:Trinity
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateAccessPointWithTags", "Effect": "Allow", "Action": [ "s3:CreateAccessPoint", "s3:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/project": [ "
Trinity
" ] } } } ] }
1.2: Política de punto de acceso para restringir las operaciones en el punto de acceso mediante etiquetas
En esta política de punto de acceso, las entidades principales de IAM (usuarios y roles) pueden realizar operaciones mediante la acción GetObject
en el punto de acceso solo si el valor de la etiqueta project
del punto de acceso coincide con el valor de la etiqueta project
de la entidad principal.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowObjectOperations", "Effect": "Allow", "Principal": { "AWS": "
111122223333
" }, "Action": "s3:GetObject", "Resource": "arn:aws::s3:region
:111122223333
:accesspoint/", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" } } } ] }
my-access-point
1.3: Política de IAM para modificar las etiquetas de los recursos existentes manteniendo la gobernanza del etiquetado
En esta política de IAM, las entidades principales de IAM (usuarios o roles) pueden modificar etiquetas de un punto de acceso solo si el valor de la etiqueta project
del punto de acceso coincide con el valor de la etiqueta project
de la entidad principal. Solo se permiten las cuatro etiquetas project
, environment
, owner
y cost-center
especificadas en las claves de condición aws:TagKeys
para estos puntos de acceso. Esto ayuda a reforzar la gobernanza de las etiquetas, evita las modificaciones no autorizadas de las etiquetas y mantiene la coherencia del esquema de etiquetado en todos los puntos de acceso.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceTaggingRulesOnModification", "Effect": "Allow", "Action": [ "s3:TagResource" ], "Resource": "arn:aws::s3:
region
:111122223333
:accesspoint/", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "
my-access-point
project
", "environment
", "owner
", "cost-center
" ] } } } ] }
1.4: Uso de la clave de condición s3:AccessPointTag
En esta política de IAM, la instrucción de condición permite el acceso a los datos del bucket si el punto de acceso tiene la clave de etiqueta Environment
y el valor de etiqueta Production
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToSpecificAccessPoint", "Effect": "Allow", "Action": "*", "Resource": "arn:aws::s3:
region
:111122223333
:accesspoint/", "Condition": { "StringEquals": { "s3:AccessPointTag/Environment": "Production" } } } ] }
my-access-point
1.5: Uso de una política de delegación de bucket
En Amazon S3, puede delegar el acceso o el control de la política del bucket de S3 a otra cuenta de AWS o a un usuario o rol de AWS Identity and Access Management (IAM) específico de la otra cuenta. La política de delegación de bucket concede a esta otra cuenta, usuario o rol permiso para acceder al bucket y a los objetos. Para obtener más información, consulte Delegación de permisos.
Si utiliza una política de delegación de bucket, como la siguiente:
{ "Version": "2012-10-17", "Statement": { "Principal": {"AWS": "*"}, "Effect": "Allow", "Action": ["s3:*"], "Resource":["arn:aws::s3:::
/*", "arn:aws::s3:::
amzn-s3-demo-bucket
amzn-s3-demo-bucket
"], "Condition": { "StringEquals" : { "s3:DataAccessPointAccount" : "111122223333" } } } }
En la siguiente política de IAM, la instrucción de condición permite el acceso a los datos del bucket si el punto de acceso tiene la clave de etiqueta Environment
y el valor de etiqueta Production
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToSpecificAccessPoint", "Effect": "Allow", "Action": "*", "Resource": "arn:aws::s3:
region
:111122223333
:accesspoint/", "Condition": { "StringEquals": { "s3:AccessPointTag/Environment": "Production" } } } ] }
my-access-point
Uso de etiquetas para puntos de acceso de buckets de uso general
Puede agregar o administrar etiquetas de puntos de acceso mediante la consola de Amazon S3, la interfaz de la línea de comandos (CLI) de AWS, los SDK de AWS o las API de S3: TagResource, UntagResource y ListTagsForResource. Para obtener más información, consulte: