Amazon Transcribe contoh kebijakan berbasis identitas - Amazon Transcribe

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

Amazon Transcribe contoh kebijakan berbasis identitas

Secara default, pengguna dan peran tidak memiliki izin untuk membuat atau memodifikasi Amazon Transcribe sumber daya. Mereka juga tidak dapat melakukan tugas dengan menggunakan AWS Management Console, AWS Command Line Interface (AWS CLI), atau AWS API. Untuk memberikan izin kepada pengguna untuk melakukan tindakan pada sumber daya yang mereka butuhkan, IAM administrator dapat membuat IAM kebijakan. Administrator kemudian dapat menambahkan IAM kebijakan ke peran, dan pengguna dapat mengambil peran.

Untuk mempelajari cara membuat kebijakan IAM berbasis identitas menggunakan contoh dokumen kebijakan ini, lihat Membuat JSON IAM kebijakan (konsol) di Panduan Pengguna. IAM

Untuk detail tentang tindakan dan jenis sumber daya yang ditentukan oleh Amazon Transcribe, termasuk format ARNs untuk setiap jenis sumber daya, lihat Kunci tindakan, sumber daya, dan kondisi untuk Amazon Transcribe di Referensi Otorisasi Layanan.

Praktik terbaik kebijakan

Kebijakan berbasis identitas menentukan apakah seseorang dapat membuat, mengakses, atau menghapus Amazon Transcribe sumber daya di akun Anda. Tindakan ini membuat Akun AWS Anda dikenai biaya. Ketika Anda membuat atau mengedit kebijakan berbasis identitas, ikuti panduan dan rekomendasi ini:

  • Mulailah dengan kebijakan AWS terkelola dan beralih ke izin hak istimewa paling sedikit — Untuk mulai memberikan izin kepada pengguna dan beban kerja Anda, gunakan kebijakan AWS terkelola yang memberikan izin untuk banyak kasus penggunaan umum. Mereka tersedia di Anda Akun AWS. Kami menyarankan Anda mengurangi izin lebih lanjut dengan menentukan kebijakan yang dikelola AWS pelanggan yang khusus untuk kasus penggunaan Anda. Untuk informasi selengkapnya, lihat kebijakan AWSAWS terkelola atau kebijakan terkelola untuk fungsi pekerjaan di Panduan IAM Pengguna.

  • Menerapkan izin hak istimewa paling sedikit — Saat Anda menetapkan izin dengan IAM kebijakan, berikan hanya izin yang diperlukan untuk melakukan tugas. Anda melakukannya dengan mendefinisikan tindakan yang dapat diambil pada sumber daya tertentu dalam kondisi tertentu, yang juga dikenal sebagai izin dengan hak akses paling rendah. Untuk informasi selengkapnya tentang penggunaan IAM untuk menerapkan izin, lihat Kebijakan dan izin IAM di IAM Panduan Pengguna.

  • Gunakan ketentuan dalam IAM kebijakan untuk membatasi akses lebih lanjut — Anda dapat menambahkan kondisi ke kebijakan Anda untuk membatasi akses ke tindakan dan sumber daya. Misalnya, Anda dapat menulis kondisi kebijakan untuk menentukan bahwa semua permintaan harus dikirim menggunakanSSL. Anda juga dapat menggunakan ketentuan untuk memberikan akses ke tindakan layanan jika digunakan melalui yang spesifik Layanan AWS, seperti AWS CloudFormation. Untuk informasi selengkapnya, lihat elemen IAM JSON kebijakan: Kondisi dalam Panduan IAM Pengguna.

  • Gunakan IAM Access Analyzer untuk memvalidasi IAM kebijakan Anda guna memastikan izin yang aman dan fungsional — IAM Access Analyzer memvalidasi kebijakan baru dan yang sudah ada sehingga kebijakan mematuhi bahasa IAM kebijakan () JSON dan praktik terbaik. IAM IAMAccess Analyzer menyediakan lebih dari 100 pemeriksaan kebijakan dan rekomendasi yang dapat ditindaklanjuti untuk membantu Anda membuat kebijakan yang aman dan fungsional. Untuk informasi selengkapnya, lihat Memvalidasi kebijakan dengan IAM Access Analyzer di IAMPanduan Pengguna.

  • Memerlukan otentikasi multi-faktor (MFA) - Jika Anda memiliki skenario yang mengharuskan IAM pengguna atau pengguna root di Anda Akun AWS, aktifkan MFA untuk keamanan tambahan. Untuk meminta MFA kapan API operasi dipanggil, tambahkan MFA kondisi ke kebijakan Anda. Untuk informasi selengkapnya, lihat APIAkses aman dengan MFA di Panduan IAM Pengguna.

