Quiero usar políticas de control de servicios (SCP) y políticas de etiquetas para que los usuarios de mis cuentas de miembro en AWS Organizations no puedan crear recursos de AWS.
Descripción corta
Utilice las políticas de etiquetas para mantener etiquetas estandarizadas en los recursos de AWS compatibles en todas las cuentas de los miembros de su organización. De forma predeterminada, el uso de mayúsculas en las claves de etiqueta se hereda de la política principal. Para definir el uso de mayúsculas de la clave de etiqueta aplicada, seleccione Aplicar el uso de mayúsculas que ha especificado anteriormente para la clave de etiqueta. Si no existe una política principal o no activa el uso de mayúsculas, se considera que una clave de etiqueta completamente en minúscula cumple con las normas.
Al crear un recurso, las políticas de etiquetas comprueban si hay claves de etiquetas compatibles que coincidan con el valor de etiqueta y el uso de mayúsculas definidos. Sin embargo, un usuario puede modificar las claves de etiquetas estandarizadas y crear recursos sin etiquetas compatibles. Use las SCP para restringir los permisos de las entidades de sus cuentas de miembros.
Resolución
Use políticas de etiquetas para evitar etiquetas no conformes en recursos nuevos o existentes
La siguiente política permite a los usuarios cambiar el valor de tag_value de sus instancias de Amazon Elastic Compute Cloud (Amazon EC2) únicamente a Preprod o Production:
{
"tags": {
"Environment": {
"tag_key": {
"@@assign": "Environment"
},
"tag_value": {
"@@assign": [
"Preprod",
"Production"
]
},
"enforced_for": {
"@@assign": [
"ec2:instance"
]
}
}
}
}
En la política anterior, un usuario no puede introducir Dev para tag_value porque la política no define la opción Dev. Además, si la política incluye la opción de uso de mayúsculas, el usuario no puede cambiar de Entorno a entorno.
Uso de las SCP para detener la creación de recursos de instancia sin una clave de etiqueta compatible
La siguiente SCP requiere que los usuarios incluyan una clave de etiqueta compatible en los metadatos de la instancia cuando llamen a la operación de la API RunInstances. Si un usuario con este SCP adjunto crea un recurso con una etiqueta compatible, el usuario no podrá agregar, modificar ni eliminar pares de clave valor de etiqueta:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyUpdatingOrDeletingAnyTagOnInstanceWithAnAttachedCopliantTags",
"Effect": "Deny",
"Action": [
"ec2:CreateTags",
"ec2:DeleteTags"
],
"Resource": "arn:aws:ec2:*:*:instance/*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/Environment": [
"Preprod",
"Production"
]
},
"Null": {
"aws:ResourceTag/Environment": "false"
}
}
},
{
"Sid": "DenyRunInstancesWithoutOneofTheCompliantTagKeys",
"Effect": "Deny",
"Action": [
"ec2:RunInstances"
],
"Resource": "arn:aws:ec2:*:*:instance/*",
"Condition": {
"Null": {
"aws:RequestTag/Environment": "true"
}
}
}
]
}
Nota: Cuando llame a la API RunInstances, asegúrese de pasar todas las etiquetas necesarias.
Información relacionada
¿Cuál es la diferencia entre una política de control de servicio de AWS Organizations y una política de IAM?
Sintaxis de la política de etiquetas