View a markdown version of this page

Ejemplos y sintaxis de políticas de etiquetas - AWS Organizations

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.

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 sintaxis de las políticas de etiquetas sigue la sintaxis de los tipos de políticas declarativas. Para obtener una explicación completa de esa sintaxis, consulte Comprensión de la herencia de políticas declarativas. Este tema se centra en aplicar esa sintaxis general a los requisitos específicos del tipo de política de etiqueta.

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, costcenter es 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, CostCenter es 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 CostCenter son 100, 200 y 300*.

  • (Opcional) Una opción enforced_for que 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 CostCenter etiqueta 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 @@assign para asignar cadenas a tag_key, tag_value y enforced_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.com está permitido, pero *@*.com no.

    • Puede usar el ALL_SUPPORTED comodín en el enforced_for campo 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 compatibles enforced_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 CostCenter y Project etiquetas cumplen los requisitos. Los recursos con tratamiento de mayúsculas y minúsculas alternativo para la clave de etiqueta (por ejemplo costcenter, Costcenter o COSTCENTER) 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: