Identification des rubriques Amazon SNS - Amazon Simple Notification Service

Identification des rubriques Amazon SNS

Amazon SNS prend en charge l'identification des rubriques Amazon SNS. Cela peut vous aider à suivre et à gérer les coûts associés à vos rubriques, à fournir une sécurité renforcée dans vos politiques AWS Identity and Access Management (IAM) et à vous permettre de rechercher ou de filtrer facilement parmi des milliers de rubriques. L'identification vous permet de gérer vos rubriques Amazon SNS à l'aide d'AWS Resource Groups. Pour plus d'informations sur Resource Groups, consultez le Guide de l'utilisateur AWS Resource Groups.

Identification pour l'allocation des coûts

Pour organiser et identifier vos rubriques Amazon SNS en vue de l'allocation des coûts, vous pouvez ajouter des identifications qui identifient l'objectif d'une rubrique. Cette approche est utile lorsque vous avez un grand nombre de rubriques. Vous pouvez utiliser des identifications d'allocation des coûts pour organiser votre facture AWS afin de refléter votre propre structure de coût. Pour ce faire, inscrivez-vous pour que votre facture de compte AWS inclut les clés et valeurs de balise. Pour plus d'informations, consultez Configuration du rapport de l'allocation des coûts mensuel dans le Guide de l'utilisateur AWS Billing and Cost Management.

Par exemple, vous pouvez ajouter des identifications qui représentent le centre de coût et l'objectif de vos rubriques Amazon SNS, comme suit :

Ressource Clé Valeur
Rubrique 1 Centre de coûts 43289
Application Traitement de commandes
Rubrique 2 Centre de coûts 43289
Application Traitement des paiements
Rubrique 3 Centre de coûts 76585
Application Archivage

Ce schéma d'identification vous permet de regrouper deux rubriques effectuant des tâches connexes dans le même centre de coûts, tout en identifiant une activité indépendante avec une identification pour l'allocation des coûts différente.

Identification pour le contrôle d'accès

AWS Identity and Access Management prend en charge le contrôle de l'accès aux ressources basé sur des balises. Après avoir attribué des identifications à vos ressources, fournissez des informations sur ces identifications dans l'élément de condition d'une politique IAM pour gérer l'accès basé sur les identifications. Pour plus d'informations sur la manière d'attribuer des identifications à vos ressources à l'aide de la console Amazon SNS ou du kit AWS SDK, consultez Configuration des identifications.

Vous pouvez restreindre l'accès pour une identité IAM. Par exemple, vous pouvez restreindre l'accès Publish et PublishBatch à toutes les rubriques Amazon SNS qui incluent une identification avec la clé environment et la valeur production, tout en autorisant l'accès à toutes les autres rubriques Amazon SNS. Dans l'exemple ci-dessous, la politique limite la possibilité de publier des messages aux rubriques identifiées avec production, tout en autorisant la publication de messages aux rubriques identifiées avec development. Pour plus d'informations, consultez Contrôle de l'accès à l'aide d'identifications dans le Guide de l'utilisateur IAM.

Note

La définition de l'autorisation IAM pour Publish définit l'autorisation pour Publish et 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" } } }] }

Identification pour la recherche et le filtrage des ressources

Un compte AWS peut avoir des dizaines de milliers de rubriques Amazon SNS (consultez Quotas Amazon SNS pour plus de détails). En attribuant des identifications à vos rubriques, vous pouvez simplifier le processus de recherche ou de filtrage des rubriques.

Par exemple, vous pouvez avoir des centaines de rubriques associées à votre environnement de production. Plutôt que de devoir rechercher manuellement ces rubriques, vous pouvez rechercher toutes les rubriques avec une identification donnée :

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