Kontrol akses ke Amazon S3 dari Athena - Amazon Athena

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

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 IAM kebijakan, pastikan Anda mengikuti praktik IAM terbaik. Untuk informasi selengkapnya, lihat Praktik terbaik keamanan IAM di Panduan IAM Pengguna.

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 tertentuIAM. 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 otentikasi Pusat IAM Identitas mengharuskan Hibah Akses S3 dikonfigurasi untuk menggunakan identitas propagasi identitas tepercaya. Untuk informasi selengkapnya, lihat Hibah Akses S3 dan identitas direktori di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Menggunakan kebijakan berbasis identitas untuk mengontrol akses ke bucket Amazon S3

Kebijakan berbasis identitas dilampirkan ke IAM pengguna, grup, atau peran. 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-nilai Anda sendiri.

{ "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

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 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.

{ "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 Pengguna Amazon S3.

Gunakan titik akses Amazon S3 untuk kontrol yang lebih tepat atas akses bucket

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 dikontrol oleh kebijakan untuk titik akses yang diwakili alias.

Untuk informasi selengkapnya, lihat Tentukan lokasi tabel di Amazon S3 dan Menggunakan titik akses di Panduan Pengguna Amazon S3.

Gunakan tombol CalledVia konteks untuk mengizinkan hanya panggilan dari Athena ke layanan lain

Untuk keamanan tambahan, Anda dapat menggunakan aws:CalledViakunci konteks kondisi global. Kunci aws:CalledVia kondisi berisi daftar layanan yang Anda izinkan untuk memanggil layanan lain. Misalnya, Anda dapat mengizinkan InvokeFunction panggilan ke AWS Lambda hanya jika panggilan datang 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.

Sumber daya tambahan

Untuk informasi detail dan contoh tentang cara memberikan akses Amazon S3, lihat sumber daya berikut: