Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Amazon SNS supporta l'assegnazione di tag agli argomenti Amazon SNS. Questo può aiutarti a tenere traccia e gestire i costi associati ai tuoi argomenti, a fornire una maggiore sicurezza nelle policy di AWS Identity and Access Management (IAM) e a cercare o filtrare facilmente migliaia di argomenti. Il tagging ti consente di gestire gli argomenti di Amazon SNS utilizzando Resource AWS Groups. Per ulteriori informazioni sui Resource Groups, consulta la Guida per l'utente dei Resource Groups AWS.
Assegnazione di tag per l'allocazione dei costi
Per organizzare e identificare gli argomenti Amazon SNS per l'allocazione dei costi, puoi aggiungere tag che identificano lo scopo di un argomento. Questo è particolarmente utile in presenza di molti argomenti. È possibile utilizzare i tag di allocazione dei costi per organizzare la AWS fattura in modo che rifletta la propria struttura dei costi. A tale scopo, registrati per ricevere nella fattura AWS dell'account le chiavi e i valori dei tag. Per ulteriori informazioni, consulta Impostazione di un report di allocazione dei costi mensili nella Guida per l'utente di gestione fatturazione e costi di AWS.
Ad esempio, puoi aggiungere tag che rappresentano il centro di costo e lo scopo degli argomenti Amazon SNS, come indicato di seguito:
Risorsa | Chiave | Valore |
---|---|---|
Argomento 1 | Centro costi | 43289 |
Applicazione | Elaborazione di ordini | |
Argomento 2 | Centro costi | 43289 |
Applicazione | Elaborazione dei pagamenti | |
Argomento 3 | Centro costi | 76585 |
Applicazione | Archiviazione |
Questo schema di assegnazione di tag consente di raggruppare due argomenti che eseguono processi correlati nello stesso centro di costo, mentre si esegue l'assegnazione di tag a un'attività non pertinente con un tag di allocazione dei costi diverso.
Assegnazione di tag per il controllo degli accessi
AWS Identity and Access Management supporta il controllo dell'accesso alle risorse in base ai tag. Dopo aver taggato le risorse, devi fornire informazioni sui tag delle risorse nell'elemento condizione di una policy IAM per gestire gli accessi basati su tag. Per informazioni su come assegnare i tag alle risorse utilizzando la Console Amazon SNS o il SDK AWS, consultare Configurazione dei tag.
È possibile limitare l'accesso per un'identità IAM. Ad esempio, è possibile limitare l'accesso Publish
e PublishBatch
a tutti gli argomenti Amazon SNS che includono un tag con la chiave environment
e il valore production
, consentendo al contempo l'accesso a tutti gli altri argomenti Amazon SNS. Nell'esempio riportato di seguito, la policy limita la possibilità di pubblicare messaggi su argomenti con taggati con production
, consentendo al contempo la pubblicazione di messaggi su argomenti taggati con development
. Per ulteriori informazioni, consulta Controllo dell'accesso tramite tag nella Guida per l'utente di IAM.
Nota
Impostare l'autorizzazione IAM per Publish
imposta l'autorizzazione sia per Publish
che per 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"
}
}
}]
}
Assegnazione di tag per la ricerca e il filtro delle risorse
Un AWS account può contenere decine di migliaia di argomenti di Amazon SNS (consulta Amazon SNS Quotas per i dettagli). Assegnando tag ai tuoi argomenti, puoi semplificare il processo di ricerca o filtro degli argomenti.
Ad esempio, è possibile disporre di centinaia di argomenti associati all'ambiente di produzione. Anziché dover cercare manualmente questi argomenti, è possibile interrogare tutti gli argomenti con un determinato tag:
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());
}
}