View a markdown version of this page

AWSSupport-TroubleshootSAMLIssues - AWS Systems Manager Referensi Buku Runbook Otomasi

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

AWSSupport-TroubleshootSAMLIssues

Deskripsi

Runbook AWSSupport-TroubleshootSAMLIssues otomatisasi membantu mendiagnosis masalah terkait Security Assertion Markup Language (SAMP) dengan menganalisis file respons SAMP yang disimpan di Amazon Simple Storage Service (Amazon S3). Ini melakukan validasi komprehensif termasuk verifikasi skema, validasi tanda tangan, pemeriksaan pembatasan audiens, dan verifikasi waktu kedaluwarsa. Runbook menerjemahkan dan mengekstrak elemen SAMP kunci termasuk penerbit, pernyataan, subjek, kondisi, tanda tangan, dan atribut dari respons SAMP. Untuk lingkungan di mana SAMP digunakan untuk mengakses AWS sumber daya (seperti Amazon Connect atau Amazon WorkSpaces Applications) melalui Penyedia Identitas IAM, itu memverifikasi apakah sertifikat dalam tanda tangan respons SAMP cocok dengan sertifikat yang dikonfigurasi dalam Penyedia Identitas IAM.

Bagaimana cara kerjanya?

Runbook melakukan langkah-langkah berikut:

  • Memvalidasi format respons SAMP dan elemen yang diperlukan.

  • Mendekode dan mengekstrak komponen respons SAMP (penerbit, pernyataan, subjek, kondisi, tanda tangan, atribut).

  • Memverifikasi tanda tangan digital terhadap sertifikat Penyedia Identitas IAM saat disediakan.

  • Memeriksa batasan audiens dan validitas waktu.

  • Memberikan informasi diagnostik terperinci yang menunjukkan struktur SAMP yang diurai dan hasil validasi.

Jalankan Otomasi ini (konsol)

Jenis dokumen

Otomatisasi

Pemilik

Amazon

Platform

/

Izin IAM yang diperlukan

AutomationAssumeRoleParameter memerlukan tindakan berikut untuk menggunakan runbook dengan sukses.

  • s3:GetBucketLocation

  • s3:ListBucket

  • s3:GetBucketPublicAccessBlock

  • s3:GetAccountPublicAccessBlock

  • s3:GetObject

  • s3:GetBucketPolicyStatus

  • s3:GetEncryptionConfiguration

  • s3:GetBucketOwnershipControls

  • s3:GetBucketAcl

  • s3:GetBucketPolicy

  • s3:PutObject

  • iam:GetSAMLProvider

  • sts:AssumeRole

Contoh Kebijakan:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:GetBucketPublicAccessBlock", "s3:GetAccountPublicAccessBlock", "s3:GetObject", "s3:GetBucketPolicyStatus", "s3:GetEncryptionConfiguration", "s3:GetBucketOwnershipControls", "s3:GetBucketAcl", "s3:GetBucketPolicy", "s3:PutObject", "iam:GetSAMLProvider", "sts:AssumeRole" ], "Resource": "*", "Effect": "Allow" } ] }

Instruksi

