Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
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 di sumber daya yang mereka perlukan, administrator IAM dapat membuat kebijakan IAM. Administrator kemudian dapat menambahkan kebijakan IAM ke peran, dan pengguna dapat mengambil peran.
Untuk mempelajari cara membuat kebijakan berbasis identitas IAM dengan menggunakan contoh dokumen kebijakan JSON ini, lihat Membuat kebijakan IAM (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.
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 yang dikelola AWS atau Kebijakan yang dikelola AWS untuk fungsi tugas dalam Panduan Pengguna IAM.
-
Menerapkan izin dengan hak akses paling rendah – Ketika Anda menetapkan izin dengan kebijakan IAM, hanya berikan 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 cara menggunakan IAM untuk mengajukan izin, lihat Kebijakan dan izin dalam IAM dalam Panduan Pengguna IAM.
-
Gunakan kondisi dalam kebijakan IAM untuk membatasi akses lebih lanjut – Anda dapat menambahkan suatu kondisi ke kebijakan Anda untuk membatasi akses ke tindakan dan sumber daya. Sebagai contoh, Anda dapat menulis kondisi kebijakan untuk menentukan bahwa semua permintaan harus dikirim menggunakan SSL. 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 kebijakan JSON IAM: Kondisi dalam Panduan Pengguna IAM.
-
Gunakan IAM Access Analyzer untuk memvalidasi kebijakan IAM Anda untuk memastikan izin yang aman dan fungsional – IAM Access Analyzer memvalidasi kebijakan baru dan yang sudah ada sehingga kebijakan tersebut mematuhi bahasa kebijakan IAM (JSON) dan praktik terbaik IAM. IAM Access 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 Validasi kebijakan dengan IAM Access Analyzer dalam Panduan Pengguna IAM.
-
Memerlukan otentikasi multi-faktor (MFA) - Jika Anda memiliki skenario yang mengharuskan pengguna IAM atau pengguna root di Anda, Akun AWS aktifkan MFA untuk keamanan tambahan. Untuk meminta MFA ketika operasi API dipanggil, tambahkan kondisi MFA pada kebijakan Anda. Untuk informasi selengkapnya, lihat Amankan akses API dengan MFA dalam Panduan Pengguna IAM.
Untuk informasi selengkapnya tentang praktik terbaik dalam IAM, lihat Praktik terbaik keamanan di IAM dalam Panduan Pengguna IAM.
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 sesuai dengan operasi API yang coba mereka lakukan.
Untuk izin konsol Amazon Comprehend minimum, Anda dapat
AWS melampirkan kebijakan terkelola ke entitas. Untuk informasi selengkapnya, lihat Menambah izin untuk pengguna dalam Panduan Pengguna IAM.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 peran IAM 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 peran IAM untuk pekerjaan Anda. Untuk membuat peran IAM, pengguna harus diberikan izin tambahan berikut untuk membuat peran dan kebijakan IAM, dan untuk 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 membuat kebijakan yang mengizinkan pengguna IAM melihat kebijakan inline dan terkelola yang dilampirkan ke identitas pengguna mereka. Kebijakan ini mencakup izin untuk menyelesaikan tindakan ini di konsol atau menggunakan API atau secara terprogram. AWS CLI AWS
{
"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 Textract API. Amazon Comprehend memanggil metode ini untuk mengekstrak teks dari file gambar dan dokumen PDF yang dipindai. 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 pada IAM role, prinsipal yang diidentifikasi dalam kebijakan kepercayaan peran tersebut mendapatkan izin.
Untuk tabel yang menampilkan semua tindakan Amazon Comprehend API 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 dikelola pelanggan (CMK) KMS untuk mengenkripsi hasil output pada S3, serta volume penyimpanan yang digunakan selama pemrosesan pekerjaan. Ketika Anda melakukan ini, Anda dapat menggunakan kunci KMS 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 kunci KMS dari akun yang berbeda.
Saat menggunakan enkripsi KMS, 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
Peran IAM perlu memberikan izin ini sesuai kebutuhan. Namun, jika kunci berasal dari akun yang berbeda dari yang sedang digunakan saat ini, kebijakan kunci KMS 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 kebijakan IAM 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 terkelola AWS dalam Panduan Pengguna IAM.
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 mendaftar dan mendapatkan peran IAM.
-
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 konsol IAM dan mencari kebijakan tertentu di sana.
Kebijakan ini berfungsi saat Anda menggunakan AWS SDKs atau AWS CLI.
Anda juga dapat membuat kebijakan IAM 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 di ARN, 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 IAM harus memiliki izin.
kms:Decrypt
Untuk mengaktifkan Amazon Comprehend mengenkripsi dokumen yang disimpan pada volume penyimpanan yang dilampirkan ke instance komputasi yang memproses tugas analisis, peran IAM harus memiliki izin.
kms:CreateGrant
Untuk mengaktifkan Amazon Comprehend mengenkripsi hasil keluaran di bucket S3 mereka, peran IAM 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 kebijakan IAM yang membatasi akses model, Anda tidak akan dapat menyelesaikan pekerjaan inferensi dengan model kustom. Kebijakan IAM Anda harus diperbarui untuk memiliki sumber daya wildcard untuk pekerjaan analisis asinkron kustom.
Jika Anda menggunakan StartDocumentClassificationJob dan StartEntitiesDetectionJob APIs, Anda perlu memperbarui kebijakan IAM Anda 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"
}