Untuk informasi selengkapnya tentang praktik terbaik diIAM, lihat Praktik terbaik keamanan IAM di Panduan IAM Pengguna.

Menggunakan AWS Management Console

Untuk mengakses konsol Amazon Transcribe, Anda harus memiliki set izin minimum. Izin ini harus memungkinkan Anda untuk membuat daftar dan melihat detail tentang Amazon Transcribe sumber daya di Anda Akun AWS. Jika Anda membuat kebijakan berbasis identitas yang lebih ketat daripada izin minimum yang diperlukan, konsol tidak akan berfungsi sebagaimana mestinya untuk entitas (pengguna atau peran) dengan kebijakan tersebut.

Anda tidak perlu mengizinkan izin konsol minimum untuk pengguna yang melakukan panggilan hanya ke AWS CLI atau. AWS API Sebagai gantinya, izinkan akses hanya ke tindakan yang cocok dengan API operasi yang mereka coba lakukan.

Untuk memastikan bahwa entitas (pengguna dan peran) dapat menggunakan AWS Management Console, lampirkan salah satu kebijakan AWS-managed berikut kepada mereka.

  • AmazonTranscribeFullAccess: Memberikan akses penuh untuk membuat, membaca, memperbarui, menghapus, dan menjalankan semua Amazon Transcribe sumber daya. Ini juga memungkinkan akses ke Amazon S3 ember transcribe dengan nama bucket.

  • AmazonTranscribeReadOnlyAccess: Memberikan akses hanya-baca ke Amazon Transcribe sumber daya sehingga Anda bisa mendapatkan dan membuat daftar pekerjaan transkripsi dan kosakata khusus.

catatan

Anda dapat meninjau kebijakan izin terkelola dengan masuk ke IAM AWS Management Console dan mencari berdasarkan nama kebijakan. Pencarian untuk “transkripsi” mengembalikan kedua kebijakan yang tercantum di atas (AmazonTranscribeReadOnlydan AmazonTranscribeFullAccess).

Anda juga dapat membuat IAM kebijakan kustom Anda sendiri untuk mengizinkan izin Amazon Transcribe API tindakan. Anda dapat melampirkan kebijakan khusus ini ke entitas yang memerlukan izin tersebut.

Izin diperlukan untuk peran IAM

Jika Anda membuat IAM peran untuk dipanggil Amazon Transcribe, peran tersebut harus memiliki izin untuk mengakses Amazon S3 bucket. Jika berlaku, KMS key harus juga digunakan untuk mengenkripsi isi bucket. Lihat bagian berikut misalnya kebijakan.

Kebijakan kepercayaan

IAM Entitas yang Anda gunakan untuk membuat permintaan transkripsi Anda harus memiliki kebijakan kepercayaan yang memungkinkan Amazon Transcribe untuk mengambil peran itu. Gunakan kebijakan Amazon Transcribe kepercayaan berikut. Perhatikan bahwa jika Anda membuat permintaan Analytics Panggilan real-time dengan analitik pasca-panggilan diaktifkan, Anda harus menggunakan 'Kebijakan kepercayaan untuk Analitik Panggilan waktu'.

Kebijakan kepercayaan untuk Amazon Transcribe

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "transcribe.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ], "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:transcribe:us-west-2:111122223333:*" } } } ] }

Kebijakan kepercayaan untuk Analisis Panggilan real-time

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "transcribe.streaming.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ], "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:transcribe:us-west-2:111122223333:*" } } } ] }

Amazon S3 kebijakan bucket masukan

Kebijakan berikut memberikan izin IAM peran untuk mengakses file dari bucket input yang ditentukan.

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

