Memberikan izin Layanan Terkelola Amazon untuk Prometheus untuk mengirim pesan ke topik Amazon SNS Anda - Layanan Terkelola Amazon untuk Prometheus

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memberikan izin Layanan Terkelola Amazon untuk Prometheus untuk mengirim pesan ke topik Amazon SNS Anda

Anda harus memberikan izin Layanan Terkelola Amazon untuk Prometheus untuk mengirim pesan ke topik Amazon SNS Anda. Pernyataan kebijakan berikut mencakup Condition pernyataan untuk membantu mencegah masalah keamanan wakil yang membingungkan. ConditionPernyataan tersebut membatasi akses ke topik Amazon SNS untuk mengizinkan hanya operasi yang berasal dari akun khusus ini dan Layanan Terkelola Amazon untuk ruang kerja Prometheus. Untuk informasi lebih lanjut tentang masalah wakil yang membingungkan, lihatPencegahan confused deputy lintas layanan.

Untuk memberikan izin Layanan Terkelola Amazon untuk Prometheus untuk mengirim pesan ke topik Amazon SNS Anda
  1. Buka konsol Amazon SNS di https://console.aws.amazon.com/sns/v3/home.

  2. Di panel navigasi, pilih Pengguna.

  3. Pilih nama topik yang Anda gunakan dengan Amazon Managed Service untuk Prometheus.

  4. Pilih Edit.

  5. Pilih Kebijakan akses dan tambahkan pernyataan kebijakan berikut ke kebijakan yang ada.

    { "Sid": "Allow_Publish_Alarms", "Effect": "Allow", "Principal": { "Service": "aps.amazonaws.com" }, "Action": [ "sns:Publish", "sns:GetTopicAttributes" ], "Condition": { "ArnEquals": { "aws:SourceArn": "workspace_ARN" }, "StringEquals": { "AWS:SourceAccount": "account_id" } }, "Resource": "arn:aws:sns:region:account_id:topic_name" }

    [Opsional] Jika topik SNS Anda diaktifkan enkripsi sisi layanan (SSE), Anda perlu menambahkan izin berikut ke kebijakan kunci KMS Anda di blok. "Action" Untuk informasi selengkapnya, lihat Izin AWS KMS untuk Topik SNS.

    kms:GenerateDataKey kms:Decrypt
  6. Pilih Simpan perubahan.

catatan

Secara default, Amazon SNS membuat kebijakan akses dengan kondisi aktif. AWS:SourceOwner Untuk informasi selengkapnya, lihat Kebijakan Akses SNS.

catatan

IAM mengikuti aturan pertama kebijakan yang paling membatasi. Dalam topik SNS Anda, jika ada blok kebijakan yang lebih ketat daripada blok kebijakan Amazon SNS yang didokumentasikan, izin untuk kebijakan topik tidak diberikan. Untuk mengevaluasi kebijakan Anda dan mencari tahu apa yang telah diberikan, lihat Logika evaluasi kebijakan.

Pencegahan confused deputy lintas layanan

Masalah confused deputy adalah masalah keamanan saat entitas yang tidak memiliki izin untuk melakukan suatu tindakan dapat memaksa entitas yang lebih berhak untuk melakukan tindakan tersebut. Pada tahun AWS, peniruan lintas layanan dapat mengakibatkan masalah wakil yang membingungkan. Peniruan identitas lintas layanan dapat terjadi ketika satu layanan (layanan yang dipanggil) memanggil layanan lain (layanan yang dipanggil). Layanan pemanggilan dapat dimanipulasi menggunakan izinnya untuk bertindak pada sumber daya pelanggan lain dengan cara yang seharusnya tidak dilakukannya kecuali bila memiliki izin untuk mengakses. Untuk mencegah hal ini, AWS sediakan alat yang membantu Anda melindungi data Anda untuk semua layanan dengan prinsip layanan yang telah diberikan akses ke sumber daya di akun Anda.

Sebaiknya gunakan kunci konteks kondisi aws:SourceAccountglobal aws:SourceArndan global dalam kebijakan sumber daya untuk membatasi izin yang diberikan Layanan Terkelola Amazon untuk Prometheus ke Amazon SNS ke sumber daya. Jika Anda menggunakan kedua kunci konteks kondisi global, aws:SourceAccount nilai dan akun dalam aws:SourceArn nilai harus menggunakan ID akun yang sama saat digunakan dalam pernyataan kebijakan yang sama.

Nilai aws:SourceArn harus ARN dari Amazon Managed Service untuk ruang kerja Prometheus.

Cara paling efektif untuk melindungi dari masalah confused deputy adalah dengan menggunakan kunci konteks kondisi global aws:SourceArn dengan ARN lengkap sumber daya. Jika Anda tidak mengetahui ARN lengkap sumber daya atau jika Anda menentukan beberapa sumber daya, gunakan kunci kondisi konteks aws:SourceArn global dengan wildcard (*) untuk bagian ARN yang tidak diketahui. Misalnya, arn:aws:servicename::123456789012:*.

Kebijakan yang ditampilkan di Memberikan izin Layanan Terkelola Amazon untuk Prometheus untuk mengirim pesan ke topik Amazon SNS Anda menunjukkan cara Anda dapat menggunakan kunci konteks kondisi aws:SourceAccount global aws:SourceArn dan global di Layanan Terkelola Amazon untuk Prometheus untuk mencegah masalah deputi yang membingungkan.