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. Ini dapat membantu Anda melacak dan mengelola biaya yang terkait dengan topik Anda, memberikan keamanan yang ditingkatkan dalam kebijakan AWS Identity and Access Management (IAM), dan memungkinkan Anda mencari atau memfilter ribuan topik dengan mudah. Penandaan memungkinkan Anda mengelola topik Amazon SNS menggunakan Resource AWS Groups. Untuk informasi selengkapnya tentang Resource Groups, lihat Panduan Pengguna AWS Resource Groups.
Penandaan untuk alokasi biaya
Untuk mengatur dan mengidentifikasi topik Amazon SNS Anda untuk alokasi biaya, Anda dapat menambahkan tag yang mengidentifikasi tujuan suatu topik. Ini sangat berguna ketika Anda memiliki banyak topik. Anda dapat menggunakan tag alokasi biaya untuk mengatur AWS tagihan Anda untuk mencerminkan struktur biaya Anda sendiri. Untuk melakukan ini, daftar untuk mendapatkan tagihan AWS akun Anda untuk menyertakan kunci tag dan nilai. Untuk informasi selengkapnya, lihat Menyiapkan Laporan Alokasi Biaya Bulanan di Panduan Pengguna AWS Billing and Cost Management.
Misalnya, Anda dapat menambahkan tag yang mewakili pusat biaya dan tujuan topik Amazon SNS Anda, sebagai berikut:
Sumber Daya | 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 memungkinkan Anda mengelompokkan dua topik yang melakukan tugas terkait di pusat biaya yang sama, sambil menandai aktivitas yang tidak terkait dengan tag alokasi biaya yang berbeda.
Penandaan untuk kontrol akses
AWS Identity and Access Management mendukung pengendalian akses ke sumber daya berdasarkan tag. Setelah menandai sumber daya Anda, berikan informasi tentang tag sumber daya Anda di elemen kondisi kebijakan IAM untuk mengelola akses berbasis tag. Untuk informasi tentang cara menandai sumber daya Anda menggunakan konsol Amazon SNS atau AWS SDK, lihat Mengonfigurasi tag.
Anda dapat membatasi akses untuk identitas IAM. Misalnya, Anda dapat membatasi Publish
dan PublishBatch
mengakses semua topik Amazon SNS yang menyertakan tag dengan environment
kunci dan production
nilainya, sambil mengizinkan akses ke semua topik Amazon SNS lainnya. Dalam contoh di bawah ini, kebijakan membatasi kemampuan untuk mempublikasikan pesan ke topik yang ditandaiproduction
, sambil mengizinkan pesan dipublikasikan ke topik yang ditandai. development
Untuk informasi selengkapnya, lihat Mengendalikan Akses Menggunakan Tanda di Panduan Pengguna IAM.
catatan
Mengatur izin IAM untuk Publish
menetapkan izin untuk keduanya Publish
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 pemfilteran sumber daya
AWS Akun dapat memiliki puluhan ribu topik Amazon SNS (lihat Kuota Amazon SNS untuk detailnya). Dengan menandai topik Anda, Anda dapat menyederhanakan proses mencari atau memfilter topik.
Misalnya, Anda mungkin memiliki ratusan topik yang terkait dengan lingkungan produksi Anda. Daripada harus mencari topik ini secara manual, Anda dapat menanyakan 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()); } }