

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

# Kontrol akses ke Amazon S3 dari Athena
<a name="s3-permissions"></a>

Anda dapat memberikan akses ke lokasi Amazon S3 menggunakan kebijakan berbasis identitas, kebijakan sumber daya bucket, kebijakan titik akses, atau kombinasi apa pun di atas. Ketika aktor berinteraksi dengan Athena, izin mereka melewati Athena untuk menentukan apa yang dapat diakses Athena. Ini berarti bahwa pengguna harus memiliki izin untuk mengakses bucket Amazon S3 untuk menanyakannya dengan Athena.

Setiap kali Anda menggunakan kebijakan IAM, pastikan bahwa Anda mengikuti praktik terbaik IAM. Untuk informasi selengkapnya tentang administrator, lihat [Praktik terbaik keamanan di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dalam *Panduan Pengguna IAM*.

Perhatikan bahwa permintaan ke Amazon S3 berasal dari IPv4 alamat pribadi untuk Athena, bukan IP sumber yang ditentukan. `aws:SourceIp` Untuk alasan ini, Anda tidak dapat menggunakan `aws:SourceIp` kondisi untuk menolak akses ke tindakan Amazon S3 dalam kebijakan IAM tertentu. Anda juga tidak dapat membatasi atau mengizinkan akses ke sumber daya Amazon S3 berdasarkan kunci `aws:SourceVpce` atau `aws:SourceVpc` kondisi.

**catatan**  
Kelompok kerja Athena yang menggunakan autentikasi Pusat Identitas IAM mengharuskan Hibah Akses S3 dikonfigurasi untuk menggunakan identitas propagasi identitas tepercaya. Untuk informasi selengkapnya, lihat [Hibah Akses S3 dan identitas direktori](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-directory-ids.html) di Panduan Pengguna *Layanan Penyimpanan Sederhana Amazon*.

**Topics**
+ [Kebijakan berbasis identitas](#s3-permissions-identity-based-policies)
+ [Kebijakan sumber daya bucket](#s3-permissions-bucket-resource-policies)
+ [Kebijakan titik akses](#s3-permissions-aliases)
+ [CalledVia kunci konteks](#s3-permissions-calledvia)
+ [Sumber daya tambahan](#s3-permissions-additional-resources)

## Menggunakan kebijakan berbasis identitas untuk mengontrol akses ke bucket Amazon S3
<a name="s3-permissions-identity-based-policies"></a>

Kebijakan berbasis identitas terlampir pada pengguna, grup, atau peran IAM. Kebijakan ini memungkinkan Anda menentukan apa yang dapat dilakukan oleh identitas (izinnya). Anda dapat menggunakan kebijakan berbasis identitas untuk mengontrol akses ke bucket Amazon S3 Anda.

Kebijakan berbasis identitas berikut memungkinkan `Read` dan `Write` mengakses objek dalam bucket Amazon S3 tertentu. Untuk menggunakan kebijakan ini, ganti *italicized placeholder text* dengan nilai Anda sendiri.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ListObjectsInBucket",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        },
        {
            "Sid": "AllObjectActions",
            "Effect": "Allow",
            "Action": "s3:*Object",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        }
    ]
}
```

------

## Menggunakan kebijakan sumber daya bucket untuk mengontrol akses ke bucket Amazon S3
<a name="s3-permissions-bucket-resource-policies"></a>

Anda dapat menggunakan kebijakan bucket Amazon S3 untuk mengamankan akses ke objek di bucket sehingga hanya pengguna dengan izin yang sesuai yang dapat mengaksesnya. Untuk panduan [cara membuat kebijakan Amazon S3, lihat Menambahkan kebijakan bucket menggunakan konsol Amazon S3 di Panduan Pengguna](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html) Amazon *S3*.

Contoh kebijakan izin berikut membatasi pengguna untuk membaca objek yang memiliki kunci `environment: production` tag dan nilai. Kebijakan contoh menggunakan kunci `s3:ExistingObjectTag` kondisi untuk menentukan kunci tag dan nilai.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/JohnDoe"
            },
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringEquals": {
                    "s3:ExistingObjectTag/environment": "production"
                }
            }
        }
    ]
}
```

------

Untuk contoh kebijakan bucket lainnya, lihat [Contoh kebijakan bucket Amazon S3 di Panduan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) Pengguna *Amazon S3*.

## Gunakan titik akses Amazon S3 untuk kontrol yang lebih tepat atas akses bucket
<a name="s3-permissions-aliases"></a>

Jika Anda memiliki kumpulan data bersama di bucket Amazon S3, mempertahankan kebijakan bucket tunggal yang mengelola akses untuk ratusan kasus penggunaan dapat menjadi tantangan.

Titik akses bucket Amazon S3, kebijakan, dan alias dapat membantu mengatasi masalah ini. Bucket dapat memiliki beberapa titik akses, masing-masing dengan kebijakan yang mengontrol akses ke bucket dengan cara yang berbeda. 

Untuk setiap titik akses yang Anda buat, Amazon S3 menghasilkan alias yang mewakili titik akses. Karena alias dalam format nama bucket Amazon S3, Anda dapat menggunakan alias dalam klausa pernyataan Anda `LOCATION` `CREATE TABLE` di Athena. Akses Athena ke bucket kemudian dikendalikan oleh kebijakan untuk titik akses yang diwakili alias. 

Untuk informasi selengkapnya, lihat [Tentukan lokasi tabel di Amazon S3](tables-location-format.md) dan [Menggunakan titik akses](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html) di *Panduan Pengguna Amazon S3*.

## Gunakan tombol CalledVia konteks untuk mengizinkan hanya panggilan dari Athena ke layanan lain
<a name="s3-permissions-calledvia"></a>

Untuk keamanan tambahan, Anda dapat menggunakan kunci konteks kondisi [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-calledvia](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-calledvia)global. Kunci `aws:CalledVia` kondisi berisi daftar layanan yang Anda izinkan untuk memanggil layanan lain. Misalnya, Anda dapat mengizinkan `InvokeFunction` panggilan AWS Lambda hanya jika panggilan berasal dari Athena dengan menentukan nama `athena.amazonaws.com` utama layanan Athena untuk kunci konteks. `aws:CalledVia` Untuk informasi selengkapnya, lihat [Gunakan tombol CalledVia konteks untuk Athena](security-iam-athena-calledvia.md).

## Sumber daya tambahan
<a name="s3-permissions-additional-resources"></a>

Untuk informasi detail dan contoh tentang cara memberikan akses Amazon S3, lihat sumber daya berikut:
+ [Contoh penelusuran: Mengelola akses](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access.html) di Panduan Pengguna *Amazon* S3.
+ [Bagaimana saya bisa memberikan akses lintas akun ke objek yang ada di bucket Amazon S3?](https://aws.amazon.com/premiumsupport/knowledge-center/cross-account-access-s3/) di pusat AWS pengetahuan.
+ [Konfigurasikan akses lintas akun di Athena ke bucket Amazon S3](cross-account-permissions.md).