Izin untuk topik Amazon SNS - DevOps Guru Amazon

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

Izin untuk topik Amazon SNS

Gunakan informasi dalam topik ini hanya jika Anda ingin mengonfigurasi Amazon DevOps Guru untuk mengirimkan pemberitahuan ke topik Amazon SNS yang dimiliki oleh akun lain AWS .

Agar DevOps Guru dapat mengirimkan notifikasi ke topik Amazon SNS yang dimiliki oleh akun lain, Anda harus melampirkan kebijakan ke topik Amazon SNS yang DevOps memberikan izin Guru untuk mengirim pemberitahuan ke akun tersebut. Jika Anda mengonfigurasi DevOps Guru untuk mengirimkan notifikasi ke topik Amazon SNS yang dimiliki oleh akun yang sama dengan yang Anda gunakan untuk DevOps Guru, DevOps Guru menambahkan kebijakan ke topik untuk Anda.

Setelah melampirkan kebijakan untuk mengonfigurasi izin untuk topik Amazon SNS di akun lain, Anda dapat menambahkan topik Amazon SNS di Guru. DevOps Anda juga dapat memperbarui kebijakan Amazon SNS Anda dengan saluran notifikasi agar lebih aman.

catatan

DevOpsGuru saat ini hanya mendukung akses lintas akun di Wilayah yang sama.

Mengonfigurasi izin untuk topik Amazon SNS di akun lain

Menambahkan izin sebagai peran IAM

Untuk menggunakan topik Amazon SNS dari akun lain setelah masuk dengan peran IAM, Anda harus melampirkan kebijakan ke topik Amazon SNS yang ingin Anda gunakan. Untuk melampirkan kebijakan ke topik Amazon SNS dari akun lain saat menggunakan peran IAM, Anda harus memiliki izin berikut untuk sumber daya akun tersebut sebagai bagian dari peran IAM Anda:

  • SNS: CreateTopic

  • SNS: GetTopicAttributes

  • SNS: SetTopicAttributes

  • SNS:Publish

Lampirkan kebijakan berikut ke topik Amazon SNS yang ingin Anda gunakan. Untuk Resource kuncinya, topic-owner-account-id adalah ID akun pemilik topik, topic-sender-account-id adalah ID akun pengguna yang mengatur DevOps Guru, dan devops-guru-role merupakan peran IAM dari pengguna individu yang terlibat. Anda harus mengganti nilai yang sesuai untuk region-id (misalnya,us-west-2), danmy-topic-name.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "EnableDevOpsGuruServicePrincipal", "Action": "sns:Publish", "Effect": "Allow", "Resource": "arn:aws:sns:region-id:topic-owner-account-id:my-topic-name", "Principal": { "Service": "region-id.devops-guru.amazonaws.com" }, "Condition": { "StringEquals": { "AWS:SourceAccount": "topic-sender-account-id" } } }, { "Sid": "EnableAccountPrincipal", "Action": "sns:Publish", "Effect": "Allow", "Resource": "arn:aws:sns:region-id:topic-owner-account-id:my-topic-name", "Principal": { "AWS": ["arn:aws:iam::topic-sender-account-id:role/devops-guru-role"] } } ] }

Menambahkan izin sebagai pengguna IAM

Untuk menggunakan topik Amazon SNS dari akun lain sebagai pengguna IAM, lampirkan kebijakan berikut ke topik Amazon SNS yang ingin Anda gunakan. Untuk Resource kuncinya, topic-owner-account-id adalah ID akun pemilik topik, topic-sender-account-id adalah ID akun pengguna yang mengatur DevOps Guru, dan devops-guru-user-name merupakan pengguna IAM individu yang terlibat. Anda harus mengganti nilai yang sesuai untuk region-id (misalnya,us-west-2) danmy-topic-name.

catatan

Jika memungkinkan, kami merekomendasikan untuk mengandalkan kredensial sementara, bukan membuat pengguna IAM yang memiliki kredensial jangka panjang seperti kata sandi dan kunci akses. Untuk informasi selengkapnya tentang praktik terbaik dalam IAM, lihat Praktik terbaik keamanan di IAM dalam Panduan Pengguna IAM.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "EnableDevOpsGuruServicePrincipal", "Action": "sns:Publish", "Effect": "Allow", "Resource": "arn:aws:sns:region-id:topic-owner-account-id:my-topic-name", "Principal": { "Service": "region-id.devops-guru.amazonaws.com" }, "Condition": { "StringEquals": { "AWS:SourceAccount": "topic-sender-account-id" } } }, { "Sid": "EnableAccountPrincipal", "Action": "sns:Publish", "Effect": "Allow", "Resource": "arn:aws:sns:region-id:topic-owner-account-id:my-topic-name", "Principal": { "AWS": ["arn:aws:iam::topic-sender-account-id:user/devops-guru-user-name"] } } ] }

Menambahkan topik Amazon SNS dari akun lain

Setelah mengonfigurasi izin untuk topik Amazon SNS di akun lain, Anda dapat menambahkan topik Amazon SNS tersebut ke DevOps setelan notifikasi Guru Anda. Anda dapat menambahkan topik Amazon SNS menggunakan AWS CLI atau konsol DevOps Guru.

  • Saat Anda menggunakan konsol, Anda harus memilih opsi Gunakan topik SNS ARN untuk menentukan topik yang ada untuk menggunakan topik dari akun lain.

  • Saat Anda menggunakan AWS CLI operasi add-notification-channel, Anda harus menentukan bagian TopicArn dalam NotificationChannelConfig objek.

Tambahkan topik Amazon SNS dari akun lain menggunakan konsol
  1. Buka konsol Amazon DevOps Guru di https://console.aws.amazon.com/devops-guru/.

  2. Buka panel navigasi, lalu pilih Pengaturan.

  3. Buka bagian Pemberitahuan dan pilih Edit.

  4. Pilih Tambahkan topik SNS.

  5. Pilih Gunakan topik SNS ARN untuk menentukan topik yang ada.

  6. Masukkan ARN topik Amazon SNS yang ingin Anda gunakan. Anda seharusnya sudah mengonfigurasi izin untuk topik ini dengan melampirkan kebijakan padanya.

  7. (Opsional) Pilih konfigurasi Pemberitahuan untuk mengedit pengaturan frekuensi notifikasi.

  8. Pilih Simpan.

Setelah Anda menambahkan topik Amazon SNS ke setelan notifikasi, DevOps Guru menggunakan topik tersebut untuk memberi tahu Anda tentang peristiwa penting, seperti saat wawasan baru dibuat.

Memperbarui kebijakan Amazon SNS Anda dengan saluran notifikasi (disarankan)

Setelah menambahkan topik, sebaiknya Anda membuat kebijakan Anda lebih aman dengan menetapkan izin hanya untuk saluran notifikasi DevOps Guru yang berisi topik Anda.

Perbarui kebijakan topik Amazon SNS Anda dengan saluran notifikasi (disarankan)
  1. Jalankan AWS CLI perintah list-notification-channels DevOps Guru di akun Anda yang ingin Anda kirimi notifikasi.

    aws devops-guru list-notification-channels
  2. list-notification-channelsSebagai tanggapan, catat ID saluran yang berisi ARN topik Amazon SNS Anda. ID saluran adalah panduan.

    Misalnya, dalam respons berikut, ID saluran untuk topik dengan ARN arn:aws:sns:region-id:111122223333:topic-name adalah e89be5f7-989d-4c4c-b1fe-e7145037e531

    { "Channels": [ { "Id": "e89be5f7-989d-4c4c-b1fe-e7145037e531", "Config": { "Sns": { "TopicArn": "arn:aws:sns:region-id:111122223333:topic-name" }, "Filters": { "MessageTypes": ["CLOSED_INSIGHT", "NEW_INSIGHT", "SEVERITY_UPGRADED"], "Severities": ["HIGH", "MEDIUM"] } } } ] }
  3. Buka kebijakan yang Anda buat di akun lain menggunakan ID pemilik topik diMengonfigurasi izin untuk topik Amazon SNS di akun lain. Dalam Condition pernyataan kebijakan, tambahkan baris yang menentukan. SourceArn ARN berisi ID Wilayah Anda (misalnya,us-east-1), nomor AWS akun pengirim topik, dan ID saluran yang Anda catat.

    ConditionPernyataan Anda yang diperbarui terlihat seperti berikut ini.

    "Condition" : { "StringEquals" : { "AWS:SourceArn": "arn:aws:devops-guru:us-east-1:111122223333:channel/e89be5f7-989d-4c4c-b1fe-e7145037e531", "AWS:SourceAccount": "111122223333" } }

Jika AddNotificationChannel tidak dapat menambahkan Topik SNS Anda, periksa apakah kebijakan IAM Anda memiliki izin berikut.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "DevOpsGuruTopicPermissions", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:GetTopicAttributes", "sns:SetTopicAttributes", "sns:Publish" ], "Resource": "arn:aws:sns:region-id:account-id:my-topic-name" }] }