AWSSupport-TroubleshootS3EventNotifications - AWS Systems Manager Referensi buku runbook otomatisasi

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

AWSSupport-TroubleshootS3EventNotifications

Deskripsi

Runbook AWSSupport-TroubleshootS3EventNotifications AWS Systems Manager otomatisasi membantu memecahkan masalah Pemberitahuan Acara Bucket Simple Storage Service Amazon (Amazon S3) yang dikonfigurasi AWS Lambda dengan Fungsi, Topik Simple Notification Service Amazon (Amazon SNS), atau Amazon Simple Queue Service (Amazon SQS) Antrian. Ini menyediakan laporan pengaturan konfigurasi dari berbagai sumber daya yang dikonfigurasi dengan Amazon S3 Bucket sebagai pemberitahuan acara tujuan.

Bagaimana cara kerjanya?

Runbook melakukan langkah-langkah berikut:

  • Memeriksa apakah Bucket Amazon S3 ada di akun yang sama tempat AWSSupport-TroubleshootS3EventNotifications dijalankan.

  • Mengambil sumber daya tujuan (AWS Lambda Fungsi, atau Topik Amazon SNS atau antrean Amazon SQS) yang dikonfigurasi sebagai Pemberitahuan Peristiwa untuk Bucket Amazon S3 menggunakan API. GetBucketNotificationConfiguration

  • Memvalidasi bahwa sumber daya tujuan ada, lalu meninjau kebijakan sumber daya tujuan berbasis sumber daya untuk menentukan apakah Amazon S3 diizinkan untuk mempublikasikan ke tujuan.

  • Jika Anda mengenkripsi tujuan dengan kunci AWS Key Management Service (AWS KMS), kebijakan kunci akan diperiksa untuk menentukan apakah akses Amazon S3 diizinkan.

  • Menghasilkan laporan dari semua pemeriksaan sumber daya tujuan.

penting
  • Runbook ini hanya dapat mengevaluasi konfigurasi notifikasi peristiwa jika pemilik bucket Amazon S3 sama Akun AWS dengan pemilik tempat runbook otomatisasi dijalankan.

  • Selain itu, buku runbook ini tidak dapat mengevaluasi kebijakan tentang sumber daya tujuan yang di-host di tempat lain Akun AWS.

Jalankan Otomasi ini (konsol)

Jenis dokumen

Otomatisasi

Pemilik

Amazon

Platform

Linux, macOS, Windows

Parameter

  • AutomationAssumeRole

    Tipe: String

    Deskripsi: (Opsional) Nama Sumber Daya Amazon (ARN) dari peran AWS Identity and Access Management (IAM) yang memungkinkan Otomasi Systems Manager untuk melakukan tindakan atas nama Anda. Jika tidak ada peran yang ditentukan, Systems Manager Automation menggunakan izin pengguna yang memulai runbook ini.

  • S3 BucketName

    Tipe: AWS::S3::Bucket::Name

    Deskripsi: (Wajib) Nama bucket Amazon S3 yang dikonfigurasi dengan notifikasi peristiwa.

Izin IAM yang diperlukan

AutomationAssumeRoleParameter memerlukan tindakan berikut untuk menggunakan runbook dengan sukses.

  • s3:GetBucketLocation

  • s3:ListAllMyBuckets

  • s3:GetBucketNotification

  • sqs:GetQueueAttributes

  • sqs:GetQueueUrl

  • sns:GetTopicAttributes

  • kms:GetKeyPolicy

  • kms:DescribeKey

  • kms:ListAliases

  • lambda:GetPolicy

  • lambda:GetFunction

  • iam:GetContextKeysForCustomPolicy

  • iam:SimulateCustomPolicy

  • iam:ListRoles

  • ssm:DescribeAutomationStepExecutions

Contoh Kebijakan IAM untuk Otomasi Asumsikan Peran

{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3Permission", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Resource": "*" }, { "Sid": "S3PermissionGetBucketNotification", "Effect": "Allow", "Action": [ "s3:GetBucketNotification" ], "Resource": "arn:aws:s3::::<bucket-name>" }, { "Sid": "SQSPermission", "Effect": "Allow", "Action": [ "sqs:GetQueueAttributes", "sqs:GetQueueUrl" ], "Resource": "arn:aws:sqs:<region>:123456789012:*" }, { "Sid": "SNSPermission", "Effect": "Allow", "Action": [ "sns:GetTopicAttributes" ], "Resource": "arn:aws:sns:<region>:123456789012:*" }, { "Sid": "KMSPermission", "Effect": "Allow", "Action": [ "kms:GetKeyPolicy", "kms:DescribeKey", "kms:ListAliases" ], "Resource": "arn:aws:kms:<region>:123456789012:key/<key-id>" }, { "Sid": "LambdaPermission", "Effect": "Allow", "Action": [ "lambda:GetPolicy", "lambda:GetFunction" ], "Resource": "arn:aws:lambda:<region>:123456789012:function:*" }, { "Sid": "IAMPermission", "Effect": "Allow", "Action": [ "iam:GetContextKeysForCustomPolicy", "iam:SimulateCustomPolicy", "iam:ListRoles" ], "Resource": "*" }, { "Sid": "SSMPermission", "Effect": "Allow", "Action": [ "ssm:DescribeAutomationStepExecutions" ], "Resource": "*" } ] }

