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.
Topik
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:
-
Contoh penelusuran: Mengelola akses di Panduan Pengguna Amazon S3.
-
Bagaimana saya bisa memberikan akses lintas akun ke objek yang ada di bucket Amazon S3?
di AWS Pusat Pengetahuan. -
Konfigurasikan akses lintas akun di Athena ke bucket Amazon S3.