Conceder permisos para etiquetar recursos durante la creación
Las siguientes acciones de la API de creación de Amazon ECS mediante el agregado de etiquetas le permiten especificar etiquetas durante la creación del recurso. Si se especifican etiquetas en la acción de creación de recursos, AWS realiza una autorización adicional para verificar se asignen los permisos correctos para crear etiquetas.
-
CreateCapacityProvider
-
CreateCluster
-
CreateService
-
CreateTaskSet
-
RegisterContainerInstance
-
RegisterTaskDefinition
-
RunTask
-
StartTask
Puede utilizar etiquetas de recursos para implementar el control basado en atributos (ABAC). Para obtener más información, consulte Control del acceso a recursos de Amazon ECS mediante etiquetas de recursos y Etiquetado de los recursos de Amazon ECS.
Para permitir el etiquetado en el momento de la creación, cree o modifique una política que incluya tanto los permisos para usar la acción que crea el recurso, como ecs:CreateCluster
o ecs:RunTask
, como la acción ecs:TagResource
.
En el ejemplo siguiente se muestra una política que permite a los usuarios crear clústeres y agregar etiquetas durante la creación del clúster. No se permite a los usuarios etiquetar ningún recurso (no pueden llamar directamente a la acción ecs:TagResource
).
{ "Statement": [ { "Effect": "Allow", "Action": [ "ecs:CreateCluster" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecs:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "ecs:CreateAction": [ "CreateCluster", "CreateCapacityProvider", "CreateService", "CreateTaskSet", "RegisterContainerInstance", "RegisterTaskDefinition", "RunTask", "StartTask" ] } } } ] }
La acción ecs:TagResource
solo se evalúa si se aplican etiquetas durante la acción de creación de recursos. Por lo tanto, un usuario que tenga permisos para crear un recurso (suponiendo que no existan condiciones de etiquetado) no necesita permisos para utilizar la acción ecs:TagResource
si no se especifica ninguna etiqueta en la solicitud. Sin embargo, si el usuario intenta crear un recurso con etiquetas, la solicitud dará un error si el usuario no tiene permisos para utilizar la acción ecs:TagResource
.
Control de acceso de Amazon ECS para etiquetas específicas
Puede utilizar condiciones adicionales en el elemento Condition
de las políticas de IAM para controlar las claves y los valores de etiqueta que se pueden aplicar a los recursos.
Las siguientes claves de condición se pueden utilizar con los ejemplos de la sección anterior:
-
aws:RequestTag
: indicar que una clave de etiqueta o una clave y valor de etiqueta determinados deben existir en una solicitud. También se pueden especificar otras etiquetas en la solicitud.-
Debe utilizarse con el operador de condición
StringEquals
para aplicar la combinación de valor y clave de etiqueta específica; por ejemplo, para aplicar la etiquetacost-center
=cc123
:"StringEquals": { "aws:RequestTag/cost-center": "cc123" }
-
Debe utilizarse con el operador de condición
StringLike
para aplicar una clave de etiqueta específica en la solicitud; por ejemplo, para aplicar la clave de etiquetapurpose
:"StringLike": { "aws:RequestTag/purpose": "*" }
-
-
aws:TagKeys
: aplicar las claves de etiqueta que se usan en la solicitud.-
Debe utilizarse con el modificador
ForAllValues
para aplicar claves de etiqueta específicas si estas se proporcionan en la solicitud (si se especifican etiquetas en la solicitud, solo se permiten claves de etiqueta específicas; no se permite ninguna etiqueta más). Por ejemplo, se permiten las claves de etiquetaenvironment
ocost-center
:"ForAllValues:StringEquals": { "aws:TagKeys": ["environment","cost-center"] }
-
Debe utilizarse con el modificador
ForAnyValue
para aplicar la presencia de como mínimo una de las claves de etiqueta especificadas en la solicitud. Por ejemplo, debe haber al menos una de las claves de etiquetaenvironment
owebserver
en la solicitud:"ForAnyValue:StringEquals": { "aws:TagKeys": ["environment","webserver"] }
-
Estas claves de condición se pueden aplicar a las acciones que crean recursos y admiten el etiquetado, así como a las acciones ecs:TagResource
. Para saber si una acción de la API de Amazon ECS admite el etiquetado, consulte Acciones, recursos y claves de condición para Amazon ECS.
Para obligar a los usuarios a especificar etiquetas cuando crean un recurso, debe utilizar la clave de condición aws:RequestTag
o la clave de condición aws:TagKeys
con el modificador ForAnyValue
en la acción de creación del recurso. La acción ecs:TagResource
no se evalúa si un usuario no especifica etiquetas para la acción de creación del recurso.
En cuanto a las condiciones, la clave de condición no distingue entre mayúsculas y minúsculas, mientras que el valor de condición sí. Por lo tanto, para aplicar la distinción entre mayúsculas y minúsculas de una clave de etiqueta, utilice la clave de condición aws:TagKeys
, donde la clave de etiqueta se especifica como valor en la condición.
Para obtener más información sobre las condiciones con varios valores, consulte Creación de una condición que pruebe valores de varias claves en la Guía del usuario de IAM.