Instruksi

Ikuti langkah-langkah ini untuk mengonfigurasi otomatisasi:

  1. Arahkan ke AWSSupport-TroubleshootS3EventNotificationsSystems Manager di bawah Documents.

  2. Pilih Jalankan otomatisasi.

  3. Untuk parameter input, masukkan yang berikut ini:

    • AutomationAssumeRole (Opsional):

      Nama Sumber Daya Amazon (ARN) dari peran AWS AWS Identity and Access Management (IAM) yang memungkinkan Otomasi Systems Manager untuk melakukan tindakan atas nama Anda. Jika tidak ada peran yang ditentukan, Systems Manager Automation menggunakan izin pengguna yang memulai runbook ini.

    • S3 BucketName (Diperlukan):

      Nama bucket Amazon S3 dikonfigurasi dengan notifikasi acara.

    AWSSupport-TroubleshootS3 parameter input eksekusi EventNotification runbook.
  4. Pilih Jalankan.

  5. Otomatisasi dimulai.

  6. Dokumen melakukan langkah-langkah berikut:

    • ValidateInputs

      Memvalidasi bucket Amazon S3 yang disediakan milik akun yang sama tempat otomatisasi dijalankan dan mengambil wilayah tempat bucket di-host.

    • GetBucketNotificationConfiguration

      Memanggil GetBucketNotificationConfiguration API untuk meninjau Pemberitahuan Acara yang dikonfigurasi dengan bucket Amazon S3 dan output format.

    • BranchOnSQSResourceKebijakan

      Cabang tentang apakah ada sumber daya Amazon SQS dalam pemberitahuan acara.

    • Kebijakan Validasi SQSResource

      Memvalidasi kebijakan sumber daya pada atribut Antrian Amazon SQS sqs:SendMessage memiliki izin untuk Amazon S3. Jika sumber daya Amazon SQS dienkripsi, periksa apakah enkripsi tidak menggunakan AWS KMS kunci default yaitu aws/sqs dan memeriksa bahwa kebijakan AWS KMS kunci memiliki izin untuk Amazon S3.

    • BranchOnSNSResourceKebijakan

      Cabang tentang apakah ada sumber daya Amazon SNS dalam pemberitahuan acara.

    • Kebijakan Validasi SNSResource

      Memvalidasi kebijakan sumber daya pada atribut Topik Amazon SNS sns:Publish memiliki izin untuk Amazon S3. Jika sumber daya Amazon SNS dienkripsi, periksa apakah enkripsi tidak menggunakan AWS KMS kunci default yaitu aws/sns dan memeriksa bahwa kebijakan AWS KMS kunci memiliki izin untuk Amazon S3.

    • BranchOnLambdaFunctionResourcePolicy

      Cabang tentang apakah ada AWS Lambda fungsi dalam pemberitahuan acara.

    • ValidateLambdaFunctionResourcePolicy

      Memvalidasi kebijakan sumber daya pada AWS Lambda fungsi memiliki lambda:InvokeFunction izin untuk Amazon S3.

    • GenerateReport

      Mengembalikan detail keluaran langkah runbook, dan rekomendasi untuk menyelesaikan masalah apa pun dengan notifikasi acara yang dikonfigurasi dengan bucket Amazon S3.

  7. Setelah selesai, tinjau bagian Output untuk hasil eksekusi yang terperinci:

    • Pemberitahuan Acara Amazon SQS

      Jika ada notifikasi tujuan Amazon SQS yang dikonfigurasi dengan bucket Amazon S3, daftar Antrian Amazon SQS ditampilkan di samping hasil pemeriksaan. Laporan tersebut mencakup pemeriksaan sumber daya Amazon SQS, pemeriksaan kebijakan akses Amazon SQS AWS KMS , pemeriksaan kunci, pemeriksaan status kunci AWS KMS , AWS KMS dan pemeriksaan kebijakan kunci.

    • Pemberitahuan Acara Amazon SNS

      Jika ada notifikasi tujuan Amazon SNS yang dikonfigurasi dengan bucket Amazon S3, daftar Topik Amazon SNS ditampilkan di samping hasil pemeriksaan. Laporan tersebut mencakup pemeriksaan sumber daya Amazon SNS, pemeriksaan kebijakan akses Amazon SNS AWS KMS , pemeriksaan kunci, pemeriksaan status kunci AWS KMS , AWS KMS dan pemeriksaan kebijakan kunci.

    • AWS Lambda Pemberitahuan Acara

      Jika ada notifikasi AWS Lambda tujuan yang dikonfigurasi dengan bucket Amazon S3, daftar fungsi Lambda ditampilkan di samping hasil pemeriksaan. Laporan tersebut mencakup pemeriksaan sumber daya Lambda dan pemeriksaan kebijakan akses Lambda.

    AWSSupport-TroubleshootS3 output eksekusi sampel EventNotification runbook.

Referensi

Otomatisasi Systems Manager