

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

# `AWSSupport-ContainS3Resource`
<a name="automation-awssupport-contains3resource"></a>

 **Deskripsi** 

 `AWSSupport-ContainS3Resource`Runbook menyediakan solusi otomatis untuk prosedur yang diuraikan dalam artikel [Support Automation Workflow (SAW) Runbook: Mengandung Bucket Amazon S3 yang disusupi AWS](https://repost.aws/articles/ARhGc0hDqKRIKAVCbmF1GmuQ) 

**penting**  
Runbook ini menjalankan berbagai operasi yang memerlukan hak istimewa yang ditingkatkan, seperti memodifikasi kebijakan bucket Amazon S3, tag, dan konfigurasi akses publik. Tindakan ini berpotensi menyebabkan eskalasi hak istimewa atau memengaruhi beban kerja lain yang bergantung pada bucket Amazon S3 yang ditargetkan. Anda harus meninjau izin yang diberikan untuk peran yang ditentukan oleh `AutomationAssumeRole` parameter dan memastikannya sesuai untuk kasus penggunaan yang dimaksudkan. Anda dapat merujuk ke AWS dokumentasi berikut untuk informasi lebih lanjut tentang izin IAM:. [https://docs.aws.amazon.com//IAM/latest/UserGuide/access_controlling.html](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_controlling.html)
Runbook ini melakukan tindakan mutatif yang berpotensi menyebabkan tidak tersedianya atau gangguan pada beban kerja Anda. Secara khusus, `Contain` tindakan memblokir semua akses ke bucket Amazon S3 yang ditentukan, kecuali untuk peran yang ditentukan dalam parameter. `SecureRoles` Ini dapat memengaruhi aplikasi atau layanan apa pun yang mengandalkan bucket Amazon S3 yang ditargetkan.
Selama `Contain` aksi, runbook ini dapat membuat bucket Amazon S3 tambahan (ditentukan oleh `BackupS3BucketName` parameter) untuk menyimpan cadangan konfigurasi bucket asli, jika belum ada.
Jika `Action` parameter disetel ke`Restore`, runbook ini mencoba mengembalikan konfigurasi bucket Amazon S3 ke status semula berdasarkan cadangan yang disimpan di `BackupS3BucketName` bucket. Namun, ada risiko bahwa proses restorasi mungkin gagal, meninggalkan bucket Amazon S3 dalam keadaan tidak konsisten. Runbook memberikan instruksi untuk restorasi manual jika terjadi kegagalan tersebut, tetapi Anda harus siap untuk menangani masalah potensial selama proses restorasi.
Disarankan untuk meninjau runbook secara menyeluruh, memahami potensi dampaknya, dan mengujinya di lingkungan non-produksi sebelum menjalankannya di lingkungan produksi Anda.

 **Bagaimana cara kerjanya?** 

Runbook ini beroperasi secara berbeda berdasarkan jenis dan tindakan sumber daya:
+ Untuk Bucket Tujuan Umum Amazon S3`Containment`: Otomatisasi memblokir akses publik ke bucket, menonaktifkan konfigurasi ACL, memberlakukan kepemilikan Objek Pemilik Bucket, dan menempatkan kebijakan bucket terbatas yang menolak semua tindakan Amazon S3 ke bucket kecuali untuk mengizinkan Peran IAM yang terdaftar.
+ Untuk Objek Tujuan Umum Amazon S3`Containment`: Otomatisasi memblokir Akses Publik ke bucket, menonaktifkan konfigurasi ACL, memberlakukan kepemilikan Objek Pemilik Bucket, dan menempatkan kebijakan bucket terbatas yang menolak semua tindakan Amazon S3 pada objek kecuali untuk mengizinkan Peran IAM yang terdaftar.
+ Untuk Bucket Direktori Amazon S3`Containment`: Otomatisasi menempatkan kebijakan bucket terbatas yang menolak semua tindakan Amazon S3 ke bucket kecuali untuk mengizinkan Peran IAM yang terdaftar.
+ Untuk Bucket Tujuan Umum Amazon S3`Restore`: Otomatisasi mengembalikan konfigurasi Blokir Akses Publik, konfigurasi Bucket ACL, kepemilikan Objek Pemilik Bucket, dan Kebijakan Bucket ke konfigurasi awal sebelum penahanan.
+ Untuk Objek Tujuan Umum Amazon S3`Restore`: Otomatisasi mengembalikan konfigurasi Blokir Akses Publik, konfigurasi Bucket ACL, Konfigurasi Objek ACL, kepemilikan Objek Pemilik Bucket, dan Kebijakan Bucket ke konfigurasi awal sebelum penahanan.
+ Untuk Bucket Direktori Amazon S3`Restore`: Otomatisasi mengembalikan kebijakan bucket ke konfigurasi awal sebelum penahanan.

 [Jalankan Otomasi ini (konsol)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-ContainS3Resource) 

 **Jenis Dokumen** 

 Otomatisasi 

 **Pemilik** 

 Amazon 

 **Platform** 

 / 

 **Izin IAM yang Diperlukan** 

 `AutomationAssumeRole`Parameter memerlukan tindakan berikut untuk menggunakan runbook dengan sukses. 
+ s3: CreateBucket
+ s3: DeleteBucketPolicy
+ s3: DeleteObjectTagging
+ s3: GetAccountPublicAccessBlock
+ s3: GetBucketAcl
+ s3: GetBucketLocation
+ s3: GetBucketOwnershipControls
+ s3: GetBucketPolicy
+ s3: GetBucketPolicyStatus
+ s3: GetBucketTagging
+ s3: GetEncryptionConfiguration
+ s3: GetObject
+ s3: GetObjectAcl
+ s3: GetObjectTagging
+ s3: GetReplicationConfiguration
+ s3: ListBucket
+ s3: PutAccountPublicAccessBlock
+ s3: PutBucket ACL
+ s3: PutBucketOwnershipControls
+ s3: PutBucketPolicy
+ s3: PutBucketPublicAccessBlock
+ s3: PutBucketTagging
+ s3: PutBucketVersioning
+ s3: PutObject
+ s3: PutObjectAcl
+ s3express: CreateSession
+ s3express: DeleteBucketPolicy
+ s3express: GetBucketPolicy
+ s3express: PutBucketPolicy
+ ssm: DescribeAutomationExecutions

 Berikut adalah contoh kebijakan IAM yang memberikan izin yang diperlukan untuk: `AutomationAssumeRole` 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3Permissions",
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:DeleteBucketPolicy",
                "s3:DeleteObjectTagging",
                "s3:GetAccountPublicAccessBlock",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation",
                "s3:GetBucketOwnershipControls",
                "s3:GetBucketPolicy",
                "s3:GetBucketPolicyStatus",
                "s3:GetBucketTagging",
                "s3:GetEncryptionConfiguration",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:GetObjectTagging",
                "s3:GetReplicationConfiguration",
                "s3:ListBucket",
                "s3:PutAccountPublicAccessBlock",
                "s3:PutBucketACL",
                "s3:PutBucketOwnershipControls",
                "s3:PutBucketPolicy",
                "s3:PutBucketPublicAccessBlock",
                "s3:PutBucketTagging",
                "s3:PutBucketVersioning",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "*"
        },
        {
            "Sid": "S3ExpressPermissions",
            "Effect": "Allow",
            "Action": [
                "s3express:CreateSession",
                "s3express:DeleteBucketPolicy",
                "s3express:GetBucketPolicy",
                "s3express:PutBucketPolicy"
            ],
            "Resource": "*"
        },
        {
            "Sid": "SSMPermissions",
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeAutomationExecutions"
            ],
            "Resource": "*"
        }
    ]
}
```

------

 **Instruksi** 

Ikuti langkah-langkah ini untuk mengonfigurasi otomatisasi:

1. Arahkan ke [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ContainS3Resource/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ContainS3Resource/description)Systems Manager di bawah Documents.

1. Pilih Jalankan otomatisasi.

1. Untuk parameter input, masukkan yang berikut ini:
   + **BucketName (Diperlukan):**
     + Deskripsi: (Wajib) Nama bucket Amazon S3.
     + Tipe: `AWS::S3::Bucket::Name`
   + **Tindakan (Diperlukan):**
     + Deskripsi: (Diperlukan) Pilih `Contain` untuk mengisolasi sumber daya Amazon S3 `Restore` atau mencoba mengembalikan konfigurasi sumber daya ke keadaan semula dari cadangan sebelumnya.
     + Tipe: String
     + Nilai yang Diizinkan: `Contain|Restore`
   + **DryRun (Opsional):**
     + Deskripsi: (Opsional) Jika disetel ke true, otomatisasi tidak akan membuat perubahan apa pun pada sumber daya Amazon S3 target, melainkan akan menampilkan apa yang akan dicoba diubah. Nilai default: true.
     + Jenis: Boolean
     + Nilai yang Diizinkan: `true|false`
   + **BucketKeyName (Opsional):**
     + Deskripsi: (Opsional) Kunci objek Amazon S3 yang ingin Anda isi atau pulihkan. Digunakan selama penahanan tingkat objek.
     + Tipe: String
     + Pola yang Diizinkan: `^[a-zA-Z0-9\\.\\-_\\\\!*'()/]{0,1024}$`
   + **BucketRestrictAccess(Bersyarat):**
     + Deskripsi: (Bersyarat) ARN pengguna IAM atau peran yang akan diizinkan mengakses sumber daya Amazon S3 target setelah menjalankan tindakan penahanan. Parameter ini diperlukan ketika `Action` diatur ke`Contain`.
     + Jenis: StringList
     + Pola yang Diizinkan: `^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$`
   + **TagIdentifier (Opsional):**
     + Deskripsi: (Opsional) Tag dalam format Key=BatchId, Value=78925 yang akan ditambahkan ke sumber daya yang dibuat atau dimodifikasi oleh runbook ini selama alur kerja penahanan.
     + Tipe: String
     + Pola yang Diizinkan: `^$|^[Kk][Ee][Yy]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{1,128},[Vv][Aa][Ll][Uu][Ee]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{0,128}$`
   + **Backups3 BucketName (Bersyarat):**
     + Deskripsi: (Bersyarat) Bucket Amazon S3 untuk mencadangkan konfigurasi sumber daya target saat `Action` disetel `Contain` ke atau memulihkan konfigurasi dari saat disetel `Action` ke. `Restore`
     + Tipe: `AWS::S3::Bucket::Name`
   + **Backups3 KeyName (Bersyarat):**
     + Deskripsi: (Bersyarat) Jika `Action` disetel ke`Restore`, ini menentukan kunci Amazon S3 yang akan digunakan otomatisasi untuk mencoba memulihkan konfigurasi sumber daya target.
     + Tipe: String
     + Pola yang Diizinkan: `^[a-zA-Z0-9\\.\\-_\\\\!*'()/]{0,1024}$`

     
   + **Backups3 BucketAccess (Bersyarat):**
     + Deskripsi: (Bersyarat) ARN pengguna IAM atau peran yang akan diizinkan mengakses bucket Amazon S3 cadangan setelah menjalankan tindakan penahanan. Parameter ini `Action` diperlukan kapan`Contain`.
     + Jenis: StringList
     + Pola yang Diizinkan: `^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$`
   + **AutomationAssumeRole (Opsional):**
     + Deskripsi: (Opsional) Nama Sumber Daya Amazon (ARN) dari peran IAM yang memungkinkan Otomasi Systems Manager untuk melakukan tindakan atas nama Anda.
     + Tipe: `AWS::IAM::Role::Arn`

1. Pilih Jalankan.

1. Otomatisasi dimulai.

1. Dokumen melakukan langkah-langkah berikut:
   + **validateRequiredInputs**

     Memvalidasi parameter input otomatisasi yang diperlukan berdasarkan Tindakan yang ditentukan.
   + **assertBucketExists**

     Memeriksa apakah bucket Amazon S3 target ada dan dapat diakses.
   + **backupBucketPreCek**

     Memeriksa apakah bucket Amazon S3 cadangan berpotensi memberikan akses baca atau tulis publik ke objeknya.
   + **backupTargetBucketMetadata**

     Menjelaskan konfigurasi bucket Amazon S3 target saat ini dan mengunggah cadangan ke bucket Amazon S3 cadangan yang ditentukan.
   + **ContainBucket**

     Melakukan operasi tingkat bucket untuk memuat bucket Amazon S3 target.
   + **BranchOnActionAndMode**

     Cabang otomatisasi berdasarkan parameter input Tindakan dan DryRun.
   + **RestoreInstanceConfiguration**

     Mengembalikan konfigurasi bucket Amazon S3 dari cadangan.
   + **containFinalOutput**

     Mengkonsolidasikan aktivitas penahanan dalam format yang dapat dibaca.
   + **ReportContain**

     Menghasilkan detail dry run untuk tindakan penahanan.
   + **ReportRestore**

     Menghasilkan detail dry run untuk tindakan pemulihan.
   + **ReportRestoreFailure**

     Memberikan petunjuk untuk memulihkan konfigurasi asli bucket Amazon S3 selama skenario kegagalan alur kerja pemulihan.
   + **ReportContainmentFailure**

     Memberikan petunjuk untuk memulihkan konfigurasi asli bucket Amazon S3 selama skenario kegagalan alur kerja penahanan.
   + **FinalOutput**

     Menghasilkan detail tindakan penahanan.

1. Setelah eksekusi selesai, tinjau bagian Output untuk hasil eksekusi yang terperinci:
   + **ContainFinalOutput.Keluaran**

     Mengeluarkan detail tindakan penahanan yang dilakukan oleh runbook ini saat `DryRun` disetel ke False.
   + **RestoreFinalOutput.Keluaran**

     Mengeluarkan detail tindakan pemulihan yang dilakukan oleh runbook ini saat `DryRun` disetel ke False.
   + **Mengandung3 ResourceDryRun .Output**

     Mengeluarkan detail tindakan penahanan yang dilakukan oleh runbook ini saat `DryRun` disetel ke True.
   + **Pulihkan3 ResourceDryRun .Output**

     Mengeluarkan detail tindakan pemulihan yang dilakukan oleh runbook ini saat `DryRun` disetel ke True.
   + **ReportContainmentFailure.Keluaran**

     Memberikan instruksi untuk memulihkan konfigurasi asli sumber daya Amazon S3 target selama skenario kegagalan alur kerja penahanan.
   + **ReportRestoreFailure.Keluaran**

     Memberikan instruksi untuk memulihkan konfigurasi asli sumber daya Amazon S3 target selama skenario kegagalan alur kerja pemulihan.

**Referensi**

Otomatisasi Systems Manager
+ [Jalankan Otomasi ini (konsol)](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ContainS3Resource/description)
+ [Jalankan otomatisasi](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [Menyiapkan Otomasi](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [Support Automation Workflow](https://aws.amazon.com/premiumsupport/technology/saw/)