Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh kebijakan berbasis identitas untuk Amazon Comprehend
Secara default, pengguna dan peran tidak memiliki izin untuk membuat atau memodifikasi sumber daya Amazon Comprehend. 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 Comprehend, termasuk format ARNs untuk setiap jenis sumber daya, lihat Tindakan, sumber daya, dan kunci kondisi untuk Amazon Comprehend di Referensi Otorisasi Layanan.
Topik
- Praktik terbaik kebijakan
- Menggunakan konsol Amazon Comprehend
- Mengizinkan pengguna melihat izin mereka sendiri
- Izin yang diperlukan untuk melakukan tindakan analisis dokumen
- Izin yang diperlukan untuk menggunakan enkripsi KMS
- AWS kebijakan terkelola (standar) untuk Amazon Comprehend
- Izin berbasis peran yang diperlukan untuk operasi asinkron
- Izin untuk mengizinkan semua tindakan Amazon Comprehend
- Izin untuk mengizinkan tindakan pemodelan topik
- Izin diperlukan untuk pekerjaan analisis asinkron kustom
Praktik terbaik kebijakan
Kebijakan berbasis identitas menentukan apakah seseorang dapat membuat, mengakses, atau menghapus sumber daya Amazon Comprehend 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 dalam 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 konsol Amazon Comprehend
Untuk mengakses konsol Amazon Comprehend, Anda harus memiliki set izin minimum. Izin ini harus memungkinkan Anda untuk membuat daftar dan melihat detail tentang sumber daya Amazon Comprehend 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 izin konsol Amazon Comprehend minimum, Anda dapat
AWS melampirkan kebijakan terkelola ke entitas. Untuk informasi selengkapnya, lihat Menambahkan izin ke pengguna di Panduan IAM Pengguna.ComprehendReadOnly
Untuk menggunakan konsol Amazon Comprehend, Anda juga memerlukan izin untuk tindakan yang ditampilkan dalam kebijakan berikut:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:ListRoles", "iam:GetRole", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": "*" } ] }
Konsol Amazon Comprehend memerlukan izin tambahan ini karena alasan berikut:
-
iam
izin untuk mencantumkan IAM peran yang tersedia untuk akun Anda. -
s3
izin untuk mengakses bucket Amazon S3 dan objek yang berisi data untuk pemodelan topik.
Saat membuat pekerjaan batch asinkron atau pekerjaan pemodelan topik menggunakan konsol, Anda memiliki opsi agar konsol membuat IAM peran untuk pekerjaan Anda. Untuk membuat IAM peran, pengguna harus diberikan izin tambahan berikut untuk membuat IAM peran dan kebijakan, dan melampirkan kebijakan ke peran:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:CreateRole", "iam:CreatePolicy", "iam:AttachRolePolicy" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/*Comprehend*" } ] }
Konsol Amazon Comprehend memerlukan izin tambahan ini karena alasan berikut:
-
iam
izin untuk membuat peran dan kebijakan serta melampirkan peran dan kebijakan.iam:PassRole
Tindakan ini memungkinkan konsol untuk meneruskan peran ke Amazon Comprehend.
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": "*" } ] }
Izin yang diperlukan untuk melakukan tindakan analisis dokumen
Contoh kebijakan berikut memberikan izin untuk menggunakan tindakan analisis dokumen Amazon Comprehend:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowDetectActions", "Effect": "Allow", "Action": [ "comprehend:DetectEntities", "comprehend:DetectKeyPhrases", "comprehend:DetectDominantLanguage", "comprehend:DetectSentiment", "comprehend:DetectTargetedSentiment", "comprehend:DetectSyntax", "textract:DetectDocumentText", "textract:AnalyzeDocument" ], "Resource": "*" } ] }
Kebijakan memiliki satu pernyataan yang memberikan izin untuk menggunakanDetectEntities
,,, DetectKeyPhrases
DetectDominantLanguage
, DetectTargetedSentiment
DetectSentiment
, dan DetectSyntax
tindakan. Pernyataan kebijakan juga memberikan izin untuk menggunakan dua metode Amazon API Textract. Amazon Comprehend memanggil metode ini untuk mengekstrak teks dari file gambar dan dokumen yang dipindai. PDF Anda dapat menghapus izin ini untuk pengguna yang tidak pernah menjalankan inferensi khusus untuk jenis file input ini.
Pengguna dengan kebijakan ini tidak akan dapat melakukan tindakan batch atau tindakan asinkron di akun Anda.
Kebijakan tidak menentukan Principal
elemen karena Anda tidak menentukan prinsipal yang mendapatkan izin dalam kebijakan berbasis identitas. Saat Anda melampirkan kebijakan kepada pengguna, pengguna adalah penanggung jawab implisit. Saat Anda melampirkan kebijakan izin ke IAM peran, prinsipal yang diidentifikasi dalam kebijakan kepercayaan peran akan mendapatkan izin.
Untuk tabel yang menampilkan semua tindakan API Amazon Comprehend dan sumber daya yang diterapkan, lihat Tindakan, sumber daya, dan kunci kondisi untuk Amazon Comprehend di Referensi Otorisasi Layanan.
Izin yang diperlukan untuk menggunakan enkripsi KMS
Untuk sepenuhnya menggunakan Amazon Key Management Service (KMS) untuk enkripsi data dan pekerjaan dalam pekerjaan asinkron, Anda harus memberikan izin untuk tindakan yang ditampilkan dalam kebijakan berikut:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "kms:CreateGrant" ], "Effect": "Allow", "Resource": "*" }, { "Action": [ "kms:Decrypt", "kms:GenerateDatakey" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "s3.
region
.amazonaws.com" ] } } } ] }
Saat Anda membuat pekerjaan askron dengan Amazon Comprehend, Anda menggunakan data input yang disimpan di Amazon S3. Dengan S3, Anda memiliki opsi untuk mengenkripsi data yang disimpan, yang dienkripsi oleh S3, bukan oleh Amazon Comprehend. Kami dapat mendekripsi dan membaca data input terenkripsi tersebut jika Anda memberikan kms:Decrypt
izin untuk kunci yang dengannya data input asli dienkripsi ke peran akses data yang digunakan oleh pekerjaan Amazon Comprehend.
Anda juga memiliki opsi untuk menggunakan kunci yang KMS dikelola pelanggan (CMK) untuk mengenkripsi hasil keluaran pada S3, serta volume penyimpanan yang digunakan selama pemrosesan pekerjaan. Ketika Anda melakukan ini, Anda dapat menggunakan KMS kunci yang sama untuk kedua jenis enkripsi, tetapi ini tidak perlu. Bidang terpisah tersedia saat membuat pekerjaan untuk menentukan kunci untuk enkripsi output dan enkripsi volume dan Anda bahkan dapat menggunakan KMS kunci dari akun yang berbeda.
Saat menggunakan KMS enkripsi, kms:CreateGrant
izin diperlukan untuk enkripsi volume dan kms:GenerateDataKey
izin diperlukan untuk enkripsi data keluaran. Untuk membaca input terenkripsi (seperti ketika data input sudah dienkripsi oleh Amazon S3), izin diperlukan. kms:Decrypt
IAMPeran perlu memberikan izin ini sesuai kebutuhan. Namun, jika kunci berasal dari akun yang berbeda dari yang sedang digunakan saat ini, kebijakan KMS kunci untuk kunci kms tersebut juga harus memberikan izin ini ke peran akses data untuk pekerjaan tersebut.
AWS kebijakan terkelola (standar) untuk Amazon Comprehend
AWS mengatasi banyak kasus penggunaan umum dengan menyediakan IAM kebijakan mandiri yang dibuat dan dikelola oleh AWS. Kebijakan AWS terkelola ini memberikan izin yang diperlukan untuk kasus penggunaan umum sehingga Anda dapat menghindari keharusan menyelidiki izin apa yang diperlukan. Untuk informasi selengkapnya, lihat kebijakan AWS terkelola di Panduan IAM Pengguna.
Kebijakan AWS terkelola berikut, yang dapat Anda lampirkan ke pengguna di akun Anda, khusus untuk Amazon Comprehend:
-
ComprehendFullAccess— Memberikan akses penuh ke Amazon Comprehend sumber daya termasuk menjalankan pekerjaan pemodelan topik. Termasuk izin untuk daftar dan mendapatkan IAM peran.
-
ComprehendReadOnly— Memberikan izin untuk menjalankan semua
StartDominantLanguageDetectionJob
tindakan Amazon ComprehendStartEntitiesDetectionJob
kecualiStartKeyPhrasesDetectionJob
,,,,, dan.StartSentimentDetectionJob
StartTargetedSentimentDetectionJob
StartTopicsDetectionJob
Anda perlu menerapkan kebijakan tambahan berikut untuk setiap pengguna yang akan menggunakan Amazon Comprehend:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/*Comprehend*" } ] }
Anda dapat meninjau kebijakan izin terkelola dengan masuk ke IAM konsol dan mencari kebijakan tertentu di sana.
Kebijakan ini berfungsi saat Anda menggunakan AWS SDKs atau AWS CLI.
Anda juga dapat membuat IAM kebijakan kustom Anda sendiri untuk mengizinkan izin untuk tindakan dan sumber daya Amazon Comprehend. Anda dapat melampirkan kebijakan khusus ini ke pengguna, grup, atau peran yang memerlukan izin tersebut.
Izin berbasis peran yang diperlukan untuk operasi asinkron
Untuk menggunakan operasi asinkron Amazon Comprehend, Anda harus memberikan Amazon Comprehend akses ke bucket Amazon S3 yang berisi koleksi dokumen Anda. Anda melakukan ini dengan membuat peran akses data di akun Anda dengan kebijakan kepercayaan untuk mempercayai prinsipal layanan Amazon Comprehend. Untuk informasi selengkapnya tentang membuat peran, lihat Membuat peran untuk mendelegasikan izin ke AWS layanan di Panduan Pengguna AWS Identity and Access Management.
Berikut ini menunjukkan contoh kebijakan kepercayaan untuk peran yang Anda buat. Untuk membantu pencegahan deputi yang membingungkan, Anda membatasi ruang lingkup izin dengan menggunakan satu atau lebih kunci konteks kondisi global. Tetapkan aws:SourceAccount
nilainya ke ID akun Anda. Jika Anda menggunakan ArnEquals
kondisi, atur aws:SourceArn
nilainya ke ARN pekerjaan. Gunakan wildcard untuk nomor pekerjaan diARN, karena Amazon Comprehend menghasilkan nomor ini sebagai bagian dari penciptaan lapangan kerja.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "comprehend.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
111122223333
" }, "ArnEquals": { "aws:SourceArn": "arn:aws:comprehend:us-west-2:111122223333
:pii-entities-detection-job/*" } } } ] }
Setelah Anda membuat peran, buat kebijakan akses untuk peran tersebut. Ini akan memberikan Amazon S3 GetObject
dan ListBucket
izin ke bucket Amazon S3 yang berisi data input Anda, dan izin Amazon S3 PutObject
ke bucket data keluaran Amazon S3 Anda.
Izin untuk mengizinkan semua tindakan Amazon Comprehend
Setelah mendaftar AWS, Anda membuat pengguna administrator untuk mengelola akun Anda, termasuk membuat pengguna dan mengelola izin mereka.
Anda dapat memilih untuk membuat pengguna yang memiliki izin untuk semua tindakan Amazon Comprehend (anggap pengguna ini sebagai administrator khusus layanan) untuk bekerja dengan Amazon Comprehend. Anda dapat melampirkan kebijakan izin berikut ke pengguna ini.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllComprehendActions", "Effect": "Allow", "Action": [ "comprehend:*", "iam:ListRoles", "iam:GetRole", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketLocation", "iam:CreateRole", "iam:CreatePolicy", "iam:AttachRolePolicy", "kms:CreateGrant", "kms:Decrypt", "kms:GenerateDatakey" ], "Resource": "*" }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/*Comprehend*" } ] }
Izin ini dapat dimodifikasi sehubungan dengan enkripsi dengan cara berikut:
Agar Amazon Comprehend dapat menganalisis dokumen yang disimpan dalam bucket S3 terenkripsi, peran tersebut harus memiliki izin. IAM
kms:Decrypt
Untuk mengaktifkan Amazon Comprehend mengenkripsi dokumen yang disimpan pada volume penyimpanan yang dilampirkan ke instance komputasi yang memproses tugas IAM analisis, peran tersebut harus memiliki izin.
kms:CreateGrant
Untuk mengaktifkan Amazon Comprehend mengenkripsi hasil keluaran di bucket IAM S3 mereka, peran harus memiliki izin.
kms:GenerateDataKey
Izin untuk mengizinkan tindakan pemodelan topik
Kebijakan izin berikut memberikan izin pengguna untuk melakukan operasi pemodelan topik Amazon Comprehend.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowTopicModelingActions", "Effect": "Allow", "Action": [ "comprehend:DescribeTopicsDetectionJob", "comprehend:ListTopicsDetectionJobs", "comprehend:StartTopicsDetectionJob", ], "Resource": "*" ] } ] }
Izin diperlukan untuk pekerjaan analisis asinkron kustom
penting
Jika Anda memiliki IAM kebijakan yang membatasi akses model, Anda tidak akan dapat menyelesaikan pekerjaan inferensi dengan model kustom. IAMKebijakan Anda harus diperbarui agar memiliki sumber daya wildcard untuk pekerjaan analisis asinkron kustom.
Jika Anda menggunakan StartDocumentClassificationJob dan StartEntitiesDetectionJobAPIs, Anda perlu memperbarui IAM kebijakan kecuali saat ini Anda menggunakan wildcard sebagai sumber daya. Jika Anda menggunakan model yang StartEntitiesDetectionJobtelah dilatih sebelumnya, ini tidak memengaruhi Anda dan Anda tidak perlu melakukan perubahan apa pun.
Contoh kebijakan berikut berisi referensi usang.
{ "Action": [ "comprehend:StartDocumentClassificationJob", "comprehend:StartEntitiesDetectionJob", ], "Resource": [ "arn:aws:comprehend:us-east-1:123456789012:document-classifier/myClassifier", "arn:aws:comprehend:us-east-1:123456789012:entity-recognizer/myRecognizer" ], "Effect": "Allow" }
Ini adalah kebijakan terbaru yang perlu Anda gunakan untuk berhasil menjalankan StartDocumentClassificationJob dan. StartEntitiesDetectionJob
{ "Action": [ "comprehend:StartDocumentClassificationJob", "comprehend:StartEntitiesDetectionJob", ], "Resource": [ "arn:aws:comprehend:us-east-1:123456789012:document-classifier/myClassifier", "arn:aws:comprehend:us-east-1:123456789012:document-classification-job/*", "arn:aws:comprehend:us-east-1:123456789012:entity-recognizer/myRecognizer", "arn:aws:comprehend:us-east-1:123456789012:entities-detection-job/*" ], "Effect": "Allow" }