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.

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

Perhatikan bahwa permintaan ke Amazon S3 berasal dari alamat IPv4 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 di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Mengontrol akses ke bucket Amazon S3 dengan kebijakan berbasis identitas

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 teks placeholder yang dicetak miring dengan nilai Anda sendiri.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListObjectsInBucket", "Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": ["arn:aws:s3:::DOC-EXAMPLE-BUCKET"] }, { "Sid": "AllObjectActions", "Effect": "Allow", "Action": "s3:*Object", "Resource": ["arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"] } ] }

Mengontrol akses ke bucket Amazon S3 dengan kebijakan sumber daya bucket

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:::DOC-EXAMPLE-BUCKET/*", "Condition": { "StringEquals":{"s3:ExistingObjectTag/environment":"production" } ] }

Untuk contoh kebijakan bucket lainnya, lihat Contoh kebijakan bucket Amazon S3 di Panduan Pengguna Amazon S3.

Jalur akses Amazon S3, alias titik akses, dan kebijakan titik akses

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 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 Lokasi tabel di Amazon S3 dan Menggunakan titik akses di Panduan Pengguna Amazon S3.

Menggunakan tombol CalledVia konteks

Untuk keamanan tambahan, Anda dapat menggunakan kunci konteks kondisi aws:CalledViaglobal. Kunci aws:CalledVia berisi daftar yang dipesan dari setiap layanan dalam rantai yang membuat permintaan atas nama utama. Dengan menentukan athena.amazonaws.com nama utama layanan Athena untuk aws:CalledVia kunci konteks, Anda dapat membatasi permintaan hanya yang dibuat dari Athena. Untuk informasi selengkapnya, lihat Menggunakan Athena dengan tombol konteks CalledVia .

Sumber daya tambahan

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