Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Izin untuk akses data menggunakan Amazon S3 URIs
Anda dapat mengakses data penyimpanan urutan menggunakan operasi HealthOmics API atau operasi Amazon S3 API.
Untuk akses HealthOmics API, HealthOmics izin dikelola melalui kebijakan IAM. Namun, S3 Access memerlukan dua tingkat konfigurasi: izin eksplisit dalam Kebijakan Akses S3 Store dan kebijakan IAM. Untuk mempelajari selengkapnya tentang menggunakan kebijakan IAM dengan HealthOmics, lihat Peran layanan untuk HealthOmics.
Ada tiga cara untuk berbagi kemampuan membaca objek menggunakan Amazon APIs S3:
-
Pembagian berbasis kebijakan - Berbagi ini mengharuskan pengaktifan prinsipal IAM baik dalam kebijakan Akses S3 dan menulis kebijakan IAM dan melampirkannya ke kepala IAM. Lihat topik berikutnya untuk lebih jelasnya.
-
Presigned URLs — Anda juga dapat membuat URL pra-ditandatangani yang dapat dibagikan untuk file di toko urutan. Untuk mempelajari selengkapnya tentang membuat presigned URLs menggunakan Amazon S3, lihat Menggunakan URLs presigned dalam dokumentasi Amazon S3. Kebijakan akses S3 penyimpanan urutan mendukung pernyataan untuk membatasi kemampuan URL yang telah ditetapkan sebelumnya.
-
Peran yang diasumsikan — Buat peran dalam akun pemilik data yang memiliki kebijakan akses yang memungkinkan pengguna untuk mengambil peran tersebut.
Berbagi berdasarkan kebijakan
Jika Anda mengakses data penyimpanan urutan menggunakan URI S3 langsung, HealthOmics berikan langkah-langkah keamanan yang disempurnakan untuk kebijakan akses bucket S3 terkait.
Aturan berikut berlaku untuk kebijakan akses S3 baru. Untuk kebijakan yang ada, aturan berlaku saat Anda memperbarui kebijakan berikutnya:
-
Kebijakan akses S3 mendukung elemen kebijakan berikut
-
Versi, Id, Pernyataan, Sid, Efek, Prinsip, Tindakan, Sumber Daya, Kondisi
-
-
Kebijakan akses S3 mendukung kunci kondisi berikut:
-
s3:ExistingObjectTag/<key>, s3: awalan, s3: signatureversion, s3: TlsVersion
-
Kebijakan juga mendukung aws: PrincipalArn dengan operator kondisi berikut: ArnEquals dan ArnLike
-
Jika Anda mencoba menambahkan atau memperbarui kebijakan untuk menyertakan elemen atau kondisi yang tidak didukung, sistem akan menolak permintaan tersebut.
Kebijakan akses S3 default
Saat Anda membuat penyimpanan urutan, HealthOmics buat kebijakan akses S3 default yang memberikan akun root pemilik penyimpanan data izin berikut untuk semua objek yang dapat diakses di penyimpanan urutan: S3:, S3GetObject, dan S3GetObjectTagging:. ListBucket Kebijakan default yang dibuat adalah:
Menyesuaikan kebijakan akses
Jika kebijakan akses S3 kosong, akses S3 tidak diperbolehkan. Jika ada kebijakan yang ada dan Anda perlu menghapus akses s3, gunakan deleteS3AccessPolicy
untuk menghapus semua akses.
Untuk menambahkan batasan pada berbagi atau memberikan akses ke akun lain, Anda dapat memperbarui kebijakan menggunakan PutS3AccessPolicy
API. Pembaruan kebijakan tidak dapat melampaui awalan untuk penyimpanan urutan atau tindakan yang ditentukan.
Kebijakan IAM
Untuk mengizinkan pengguna atau akses utama IAM menggunakan Amazon APIs S3, selain izin dalam kebijakan akses S3, kebijakan IAM perlu dibuat dan dilampirkan ke prinsipal untuk memberikan akses. Kebijakan yang mengizinkan akses API Amazon S3 dapat diterapkan di tingkat penyimpanan urutan atau pada tingkat set baca. Pada tingkat set baca, izin dapat dibatasi baik melalui awalan atau menggunakan filter tag sumber daya untuk pola ID sampel atau subjek.
Jika toko urutan menggunakan kunci yang dikelola pelanggan (CMK), prinsipal juga harus memiliki hak untuk menggunakan kunci KMS untuk dekripsi. Untuk informasi selengkapnya, lihat Akses KMS lintas akun di Panduan AWS Key Management Service Pengembang.
Contoh berikut memberikan akses pengguna ke toko urutan. Anda dapat menyempurnakan akses dengan kondisi tambahan atau filter berbasis sumber daya.
Kontrol akses berbasis tag
Untuk menggunakan kontrol akses berbasis tag, penyimpanan urutan harus diperbarui terlebih dahulu untuk menyebarkan kunci tag yang akan digunakan. Konfigurasi ini diatur selama pembuatan atau pembaruan penyimpanan urutan. Setelah tag disebarkan, kondisi tag dapat digunakan untuk menambahkan batasan lebih lanjut. Pembatasan dapat ditempatkan dalam kebijakan Akses S3 atau pada kebijakan IAM. Berikut ini adalah contoh kebijakan akses S3 berbasis tab yang akan ditetapkan:
{ "Sid": "tagRestrictedGets", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<target_restricted_account_id>:root" }, "Action": [ "s3:GetObject", "s3:GetObjectTagging" ], "Resource": "arn:aws:s3:us-west-2:222222222222:accesspoint/111111111111-1234567890/object/111111111111/sequenceStore/1234567890/*", "Condition": { "StringEquals": { "s3:ExistingObjectTag/tagKey1": "tagValue1", "s3:ExistingObjectTag/tagKey2": "tagValue2" } } }
Contoh Pembatasan
Skenario: Membuat share di mana pemilik data dapat membatasi kemampuan pengguna untuk mengunduh data “ditarik”.
Dalam skenario ini, pemilik data (akun #111111111111) mengelola penyimpanan data. Pemilik data ini membagikan data dengan berbagai pengguna pihak ketiga, termasuk peneliti (akun #999999999999). Sebagai bagian dari pengelolaan data, pemilik data secara berkala mendapatkan permintaan untuk menarik data peserta. Untuk mengelola penarikan ini, pemilik data pertama-tama membatasi akses unduhan langsung saat menerima permintaan dan akhirnya menghapus data sesuai kebutuhan mereka.
Untuk memenuhi kebutuhan ini, pemilik data menyiapkan penyimpanan urutan dan setiap set baca menerima tag untuk “status” yang akan disetel ke “ditarik” jika permintaan penarikan datang. Untuk data dengan tag yang disetel ke nilai ini, mereka ingin memastikan tidak ada pengguna yang dapat menjalankan “getObject” pada file ini. Untuk melakukan pengaturan ini, pemilik data perlu memastikan dua langkah diambil.
Langkah 1. Untuk penyimpanan urutan, pastikan bahwa tag status diperbarui untuk disebarkan. Ini dilakukan dengan menambahkan tombol “status” ke propogatedSetLevelTags
saat memanggil createSequenceStore
atau updateSequenceStore.
Langkah 2. Perbarui Kebijakan Akses s3 toko untuk membatasi getObject pada objek dengan tag status disetel ke ditarik. Ini dilakukan dengan memperbarui kebijakan akses toko menggunakan PutS3AccesPolicy
API. Kebijakan berikut akan memungkinkan pelanggan untuk tetap melihat file yang ditarik saat mencantumkan objek tetapi mencegah mereka mengaksesnya:
Pernyataan 1 (restrictedGetWithdrawal): Akun 999999999999 tidak dapat mengambil objek yang ditarik.
Pernyataan 2 (ownerGetAll): Akun 111111111111, pemilik data, dapat mengambil semua objek, termasuk objek yang ditarik.
Pernyataan 3 (everyoneListAll): Semua akun bersama, 111111111111 dan 999999999999, dapat menjalankan operasi pada seluruh awalan. ListBucket