Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penandaan topik Amazon SNS
Amazon SNS mendukung penandaan topik Amazon SNS. Hal ini dapat membantu Anda melacak dan mengelola biaya yang terkait dengan topik Anda, memberikan keamanan yang lebih baik di kebijakanAWS Identity and Access Management (IAM) Anda, serta memungkinkan Anda mencari atau memfilter ribuan topik dengan mudah. Penandaan memungkinkan Anda mengelola topik Amazon SNS Anda menggunakanAWS Resource Groups. Untuk informasi lebih lanjut tetang Resource Groups, lihat Panduan PenggunaAWS Resource Groups.
Topik
Penandaan untuk alokasi biaya
Untuk mengelola dan mengidentifikasi topik Amazon SNS untuk alokasi biaya, Anda dapat menambahkan tanda yang mengidentifikasi tujuan topik. Ini sangat berguna ketika Anda memiliki banyak topik. Anda juga dapat menggunakan tanda untuk mengatur tagihan AWS Anda untuk merefleksikan struktur biaya Anda sendiri. Untuk melakukannya, daftar untuk membuat tagihan akun AWS Anda menyertakan kunci dan nilai tanda. Untuk informasi selengkapnya, lihat Menyiapkan Laporan Alokasi Biaya Bulanan dalam Panduan PenggunaAWS Billing and Cost Management.
Misalnya, Anda dapat menambahkan tanda yang mewakili pusat biaya dan tujuan topik Amazon SNS Anda, sebagai berikut:
Resource | Kunci | Nilai |
---|---|---|
Topik 1 | Pusat Biaya | 43289 |
Aplikasi | Proses pemesanan | |
Topik 2 | Pusat Biaya | 43289 |
Aplikasi | Pemrosesan pembayaran | |
Topik 3 | Pusat Biaya | 76585 |
Aplikasi | Pengarsipan |
Skema penandaan ini mengizinkan Anda untuk mengelompokkan dua topik yang melakukan tugas terkait di pusat biaya yang sama, ketika menandai aktivitas yang tidak terkait dengan tanda alokasi biaya yang berbeda.
Penandaan untuk kontrol akses
AWS Identity and Access Managementmendukung akses pengendalian ke sumber daya berdasarkan tanda. Setelah menandai sumber daya Anda, berikan informasi tentang tanda sumber daya Anda di elemen kondisi kebijakan IAM untuk mengelola akses berbasis tanda. Untuk informasi tentang cara menandai sumber daya Anda menggunakan konsol Amazon SNS atau AWSSDK, lihat Mengonfigurasi tag.
Anda dapat membatasi akses untuk identitas IAM. Misalnya, Anda dapat membatasiPublish
danPublishBatch
mengakses semua topik Amazon SNS yang menyertakan tag dengan kuncienvironment
dan nilainyaproduction
, sekaligus memungkinkan akses ke semua topik Amazon SNS lainnya. Pada contoh di bawah ini, kebijakan membatasi kemampuan untuk mempublikasikan pesan ke topik yang ditandai denganproduction
, sementara memungkinkan pesan untuk dipublikasikan ke topik yang ditandai dengandevelopment
. Untuk informasi selengkapnya, lihat Mengendalikan Akses Menggunakan Tanda di Panduan Pengguna IAM.
catatan
Mengatur izin IAM untukPublish
menetapkan izin untuk keduanyaPublish
danPublishBatch
.
{ "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" } } }] }
Penandaan untuk pencarian dan penyaringan sumber daya
AWSAkun dapat memiliki puluhan ribu topik Amazon SNS (lihat Kuota Amazon SNS untuk detailnya). Dengan menandai topik Anda, Anda dapat menyederhanakan proses pencarian melalui atau menyaring topik.
Misalnya, Anda mungkin memiliki ratusan topik yang terkait dengan lingkungan produksi Anda. Daripada harus secara manual mencari topik ini, Anda dapat query untuk semua topik dengan tag yang diberikan:
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()); } }