Amazon S3 kebijakan bucket keluaran

Kebijakan berikut memberikan izin IAM peran untuk menulis file ke bucket keluaran yang ditentukan.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-OUTPUT-BUCKET/*" ] } }

Izin diperlukan untuk kunci Amazon S3 enkripsi

Jika Anda menggunakan KMS key untuk mengenkripsi Amazon S3 bucket, sertakan yang berikut ini dalam KMS key kebijakan. Ini memberikan Amazon Transcribe akses ke isi ember. Untuk informasi selengkapnya tentang mengizinkan akses KMS keys, lihat Mengizinkan eksternal Akun AWS mengakses KMS key di Panduan AWS KMS Pengembang.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleRole" }, "Action": [ "kms:Decrypt" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/KMS-Example-KeyId" } ] }

Mengizinkan pengguna melihat izin mereka sendiri

Contoh ini menunjukkan cara Anda membuat kebijakan yang memungkinkan IAM pengguna melihat kebijakan sebaris dan terkelola yang dilampirkan pada identitas pengguna mereka. Kebijakan ini mencakup izin untuk menyelesaikan tindakan ini di konsol atau secara terprogram menggunakan atau. AWS CLI AWS API

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

AWS KMS kebijakan konteks enkripsi

Kebijakan berikut memberikan izin “ExampleRole” IAM peran untuk menggunakan operasi AWS KMS Dekripsi dan Enkripsi untuk hal ini. KMS key Kebijakan ini hanya berfungsi untuk permintaan dengan setidaknya satu pasangan konteks enkripsi, dalam hal ini "color:indigoBlue”. Untuk informasi selengkapnya tentang konteks AWS KMS enkripsi, lihatAWS KMSkonteks enkripsi.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleRole" }, "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:GenerateDataKey*", "kms:ReEncrypt*" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:color":"indigoBlue" } } } ] }

Kebijakan pencegahan wakil yang membingungkan

Berikut adalah contoh kebijakan peran asumsi yang menunjukkan bagaimana Anda dapat menggunakan aws:SourceArn dan aws:SourceAccount dengan Amazon Transcribe untuk mencegah masalah wakil yang membingungkan. Untuk informasi lebih lanjut tentang pencegahan wakil yang membingungkan, lihatPencegahan wakil bingung lintas layanan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "transcribe.amazonaws.com" }, "Action": [ "sts:AssumeRole", ], "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:transcribe:us-west-2:111122223333:*" } } } ] }

Melihat pekerjaan transkripsi berdasarkan tag

Anda dapat menggunakan syarat dalam kebijakan berbasis identitas Anda untuk mengontrol akses ke sumber daya Amazon Transcribe berdasarkan tanda. Contoh ini menunjukkan cara Anda membuat kebijakan yang memungkinkan melihat pekerjaan transkripsi. Namun, izin hanya diberikan jika tag pekerjaan transkripsi Owner memiliki nilai nama pengguna tersebut. Kebijakan ini juga memberikan izin yang diperlukan untuk menyelesaikan tindakan ini menggunakan. AWS Management Console

Anda dapat melampirkan kebijakan ini ke IAM entitas di akun Anda. Jika peran bernama test-role mencoba melihat pekerjaan transkripsi, pekerjaan transkripsi harus diberi tag Owner=test-role atau owner=test-role (nama kunci kondisi tidak peka huruf besar/kecil), jika tidak maka akan ditolak aksesnya. Untuk informasi selengkapnya, lihat elemen IAM JSON kebijakan: Kondisi dalam Panduan IAM Pengguna.

Untuk informasi lebih lanjut tentang penandaan Amazon Transcribe, lihatPenandaan pada sumber daya .

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListTranscriptionJobsInConsole", "Effect": "Allow", "Action": "transcribe:ListTranscriptionJobs", "Resource": "*" }, { "Sid": "ViewTranscriptionJobsIfOwner", "Effect": "Allow", "Action": "transcribe:GetTranscriptionJobs", "Resource": "arn:aws:transcribe:*:*:transcription-job/*", "Condition": { "StringEquals": {"aws:ResourceTag/Owner": "${aws:username}"} } } ] }