Etiquetado de temas de Amazon SNS - Amazon Simple Notification Service

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.

Etiquetado de temas de Amazon SNS

Amazon SNS admite el etiquetado de temas de Amazon SNS. Esto puede ayudarle a realizar un seguimiento de los costos asociados a sus temas y administrarlos, además de proporcionar una mayor seguridad en sus Políticas de AWS Identity and Access Management (IAM) y permitirle realizar búsquedas o filtrar fácilmente en miles de temas. El etiquetado le permite administrar los temas de Amazon SNS mediante AWSResource Groups. Para obtener más información sobre Resource Groups, consulte la Guía del usuario de AWS Resource Groups.

Etiquetado para asignación de costos

Para organizar e identificar los recursos de Amazon SNS para asignación de costos, puede agregar etiquetas que identifiquen el propósito de un tema. Esto es útil especialmente cuando dispone de muchos temas. Puede utilizar las etiquetas de asignación de costos para organizar la factura de AWS de modo que refleje su propia estructura de costos. Para ello, regístrese para obtener una factura de su cuenta de AWS que incluya los valores y claves de etiquetas. Para obtener más información, consulte Configuración de un informe de asignación de costos mensual en la Guía del usuario de Administración y facturación y costos de AWS.

Por ejemplo, podría agregar etiquetas que representen el centro de costos y el objetivo de sus temas de Amazon SNS, como se indica a continuación:

Resource Clave Valor
Tema 1 Centro de costos 43289
Aplicación Procesamiento de pedidos
Tema 2 Centro de costos 43289
Aplicación Procesamiento de pagos
Tema 3 Centro de costos 76585
Aplicación Archivado

Este plan de etiquetado le permite agrupar dos temas relacionados con el rendimiento de las máquinas de estado en el mismo centro de costos, mientras etiqueta una actividad no relacionada con una etiqueta de asignación de costos distinta.

Etiquetado para el control de acceso

AWS Identity and Access Management permite controlar el acceso a los recursos en función de las etiquetas. Después de etiquetar sus recursos, proporcione información sobre las etiquetas de recurso en el elemento de condición de una política de IAM para administrar el acceso basado en etiquetas. Para obtener información sobre cómo etiquetar los recursos mediante la consola de Amazon SNS o el SDK de AWS, consulte Configuración de etiquetas.

Puede restringir el acceso a una identidad de IAM. Por ejemplo, puede restringir a Publish y PublishBatch el acceso a todos los temas de Amazon SNS que incluyan una etiqueta con la clave environment y el valor production, al mismo tiempo que permite el acceso a todos los demás temas de Amazon SNS. En el ejemplo siguiente, la política restringe la capacidad de publicar mensajes en temas etiquetados con production, al tiempo que permite que los mensajes se publiquen en temas etiquetados con development. Para obtener más información, consulte Control del acceso mediante etiquetas en la Guía del usuario de IAM.

nota

La configuración del permiso de IAM para Publish establece permisos para Publish y PublishBatch.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Deny", "Action": [ "sns:Publish" ], "Resource": "arn:aws:sns:*:*:*", "Condition": { "StringEquals": { "aws:ResourceTag/environment": "production" } } }, { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": "arn:aws:sns:*:*:*", "Condition": { "StringEquals": { "aws:ResourceTag/environment": "development" } } }] }

Etiquetado para búsqueda y filtrado de recursos

Una cuenta de AWS puede tener decenas de miles de temas de Amazon SNS (consulte Cuotas de Amazon SNS para obtener más información). Al etiquetar los temas, puede simplificar el proceso de búsqueda o filtrado de temas.

Por ejemplo, puede tener cientos de temas asociados a su entorno de producción. En lugar de tener que buscar manualmente estos temas, puede consultarlos todos con una etiqueta determinada:

import com.amazonaws.services.resourcegroups.AWSResourceGroups; import com.amazonaws.services.resourcegroups.AWSResourceGroupsClientBuilder; import com.amazonaws.services.resourcegroups.model.QueryType; import com.amazonaws.services.resourcegroups.model.ResourceQuery; import com.amazonaws.services.resourcegroups.model.SearchResourcesRequest; import com.amazonaws.services.resourcegroups.model.SearchResourcesResult; public class Example { public static void main(String[] args) { // Query Amazon SNS Topics with tag "keyA" as "valueA" final String QUERY = "{\"ResourceTypeFilters\":[\"AWS::SNS::Topic\"],\"TagFilters\":[{\"Key\":\"keyA\", \"Values\":[\"valueA\"]}]}"; // Initialize ResourceGroup client AWSResourceGroups awsResourceGroups = AWSResourceGroupsClientBuilder .standard() .build(); // Query all resources with certain tags from ResourceGroups SearchResourcesResult result = awsResourceGroups.searchResources( new SearchResourcesRequest().withResourceQuery( new ResourceQuery() .withType(QueryType.TAG_FILTERS_1_0) .withQuery(QUERY) )); System.out.println("SNS Topics with certain tags are " + result.getResourceIdentifiers()); } }