Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWSSupport-TroubleshootS3PublicRead
Deskripsi
AWSSupport-TroubleshootS3PublicRead
Runbook mendiagnosis masalah saat membaca objek dari bucket Simple Storage Service (Amazon S3) publik yang Anda tentukan dalam parameter. S3BucketName
Subset pengaturan juga dianalisis untuk objek di bucket S3.
Batasan
-
Otomatisasi ini tidak memeriksa titik akses yang memungkinkan akses publik ke objek.
-
Otomatisasi ini tidak mengevaluasi kunci kondisi dalam kebijakan bucket S3.
-
Jika Anda menggunakan AWS Organizations, otomatisasi ini tidak mengevaluasi kebijakan kontrol layanan untuk mengonfirmasi bahwa akses ke Amazon S3 diizinkan.
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.
-
CloudWatchLogGroupName
Tipe: String
Deskripsi: (Opsional) Grup CloudWatch log Amazon Logs tempat Anda ingin mengirim output otomatisasi. Jika grup log tidak ditemukan yang cocok dengan nilai yang Anda tentukan, otomatisasi akan membuat grup log menggunakan nilai parameter ini. Periode retensi untuk grup log yang dibuat oleh otomatisasi ini adalah 14 hari.
-
CloudWatchLogStreamName
Tipe: String
Deskripsi: (Opsional) Aliran CloudWatch log log tempat Anda ingin mengirim output otomatisasi. Jika aliran log tidak ditemukan yang cocok dengan nilai yang Anda tentukan, otomatisasi akan membuat aliran log menggunakan nilai parameter ini. Jika Anda tidak menentukan nilai untuk parameter ini, otomatisasi akan menggunakan
ExecutionId
untuk nama aliran log. -
HttpGet
Jenis: Boolean
Nilai yang valid: benar/salah
Default: betul
Deskripsi: (Opsional) Jika parameter ini diatur ke
true
, otomatisasi membuat HTTP permintaan sebagian ke objek yangS3BucketName
Anda tentukan. Hanya byte pertama dari objek yang dikembalikan menggunakan HTTP header Range. -
IgnoreBlockPublicAccess
Jenis: Boolean
Nilai yang valid: benar/salah
Bawaan: salah
Deskripsi: (Opsional) Jika parameter ini disetel ke
true
, otomatisasi mengabaikan pengaturan blok akses publik dari bucket S3 yang Anda tentukan dalam parameter.S3BucketName
Mengubah parameter ini dari nilai default tidak disarankan. -
MaxObjects
Jenis: Integer
Nilai yang valid: 1-25
Default: 5
Deskripsi: (Opsional) Jumlah objek yang akan dianalisis dalam bucket S3 yang Anda tentukan dalam
S3BucketName
parameter. -
S3 BucketName
Tipe: String
Deskripsi: (Wajib) Nama bucket S3 untuk memecahkan masalah.
-
S3 PrefixName
Tipe: String
Deskripsi: (Opsional) Awalan nama kunci dari objek yang ingin Anda analisis di bucket S3 Anda. Untuk informasi selengkapnya, lihat Kunci objek di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.
-
StartAfter
Tipe: String
Deskripsi: (Opsional) Nama kunci objek tempat Anda ingin otomatisasi mulai menganalisis objek di bucket S3 Anda.
-
ResourcePartition
Tipe: String
Nilai yang valid:
aws
|aws-us-gov
|aws-cn
Default:
aws
Deskripsi: (Wajib) Partisi tempat bucket S3 Anda berada.
-
Verbose
Jenis: Boolean
Nilai yang valid: benar/salah
Bawaan: salah
Deskripsi: (Opsional) Untuk mengembalikan informasi yang lebih rinci selama otomatisasi, atur parameter ini ke
true
. Hanya pesan peringatan dan kesalahan yang akan dikembalikan jika parameter disetel kefalse
.
IAMIzin yang diperlukan
AutomationAssumeRole
Parameter memerlukan tindakan berikut untuk menggunakan runbook dengan sukses.
logs:PutLogEvents
Izin logs:CreateLogGroup
logs:CreateLogStream
,, dan hanya diperlukan jika Anda ingin otomatisasi mengirim data CloudWatch log ke Log.
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:SimulateCustomPolicy", "iam:GetContextKeysForCustomPolicy", "s3:ListAllMyBuckets", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:PutRetentionPolicy", "s3:GetAccountPublicAccessBlock" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectTagging" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*", "Effect": "Allow" }, { "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:GetBucketPublicAccessBlock", "s3:GetBucketRequestPayment", "s3:GetBucketPolicyStatus", "s3:GetBucketPolicy", "s3:GetBucketAcl" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1", "Effect": "Allow" } ] }
Langkah Dokumen
-
aws:assertAwsResourceProperty
- Mengonfirmasi bucket S3 ada, dan dapat diakses. -
aws:executeScript
- Mengembalikan lokasi bucket S3 dan ID pengguna kanonik Anda. -
aws:executeScript
- Mengembalikan pengaturan blok akses publik untuk akun Anda dan bucket S3. -
aws:assertAwsResourceProperty
- Mengonfirmasi pembayar bucket S3 diatur ke.BucketOwner
JikaRequester Pays
diaktifkan pada bucket S3, otomatisasi berakhir. -
aws:executeScript
- Mengembalikan status kebijakan bucket S3 dan menentukan apakah dianggap publik. Untuk informasi selengkapnya tentang bucket S3 publik, lihat Arti “publik” di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon. -
aws:executeAwsApi
- Mengembalikan kebijakan bucket S3. -
aws:executeAwsApi
- Mengembalikan semua kunci konteks yang ditemukan dalam kebijakan bucket S3. -
aws:assertAwsResourceProperty
- Mengonfirmasi apakah ada penolakan eksplisit dalam kebijakan bucket S3 untuk tindakan tersebut.GetObject
API -
aws:executeAwsApi
- Mengembalikan daftar kontrol akses (ACL) untuk bucket S3. -
aws:executeScript
- Membuat grup CloudWatch log Log dan aliran log jika Anda menentukan nilai untukCloudWatchLogGroupName
parameter. -
aws:executeScript
- Berdasarkan nilai yang Anda tentukan dalam parameter input runbook, mengevaluasi apakah setelan bucket S3 yang dikumpulkan selama otomatisasi mencegah objek diakses oleh publik. Skrip ini melakukan fungsi-fungsi berikut:-
Mengevaluasi pengaturan blok akses publik
-
Mengembalikan objek dari bucket S3 Anda berdasarkan nilai yang Anda tentukan dalam
MaxObjects
,S3PrefixName
, danStartAfter
parameter. -
Mengembalikan kebijakan bucket S3 untuk mensimulasikan IAM kebijakan kustom untuk objek yang dikembalikan dari bucket S3 Anda.
-
Melakukan HTTP permintaan sebagian ke objek yang dikembalikan jika
HttpGet
parameter diatur ketrue
. Hanya byte pertama dari objek yang dikembalikan menggunakan HTTP header Range. -
Memeriksa nama kunci objek yang dikembalikan untuk mengonfirmasi apakah itu berakhir dengan satu atau dua periode. Nama kunci objek yang berakhir dengan periode tidak dapat diunduh dari konsol Amazon S3.
-
Memeriksa apakah pemilik objek yang dikembalikan cocok dengan pemilik bucket S3.
-
Memeriksa apakah ACL hibah objek
READ
atauFULL_CONTROL
izin untuk pengguna anonim. -
Mengembalikan tag yang terkait dengan objek.
-
Menggunakan IAM kebijakan simulasi untuk mengonfirmasi apakah ada penolakan eksplisit untuk objek ini dalam kebijakan bucket S3 untuk tindakan tersebut.
GetObject
API -
Mengembalikan metadata objek untuk mengkonfirmasi bahwa kelas penyimpanan didukung.
-
Memeriksa setelan enkripsi sisi server objek untuk mengonfirmasi apakah objek dienkripsi menggunakan kunci yang dikelola pelanggan AWS Key Management Service ()AWS KMS.
-
Keluaran
AnalyzeObjects.ember
AnalyzeObjects.objek