Izin Sumber Daya - AWS HealthOmics

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

Izin Sumber Daya

AWS HealthOmics membuat dan mengakses sumber daya di layanan lain atas nama Anda saat Anda menjalankan pekerjaan atau membuat toko. Dalam beberapa kasus, Anda perlu mengonfigurasi izin di layanan lain untuk mengakses sumber daya atau mengizinkan HealthOmics untuk mengaksesnya.

Izin Amazon ECR

Sebelum HealthOmics layanan dapat menjalankan alur kerja dalam wadah dari repositori Amazon ECR pribadi, Anda membuat kebijakan sumber daya untuk penampung tersebut. Kebijakan memberikan izin kepada HealthOmics layanan untuk menggunakan kontainer. Anda menambahkan kebijakan sumber daya ini ke setiap repositori pribadi yang direferensikan oleh alur kerja.

catatan

Repositori pribadi dan alur kerja harus berada di wilayah yang sama.

Bagian berikut menjelaskan konfigurasi kebijakan yang diperlukan.

Membuat kebijakan sumber daya untuk repositori Amazon ECR

Buat kebijakan sumber daya untuk memungkinkan HealthOmics layanan menjalankan alur kerja menggunakan wadah di repositori. Kebijakan ini memberikan izin kepada kepala HealthOmics layanan untuk mengakses tindakan ECR Amazon yang diperlukan.

Ikuti langkah-langkah ini untuk membuat kebijakan:

  1. Buka halaman repositori pribadi di konsol Amazon ECR dan pilih repositori yang Anda berikan akses.

  2. Dari navigasi bilah samping, pilih Izin.

  3. Pilih Edit JSON.

  4. Pilih Tambah Pernyataan.

  5. Tambahkan pernyataan kebijakan berikut, lalu pilih Simpan Kebijakan.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Sid": "omics workflow access", "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ], "Resource": "*" } ] }

Menjalankan alur kerja dengan kontainer lintas akun

Jika AWS akun yang berbeda memiliki alur kerja dan penampung, Anda perlu mengonfigurasi izin lintas akun berikut:

  1. Perbarui kebijakan Amazon ECR untuk repositori untuk secara eksplisit memberikan izin ke akun yang memiliki alur kerja.

  2. Perbarui peran layanan untuk akun yang memiliki alur kerja untuk memberinya akses ke gambar kontainer.

Contoh berikut menunjukkan kebijakan sumber daya Amazon ECR yang memberikan akses ke akun yang memiliki alur kerja.

Dalam contoh ini:

  • ID akun alur kerja: 111122223333

  • ID akun repositori kontainer: 444455556666

  • Nama kontainer: samtools

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] }, { "Sid": "allow access to the service role of the account that owns the workflow", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/DemoCustomer" }, "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] } ] }

Untuk menyelesaikan penyiapan, tambahkan pernyataan kebijakan berikut ke peran layanan akun yang memiliki alur kerja. Kebijakan memberikan izin untuk peran layanan untuk mengakses image kontainer “samtools”. Pastikan untuk mengganti nomor akun, nama kontainer, dan wilayah dengan nilai Anda sendiri.

{ "Sid": "CrossAccountEcrRepoPolicy", "Effect": "Allow", "Action": ["ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer"], "Resource": "arn:aws:ecr:us-west-2:444455556666:repository/samtools" }

Kebijakan repositori Amazon ECR untuk alur kerja bersama

catatan

HealthOmics secara otomatis memungkinkan alur kerja bersama untuk mengakses repositori Amazon ECR di akun pemilik alur kerja, sementara alur kerja berjalan di akun pelanggan. Anda tidak perlu memberikan akses repositori tambahan untuk alur kerja bersama. Untuk informasi selengkapnya, lihat Berbagi HealthOmics alur kerja.

Secara default, pelanggan tidak memiliki akses ke repositori Amazon ECR untuk menggunakan container yang mendasarinya. Secara opsional, Anda dapat menyesuaikan akses ke repositori Amazon ECR dengan menambahkan kunci kondisi ke kebijakan sumber daya repositori. Bagian berikut memberikan contoh kebijakan.

Batasi akses ke alur kerja tertentu

Anda dapat mencantumkan alur kerja individual dalam pernyataan kondisi, sehingga hanya alur kerja ini yang dapat menggunakan kontainer dalam repositori. Kunci SourceArnkondisi menentukan ARN dari alur kerja bersama. Contoh berikut memberikan izin untuk alur kerja yang ditentukan untuk menggunakan repositori ini.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "OmicsAccessPrincipal", "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:omics:us-east-1:111122223333:workflow/1234567" } } } ] }

Batasi akses ke akun tertentu

Anda dapat mencantumkan akun pelanggan dalam pernyataan kondisi, sehingga hanya akun ini yang memiliki izin untuk menggunakan kontainer di repositori. Kunci SourceAccountkondisi menentukan Akun AWS pelanggan. Contoh berikut memberikan izin untuk akun tertentu untuk menggunakan repositori ini.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "OmicsAccessPrincipal", "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" } } } ] }

Anda juga dapat menolak izin Amazon ECR untuk pelanggan tertentu, seperti yang ditunjukkan dalam contoh kebijakan berikut.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "OmicsAccessPrincipal", "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:SourceAccount": "111122223333" } } } ] }

Izin Lake Formation

Sebelum Anda menggunakan fitur analitik HealthOmics, konfigurasikan pengaturan basis data default di Lake Formation.

Untuk mengonfigurasi izin sumber daya di Lake Formation
  1. Buka halaman pengaturan katalog Data di konsol Lake Formation.

  2. Hapus centang persyaratan kontrol akses IAM untuk database dan tabel di bawah Izin default untuk database dan tabel yang baru dibuat.

  3. Pilih Simpan.

HealthOmics Analytics auto menerima data jika kebijakan layanan Anda memiliki izin RAM yang benar, seperti contoh berikut.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "omics:*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ram:AcceptResourceShareInvitation", "ram:GetResourceShareInvitations" ], "Resource": "*" } ] }