Marcação de SNS tópicos da Amazon - Amazon Simple Notification Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Marcação de SNS tópicos da Amazon

A Amazon SNS suporta a marcação de SNS tópicos da Amazon. Isso pode ajudá-lo a monitorar e gerenciar os custos associados aos seus tópicos, fornecer segurança aprimorada em suas políticas de AWS Identity and Access Management (IAM) e permitir que você pesquise ou filtre facilmente milhares de tópicos. A marcação permite que você gerencie seus SNS tópicos da Amazon usando AWS Resource Groups. Para obter mais informações sobre o Resource Groups, consulte o Guia do usuário do AWS Resource Groups.

Marcação para alocação de custos

Para organizar e identificar seus SNS tópicos da Amazon para alocação de custos, você pode adicionar tags que identifiquem a finalidade de um tópico. Isso é especialmente útil quando você tem vários tópicos. Você pode usar etiquetas de alocação de custos para organizar sua AWS fatura de forma a refletir sua própria estrutura de custos. Para fazer isso, inscreva-se para receber a fatura AWS da sua conta e incluir as chaves e os valores da tag. Para obter mais informações, consulte Configurar um relatório de alocação de custos mensal, no Guia do usuário do AWS Billing and Cost Management.

Por exemplo, você pode adicionar tags que representem o centro de custos e a finalidade dos seus SNS tópicos da Amazon, da seguinte forma:

Recurso Chave Valor
Tópico 1 Centro de custos 43289
Aplicativo Processamento de pedidos
Tópico 2 Centro de custos 43289
Aplicativo Processamento de pagamentos
Tópico 3 Centro de custos 76585
Aplicativo Arquivamento

Esse esquema de marcação permite que você agrupe dois tópicos executando tarefas relacionadas no mesmo centro de custos e, ao mesmo tempo, marcar uma atividade não relacionada com outra etiqueta de alocação de custos.

Marcação para controle de acesso

AWS Identity and Access Management suporta o controle do acesso a recursos com base em tags. Depois de marcar seus recursos, forneça informações sobre suas tags de recursos no elemento de condição de uma IAM política para gerenciar o acesso baseado em tags. Para obter informações sobre como marcar seus recursos usando o SNSconsole da Amazon ou o AWS SDK, consulte Configuração de tags.

Você pode restringir o acesso a uma IAM identidade. Por exemplo, você pode restringir Publish e PublishBatch acessar todos os SNS tópicos da Amazon que incluem uma tag com a chave environment e o valorproduction, enquanto permite o acesso a todos os outros SNS tópicos da Amazon. No exemplo abaixo, a política restringe a capacidade de publicar mensagens em tópicos marcados comproduction, enquanto permite que mensagens sejam publicadas em tópicos marcados com development. Para obter mais informações, consulte Controlando o acesso usando tags no Guia IAM do usuário.

nota

Definir a IAM permissão para Publish define a permissão para Publish PublishBatch e.

{ "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" } } }] }

Marcação para pesquisa e filtragem de recursos

Uma AWS conta pode ter dezenas de milhares de SNS tópicos da Amazon (consulte Amazon SNS Quotas para obter detalhes). Por meio da marcação de tópicos, é possível simplificar o processo de pesquisa ou filtragem de tópicos.

Por exemplo, você pode ter centenas de tópicos que estão associados ao seu ambiente de produção. Em vez de ter que pesquisar manualmente esses tópicos, você pode consultar todos eles com uma determinada etiqueta:

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()); } }