Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Ejemplos y sintaxis de políticas de etiquetas
En esta página se describe la sintaxis de la política de etiquetas y se proporcionan ejemplos.
Temas
Sintaxis de la política de etiquetas
Una política de etiquetas es un archivo de texto sin formato que se estructura de acuerdo con las reglas de JSON
La siguiente política de etiquetas muestra una sintaxis de política de etiquetas básica:
{ "tags": { "costcenter": { "tag_key": { "@@assign": "CostCenter" }, "tag_value": { "@@assign": [ "100", "200", "300*" ] }, "enforced_for": { "@@assign": [ "secretsmanager:ALL_SUPPORTED" ] } } } }
La sintaxis de política de etiquetas incluye los siguientes elementos:
-
El nombre de clave del campo
tags. Las políticas de etiquetas siempre comienzan con este nombre de clave fijo. Es la línea superior del ejemplo de política anterior. -
Una clave de política que identifica únicamente a la declaración de política. Debe coincidir con el valor de la clave de etiqueta, excepto en el tratamiento de mayúsculas y minúsculas. El valor de política distingue entre mayúsculas y minúsculas.
En este ejemplo,
costcenteres la clave de política. -
Al menos una clave de etiqueta que especifica la clave de etiqueta permitida con el uso de mayúsculas que desea que cumplan los recursos. Si no se define el tratamiento de mayúsculas y minúsculas, las minúsculas son el tratamiento predeterminado para las claves de etiqueta. El valor de la clave de etiqueta debe coincidir con el valor de la clave de política. No obstante, dado que el valor de la clave de política no distingue entre mayúsculas y minúsculas, el uso de mayúsculas puede ser diferente.
En este ejemplo,
CostCenteres la clave de etiqueta. Este es el tratamiento de mayúsculas y minúsculas que se requiere para conformidad con la política de etiquetas. Los recursos con tratamiento alternativo de mayúsculas y minúsculas para esta clave de etiqueta no son compatibles con la política de etiquetas.Puede definir varias claves de etiqueta en una política de etiquetas.
-
(Opcional) Una lista de uno o varios valores de etiqueta aceptables para la clave de etiqueta. Si la política de etiquetas no especifica un valor de etiqueta para una clave de etiqueta, cualquier valor (incluso si no existe ninguno) se considera conforme.
En este ejemplo, los valores aceptables para la clave de etiqueta
CostCenterson100,200y300*. -
(Opcional) Una opción
enforced_forque indica si se debe evitar o no cualquier operación de etiquetado no conforme en los recursos y los servicios especificados. En la consola, es la opción Prevent noncompliant operations for this tag (Evitar las operaciones no conformes en esta etiqueta) del editor visual para crear políticas de etiquetas. La configuración predeterminada para esta opción es nula.El ejemplo de política de etiquetas especifica que la
CostCenteretiqueta aplicada a todos AWS Secrets Manager los recursos debe cumplir con esta política.aviso
Únicamente tiene que cambiar esta opción de configuración predeterminada si tiene experiencia en el uso de políticas de etiquetas. De lo contrario, podría evitar que los usuarios de las cuentas de la organización creen los recursos que necesitan.
-
Operadores que especifican cómo se combina la política de etiquetas con las otras políticas de etiquetas del árbol de organización para crear una política de etiquetas en vigor de la cuenta. En este ejemplo, se utiliza
@@assignpara asignar cadenas atag_key,tag_valueyenforced_for. Para obtener más información sobre los operadores, consulte Operadores de herencia. -
Puede utilizar el comodín
*en los valores de etiquetas.-
Puede utilizar solo un comodín por valor de etiquetas. Por ejemplo,
*@example.comestá permitido, pero*@*.comno. -
Puede usar el
ALL_SUPPORTEDcomodín en elenforced_forcampo con algunos servicios para permitir la aplicación de todos los recursos compatibles con ese servicio. Para obtener una lista de los servicios y tipos de recursos compatiblesenforced_for, consulte Servicios y tipos de recursos que admiten la aplicación de políticas. -
No puede utilizar un comodín para especificar todos los servicios ni para especificar un recurso para todos los servicios.
-
Ejemplos de políticas de etiquetas
Las políticas de etiquetas siguientes son solo para fines informativos.
nota
Antes de intentar usar estos ejemplos de políticas de etiquetas en la organización, tenga en cuenta lo siguiente:
-
Asegúrese de que ha seguido el flujo de trabajo recomendado para comenzar con las políticas de etiquetas.
-
Debería revisar y personalizar cuidadosamente estas políticas de etiquetas según sus requisitos únicos.
-
Todos los caracteres de la política de etiquetas están sujetos a un tamaño máximo. Los ejemplos que aparecen en esta guía muestran las políticas de etiquetas formateadas con espacios en blanco adicionales para mejorar su legibilidad. Sin embargo, para ahorrar espacio si el tamaño de política se acerca al tamaño máximo, puede eliminar cualquier espacio en blanco. Entre los ejemplos de espacio en blanco se incluyen caracteres de espacio y saltos de línea que están fuera de comillas.
-
Los recursos no etiquetados no aparecen como no conformes en los resultados.
Ejemplo 1: Definir las mayúsculas y minúsculas de la clave de etiquetas en toda la organización
En el ejemplo siguiente se muestra una política de etiquetas que solo define dos claves de etiqueta y el uso de mayúsculas en los que desea que las cuentas de su organización se estandarice.
Política A: política de etiqueta raíz de la organización
{ "tags": { "CostCenter": { "tag_key": { "@@assign": "CostCenter", "@@operators_allowed_for_child_policies": ["@@none"] } }, "Project": { "tag_key": { "@@assign": "Project", "@@operators_allowed_for_child_policies": ["@@none"] } } } }
Esta política de etiquetas define dos claves de etiquetas CostCenter y Project. La asociación de esta política de etiquetas a la raíz de la organización tiene los siguientes efectos:
-
Todas las cuentas de su organización heredan esta política de etiquetas.
-
Todas las cuentas de su organización deben utilizar el tratamiento de mayúsculas y minúsculas definido para conformidad. Los recursos con
CostCenteryProjectetiquetas cumplen los requisitos. Los recursos con tratamiento de mayúsculas y minúsculas alternativo para la clave de etiqueta (por ejemplocostcenter,CostcenteroCOSTCENTER) no cumplen los requisitos. -
Las líneas de
@@operators_allowed_for_child_policies": ["@@none"]bloquean las claves de etiquetas. Las políticas de etiquetas que se asocian más abajo en el árbol de organización (políticas secundarias) no pueden utilizar operadores de configuración de valores para los cambios de la clave de etiquetas, incluido el tratamiento de mayúsculas y minúsculas. -
Como ocurre con todas las políticas de etiquetas, no se evalúa la conformidad con la política de etiquetas de los recursos no etiquetados o las etiquetas que no están definidas en la política de etiquetas.
AWS recomienda que utilice este ejemplo como guía para crear una política de etiquetas similar para las claves de etiquetas que desee utilizar. Asóciela a la raíz de la organización. A continuación, cree una política de etiquetas similar al siguiente ejemplo, que solo define los valores aceptables para las claves de etiqueta definidas.
Siguiente paso: Definir valores
Suponga que asoció la política de etiquetas anterior a la raíz de la organización. A continuación, puede crear una política de etiquetas como la siguiente y asociarla a una cuenta. Esta política define valores aceptables para las claves de etiquetas CostCenter y Project.
Política B: Política de etiqueta de cuenta
{ "tags": { "CostCenter": { "tag_value": { "@@assign": [ "Production", "Test" ] } }, "Project": { "tag_value": { "@@assign": [ "A", "B" ] } } } }
Si asocia la política A a la raíz de la organización y la política B a una cuenta, las políticas se combinan para crear la siguiente política de etiquetas efectiva para la cuenta:
Política A + política B = política de etiquetas en vigor para la cuenta
{ "tags": { "Project": { "tag_value": [ "A", "B" ], "tag_key": "Project" }, "CostCenter": { "tag_value": [ "Production", "Test" ], "tag_key": "CostCenter" } } }
Para obtener más información acerca de la herencia de políticas, además de ejemplos acerca de cómo funcionan los operadores de herencia y ejemplos de políticas de etiquetas en vigor, consulte Comprensión de la herencia de políticas declarativas.
Ejemplo 2: Evitar el uso de una clave de etiqueta
Para evitar el uso de una clave de etiqueta, puede asociar una política de etiquetas como la siguiente a una entidad de organización.
Esta política de ejemplo especifica que no se aceptan valores para la clave de etiqueta Color. También especifica que no se permiten operadores en las políticas de etiquetas secundarias. Por lo tanto, se considera que las etiquetas de Color de los recursos de las cuentas afectadas no cumplen los requisitos. Además, la opción enforced_for realmente impide que las cuentas afectadas etiqueten solo tablas de Amazon DynamoDB con la etiqueta Color.
{ "tags": { "Color": { "tag_key": { "@@operators_allowed_for_child_policies": [ "@@none" ], "@@assign": "Color" }, "tag_value": { "@@operators_allowed_for_child_policies": [ "@@none" ], "@@assign": [] }, "enforced_for": { "@@assign": [ "dynamodb:table" ] } } } }
Ejemplo 3: especifique una política de etiquetas para todos los tipos de recursos compatibles de una región específica AWS servicio
Para especificar una política de etiquetas para todos los tipos de recursos compatibles de un AWS servicio específico, utilice el ALL_SUPPORTED comodín.
Esta política utiliza el comodín ALL_SUPPORTED para especificar que todas las instancias de Amazon EC2 con la clave de etiqueta Environment solo pueden tener un valor de etiqueta Prod o Non-prod. De forma individual, este comodín proporciona una alternativa eficaz y de una sola línea a la publicación de cada instancia de Amazon EC2. Para obtener una lista de los servicios y tipos de recursos compatibles con el comodín ALL_SUPPORTED, consulte Servicios y tipos de recursos que admiten la aplicación de políticas.
{ "tags": { "Environment": { "tag_key": { "@@assign": "Environment", "@@operators_allowed_for_child_policies": ["@@none"] }, "tag_value": { "@@assign": [ "Prod", "Non-prod" ], "@@operators_allowed_for_child_policies": ["@@none"] }, "enforced_for": { "@@assign": [ "ec2:ALL_SUPPORTED" ] } } } }
Ejemplo 4: Imponga las claves de etiqueta requeridas para garantizar el cumplimiento
En este ejemplo se muestra cómo definir una política de etiquetas que exija que todos los recursos incluyan etiquetas de conformidad obligatorias. Las organizaciones suelen utilizar este patrón para garantizar una asignación adecuada de los costes, el seguimiento de la propiedad y la identificación del entorno.
{ "tags": { "CostCenter": { "report_required_tag_for": { "@@assign": [ "ec2:instance", "s3:bucket", "rds:db", "lambda:function" ] }, "tag_key": { "@@assign": "CostCenter" } }, "Environment": { "report_required_tag_for": { "@@assign": [ "ec2:ALL_SUPPORTED", "rds:ALL_SUPPORTED", "s3:ALL_SUPPORTED" ] }, "tag_key": { "@@assign": "Environment" }, "tag_value": { "@@assign": [ "Production", "Staging", "Development", "Test" ] } }, "Owner": { "report_required_tag_for": { "@@assign": [ "ec2:ALL_SUPPORTED" ] }, "tag_key": { "@@assign": "Owner" } } } }
Al aplicar esta política y configurar la herramienta de IaC con la aplicación de políticas de etiquetas:
-
CostCenter: Necesario para las instancias EC2, los buckets S3, las bases de datos RDS y las funciones Lambda
-
Entorno: obligatorio para todos los recursos de EC2, RDS y S3, con valores permitidos restringidos a producción, puesta en escena, desarrollo o prueba
-
Propietario: obligatorio para todos los recursos de EC2 de su organización
Ejemplo de código de infraestructura que cumple con esta política:
EC2Instance: Type: AWS::EC2::Instance Properties: ImageId: ami-0c02fb55956c7d316 InstanceType: t2.micro Tags: - Key: CostCenter Value: CC-12345 - Key: Environment Value: Test - Key: Owner Value: john.doe@company.com
Si intenta crear un recurso sin las etiquetas necesarias, la implementación de IaC fallará o generará una advertencia durante la fase de planificación, según la configuración. Cuando se configura en modo de error, la implementación se bloquea antes de que se cree ningún recurso. Cuando se configura en modo de advertencia, el despliegue continúa, pero alerta a tu equipo de las etiquetas que faltan. El mensaje de error de validación identifica exactamente qué etiquetas obligatorias faltan y qué recursos las necesitan.
Para obtener instrucciones de configuración específicas para su herramienta iAC:
-
CloudFormation: Consulte Haga cumplir con CloudFormation para activar el enlace de conformidad con el etiquetado
-
Terraform: Consulte esta opción Haga cumplir con Terraform para habilitar la validación de la política de etiquetas en el proveedor AWS
-
Pulumi: Consulte esta opción Haga cumplir con Pulumi para habilitar el paquete de políticas de informes sobre políticas de etiquetas