Ikuti langkah-langkah ini untuk mengonfigurasi otomatisasi:

  1. Sebelum menggunakan runbook ini, Anda perlu menangkap dan menyimpan respons SAMP yang dikodekan Base64 (file txt) di bucket S3. Petunjuk untuk menangkap tanggapan SAMP dapat ditemukan dalam dokumen ini

  2. Arahkan ke AWSSupport-TroubleshootSAMLIssuesSystems Manager di bawah Documents.

  3. Pilih Jalankan otomatisasi.

  4. Untuk parameter input, masukkan yang berikut ini:

    • AutomationAssumeRole (Opsional):

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

      • Tipe: AWS::IAM::Role::Arn

    • InputFileS3URI (Diperlukan):

      • Deskripsi: (Diperlukan) Amazon Simple Storage Service (Amazon S3) URI dari file txt Saml Response (misalnya, s3://bucket - .txt). name/path/to/file

      • Tipe: String

      • Izinkan Pola: ^s3://[a-z0-9][a-z0-9.-][a-z0-9](/.)?$

    • S3 OutputPrefix (Opsional):

      • <executionID of the runbook>Deskripsi: (Opsional) File keluaran analisis disimpan dalam ember input dengan nama 'saml_analysis_ .json'. Anda dapat menggunakan parameter ini jika Anda ingin menampilkan file dengan awalan tertentu. <executionID of the runbook>Nilai defaultnya adalah “output/”, dalam hal ini URI file yang menampilkan hasilnya adalah 's3://bucket - name/output/saml _analysis_ .json'.

      • Tipe: String

      • Izinkan Pola: ^[a-zA-Z0-9+=,.@\\-_/]*/$

    • ExpectedAudience (Opsional):

      • Deskripsi: (Opsional) Nilai audiens yang diharapkan dalam respons SAMP. Jika tidak ditentukan, kami menggunakanurn:amazon:webservices. Jika Anda telah mengonfigurasi nilai audiens tertentu dalam pengaturan IDP dan SP Anda, berikan format yang tepat (misalnya,urn:amazon:webservices,https://signin.aws.amazon.com/saml).

      • Tipe: String

      • Default: urn:amazon:webservices

    • IamIdProviderArn (Opsional):

      • Deskripsi: (Opsional) Jika Anda menggunakan entitas Penyedia ID IAM untuk secara langsung menautkan IDP Anda AWS dengan IAM, harap berikan ARN-nya (mis.,). arn:aws:iam::<account-id>:saml-provider/<provider-name>

      • Tipe: String

      • Izinkan Pola: ^$|^arn:aws:iam::[0-9]{12}:saml-provider/[a-zA-Z0-9_-]+$

    • SAMLAuthenticationWaktu (Opsional):

      • Deskripsi: (Opsional) Tanggal dan waktu ketika otentikasi SAMP dilakukan. Zona waktu harus UTC. Harus dalam YYYY-MM-DDThh format:mm: ss (mis., 2025-02-01T 10:00:00). Jika parameter ini tidak disediakan, pemeriksaan kedaluwarsa akan dilakukan terhadap stempel waktu saat ini.

      • Tipe: String

      • Izinkan Pola: ^$|^\\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\\d|3[01])T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$

    • S3 BucketOwnerRoleArn (Opsional):

      • Deskripsi: (Opsional) IAM Role ARN untuk mengakses bucket Amazon S3. ARN peran IAM dengan izin untuk mendapatkan bucket Amazon S3 dan pengaturan pemblokiran akun akses publik, konfigurasi enkripsi bucket, bucket, status kebijakan bucket ACLs, dan mengunggah objek ke bucket. Jika parameter ini tidak ditentukan, runbook menggunakan `AutomationAssumeRole` (jika ditentukan) atau pengguna yang memulai runbook ini (jika `AutomationAssumeRole` tidak ditentukan).

      • Tipe: AWS::IAM::Role::Arn

  5. Pilih Jalankan.

  6. Otomatisasi dimulai.

  7. Dokumen melakukan langkah-langkah berikut:

    • Validasi IAMIDProvider

      Memvalidasi ARN Penyedia ID IAM yang disediakan dengan memeriksa apakah ada dan dapat diakses. Jika tidak ada ARN yang disediakan, validasi dilewati dan langkahnya berhasil diselesaikan.

    • Ceks3 BucketPublicStatus

      Memeriksa apakah bucket Amazon S3 mengizinkan izin akses baca atau tulis anonim, atau publik. Jika bucket mengizinkan izin ini, otomatisasi berhenti pada langkah ini.

    • Ceks3 ObjectExistence

      Memvalidasi akses ke bucket Amazon S3. Memeriksa apakah bucket dan objek ada dan apakah otomatisasi memiliki izin yang diperlukan untuk membaca dari sumber dan menulis ke tujuan.

    • Menganalisis SAMLResponse

      Menganalisis file respons SAMP dengan melakukan pemeriksaan (validasi skema, verifikasi tanda tangan, validasi audiens, pemeriksaan kedaluwarsa). Menghasilkan laporan JSON terperinci dan menyimpannya ke lokasi Amazon S3 yang ditentukan.

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

    • Bagian output berisi informasi tentang objek Amazon S3 tempat hasil analisis dijelaskan.

  9. Objek Amazon S3 dalam hasil analisis adalah file Json yang berisi informasi berikut:

    • validation_result: berisi hasil validasi dasar dari respons SAMP.

      • saml_info: informasi SAMP kunci termasuk penerbit, tanda tangan, dan pernyataan.

      • schema_validation: hasil validasi skema SAMP.

    • verification_result: memberikan hasil diagnostik yang lebih rinci.

      • tanda tangan: hasil verifikasi tanda tangan.

      • audiens: hasil validasi pembatasan audiens.

      • kedaluwarsa: hasil verifikasi waktu kedaluwarsa.

Referensi

Otomatisasi Systems Manager