

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

# Konfigurasikan akses ke bucket Amazon S3
<a name="s3-bucket-access"></a>

Beberapa fitur Amazon Bedrock memerlukan akses ke data yang disimpan di bucket Amazon S3. Untuk mengakses data ini, Anda harus mengonfigurasi izin berikut:


****  

| Kasus penggunaan | Izin | 
| --- | --- | 
| Izin untuk mengambil data dari bucket S3 | s3: GetObjects3: ListBucket | 
| Izin untuk menulis data ke bucket S3 | s3: PutObject | 
| Izin untuk mendekripsi kunci KMS yang mengenkripsi bucket S3 | kms:Decryptkm: DescribeKey | 

Identitas atau sumber daya yang Anda perlukan untuk melampirkan izin di atas bergantung pada faktor-faktor berikut:
+ Beberapa fitur di Amazon Bedrock menggunakan [peran layanan](security-iam-sr.md). Jika fitur menggunakan peran layanan, Anda harus mengonfigurasi izin sehingga peran layanan, bukan identitas IAM pengguna, memiliki akses ke data S3. Beberapa fitur Amazon Bedrock dapat secara otomatis membuat peran layanan untuk Anda dan melampirkan [izin berbasis identitas](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies.html#policies_id-based) yang diperlukan ke peran layanan, jika Anda menggunakan. Konsol Manajemen AWS
+ Beberapa fitur di Amazon Bedrock memungkinkan identitas untuk mengakses bucket S3 di akun yang berbeda. Jika data S3 perlu diakses dari akun lain, pemilik bucket harus menyertakan [izin berbasis sumber daya di atas dalam kebijakan bucket S3 yang dilampirkan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) pada [bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html).

Berikut ini menjelaskan cara menentukan di mana Anda perlu melampirkan izin yang diperlukan untuk mengakses data S3:
+ Izin identitas IAM
  + Jika Anda dapat membuat peran layanan secara otomatis di konsol, izin akan dikonfigurasi untuk peran layanan, jadi Anda tidak perlu mengonfigurasinya sendiri.
  + Jika Anda lebih suka menggunakan peran layanan kustom atau identitas yang memerlukan akses bukan peran layanan, navigasikan [Lampirkan izin ke identitas IAM untuk memungkinkannya mengakses bucket Amazon S3](#s3-bucket-access-identity) untuk mempelajari cara membuat kebijakan berbasis identitas dengan izin yang tepat.
+ Izin berbasiskan sumber daya
  + Jika identitas memerlukan akses ke data S3 di akun yang sama, Anda tidak perlu melampirkan kebijakan bucket S3 ke bucket yang berisi data.
  + Jika identitas memerlukan akses ke data S3 di akun lain, navigasikan [Lampirkan kebijakan bucket ke bucket Amazon S3 untuk mengizinkan akun lain mengaksesnya](#s3-bucket-access-cross-account) ke mempelajari cara membuat kebijakan bucket S3 dengan izin yang tepat.
**penting**  
Pembuatan otomatis peran layanan di dalam Konsol Manajemen AWS melampirkan izin berbasis identitas yang tepat ke peran tersebut, tetapi Anda tetap harus mengonfigurasi kebijakan bucket S3 jika identitas yang memerlukan akses ke peran tersebut berbeda. Akun AWS

Untuk informasi selengkapnya, lihat tautan berikut:
+ Untuk mempelajari lebih lanjut tentang mengontrol akses ke data di Amazon S3, lihat [Kontrol akses di Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-management.html).
+ Untuk mempelajari lebih lanjut tentang izin Amazon S3, lihat [Tindakan yang ditentukan oleh Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-actions-as-permissions).
+ Untuk mempelajari lebih lanjut tentang AWS KMS izin, lihat [Tindakan yang ditentukan oleh AWS Key Management Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskeymanagementservice.html#awskeymanagementservice-actions-as-permissions).

Lanjutkan melalui topik yang berkaitan dengan kasus penggunaan Anda:

**Topics**
+ [Lampirkan izin ke identitas IAM untuk memungkinkannya mengakses bucket Amazon S3](#s3-bucket-access-identity)
+ [Lampirkan kebijakan bucket ke bucket Amazon S3 untuk mengizinkan akun lain mengaksesnya](#s3-bucket-access-cross-account)
+ [(Opsi keamanan lanjutan) Sertakan kondisi dalam pernyataan untuk akses yang lebih halus](#s3-bucket-access-conditions)

## Lampirkan izin ke identitas IAM untuk memungkinkannya mengakses bucket Amazon S3
<a name="s3-bucket-access-identity"></a>

Topik ini menyediakan templat untuk kebijakan untuk dilampirkan ke identitas IAM. Kebijakan ini mencakup pernyataan berikut yang menentukan izin untuk memberikan akses identitas IAM ke bucket S3:

1. Izin untuk mengambil data dari bucket S3. Pernyataan ini juga menyertakan kondisi yang menggunakan [kunci `s3:prefix` kondisi](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-policy-keys) untuk membatasi akses ke folder tertentu di bucket. Untuk informasi selengkapnya tentang kondisi ini, lihat bagian **Kebijakan pengguna** di [Contoh 2: Mendapatkan daftar objek dalam bucket dengan awalan tertentu](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#condition-key-bucket-ops-2).

1. (Jika Anda perlu menulis data ke lokasi S3) Izin untuk menulis data ke bucket S3. Pernyataan ini juga mencakup kondisi yang menggunakan [kunci `aws:ResourceAccount` kondisi](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourceaccount) untuk membatasi akses ke permintaan yang dikirim dari tertentuAkun AWS.

1. (Jika bucket S3 dienkripsi dengan kunci KMS) Izin untuk mendeskripsikan dan mendekripsi kunci KMS yang mengenkripsi bucket S3.
**catatan**  
Jika bucket S3 Anda mengaktifkan versi, setiap versi objek yang Anda unggah menggunakan fitur ini dapat memiliki kunci enkripsi sendiri. Anda bertanggung jawab untuk melacak kunci enkripsi mana yang digunakan untuk versi objek mana.

Menambahkan, memodifikasi, dan menghapus pernyataan, sumber daya, dan kondisi dalam kebijakan berikut dan ganti *\$1\$1values\$1* seperlunya:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::${S3Bucket}",
                "arn:aws:s3:::${S3Bucket}/*"
            ]
        },
        {
            "Sid": "WriteToS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::${S3Bucket}",
                "arn:aws:s3:::${S3Bucket}/*"
            ]
        },
        {
            "Sid": "DecryptKMSKey",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${KMSKeyId}"
        }
    ]
}
```

------

Setelah mengubah kebijakan ke kasus penggunaan Anda, lampirkan ke peran layanan (atau identitas IAM) yang memerlukan akses ke bucket S3. Untuk mempelajari cara melampirkan izin ke identitas IAM, lihat [Menambahkan dan menghapus izin identitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

## Lampirkan kebijakan bucket ke bucket Amazon S3 untuk mengizinkan akun lain mengaksesnya
<a name="s3-bucket-access-cross-account"></a>

Topik ini menyediakan templat untuk kebijakan berbasis sumber daya untuk dilampirkan ke bucket S3 agar identitas IAM dapat mengakses data di bucket. Kebijakan ini mencakup pernyataan berikut yang menentukan izin untuk identitas untuk mengakses bucket:

1. Izin untuk mengambil data dari bucket S3.

1. (Jika Anda perlu menulis data ke lokasi S3) Izin untuk menulis data ke bucket S3.

1. (Jika bucket S3 dienkripsi dengan kunci KMS) Izin untuk mendeskripsikan dan mendekripsi kunci KMS yang mengenkripsi bucket S3.
**catatan**  
Jika bucket S3 Anda mengaktifkan versi, setiap versi objek yang Anda unggah menggunakan fitur ini dapat memiliki kunci enkripsi sendiri. Anda bertanggung jawab untuk melacak kunci enkripsi mana yang digunakan untuk versi objek mana.

Izin serupa dengan izin berbasis identitas yang dijelaskan dalam. [Lampirkan izin ke identitas IAM untuk memungkinkannya mengakses bucket Amazon S3](#s3-bucket-access-identity) Namun, setiap pernyataan juga mengharuskan Anda untuk menentukan identitas untuk memberikan izin ke sumber daya di `Principal` lapangan. Tentukan identitas (dengan sebagian besar fitur di Amazon Bedrock, ini adalah peran layanan) di `Principal` lapangan. Menambahkan, memodifikasi, dan menghapus pernyataan, sumber daya, dan kondisi dalam kebijakan berikut dan ganti *\$1\$1values\$1* seperlunya:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadS3Bucket",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/ServiceRole"
            },
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::${S3Bucket}",
                "arn:aws:s3:::${S3Bucket}/*"
            ]
        },
        {
            "Sid": "WriteToS3Bucket",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/ServiceRole"
            },
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::${S3Bucket}",
                "arn:aws:s3:::${S3Bucket}/*"
            ]
        },
        {
            "Sid": "DecryptKMSKey",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/ServiceRole"
            },
            "Action": [
                "kms:Decrypt",
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${KMSKeyId}"
        }
    ]
}
```

------

Setelah mengubah kebijakan ke kasus penggunaan Anda, lampirkan ke bucket S3. Untuk mempelajari cara melampirkan kebijakan bucket ke bucket S3, lihat [Menambahkan kebijakan bucket menggunakan konsol Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html).

## (Opsi keamanan lanjutan) Sertakan kondisi dalam pernyataan untuk akses yang lebih halus
<a name="s3-bucket-access-conditions"></a>

Untuk kontrol yang lebih besar atas identitas yang dapat mengakses sumber daya Anda, Anda dapat memasukkan kondisi dalam pernyataan kebijakan. Kebijakan dalam topik ini memberikan contoh yang menggunakan kunci kondisi berikut:
+ `s3:prefix`— Kunci kondisi S3 yang membatasi akses ke folder tertentu dalam bucket S3. Untuk informasi selengkapnya tentang kunci kondisi ini, lihat bagian **Kebijakan pengguna** di [Contoh 2: Mendapatkan daftar objek dalam bucket dengan awalan tertentu](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#condition-key-bucket-ops-2).
+ `aws:ResourceAccount`— Kunci kondisi global yang membatasi akses ke permintaan dari yang spesifikAkun AWS.

Kebijakan berikut membatasi akses baca ke *my-folder* folder di bucket *amzn-s3-demo-bucket* S3 dan membatasi akses tulis untuk bucket *amzn-s3-demo-destination-bucket* S3 ke permintaan dari ID denganAkun AWS: *111122223333*

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition" : {
                "StringEquals" : {
                    "s3:prefix": "my-folder" 
                }
            }
        },
        {
            "Sid": "WriteToS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket",
                "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "111122223333"
                }
            }
        }
    ]
}
```

------

Untuk mempelajari selengkapnya tentang kondisi dan kunci kondisi, lihat tautan berikut:
+ Untuk mempelajari kondisi, lihat [elemen kebijakan IAM JSON: Kondisi dalam Panduan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) Pengguna IAM.
+ Untuk mempelajari tentang kunci kondisi khusus untuk S3, lihat [Kunci kondisi untuk Amazon](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-policy-keys) S3 di Referensi Otorisasi Layanan.
+ Untuk mempelajari tentang kunci kondisi global yang digunakan di seluruhLayanan AWS, lihat [kunci konteks kondisi AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourceaccount).