Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Cakupan akses ke penyedia kredensia berdasarkan identitas beban kerja
Anda dapat menggunakan kebijakan IAM untuk mengontrol identitas beban kerja mana yang memiliki akses ke penyedia kredensia tertentu. Ini memungkinkan kontrol akses yang halus, memastikan bahwa hanya agen resmi yang dapat mengambil kredenSIAL untuk layanan tertentu.
catatan
Peran IAM yang Anda tetapkan ke agen mengontrol penyedia kredensia mana yang dapat dipanggil agen. Layanan tidak memberlakukan pengikatan tambahan antara identitas beban kerja dan penyedia kredensia di akun yang sama. Untuk mengikuti praktik hak istimewa terkecil, lingkup Resource blok kebijakan IAM Anda ke identitas beban kerja tertentu dan ARN penyedia kredensia daripada menggunakan. *
Panggilan yang berhasil ke penyedia kredensi tidak berarti kredenSIAL dikembalikan secara otomatis. KredenSIAL yang diambil beban kerja dicakup ke identitas pengguna dalam token akses beban kerjanya. Untuk penyedia OAuth2 (3LO), pengguna akhir harus menyelesaikan otorisasi sebelum ada kredenSIAL untuk mengambil identitas beban kerja dan kombinasi pengguna tersebut.
Mekanisme kontrol akses
-
Pembatasan berbasis identitas beban kerja — Batasi akses penyedia kredensia ke identitas beban kerja tertentu
-
Resource-level izin — Kontrol akses ke penyedia kredensia individu menggunakan kebijakan ARN-based
-
Directory-level kontrol — Mengelola akses di tingkat direktori identitas beban kerja
-
Pelingkupan penyedia kredensia — Batasi penyedia kredensia mana yang dapat diakses oleh identitas beban kerja dengan menyertakan ARN penyedia kredensia di blok kebijakan
Resource
Topik
Contoh kebijakan IAM
Contoh berikut menunjukkan cara membuat kebijakan IAM yang membatasi akses penyedia kredensia berdasarkan identitas beban kerja dan penyedia kredensia.
Batasi akses ke penyedia kredensia kunci API tertentu
Kebijakan ini mengizinkan identitas beban kerja untuk mengambil kunci API hanya dari penyedia kredensia tertentu. Penyedia kredensi ARN di Resource blok membatasi akses ke penyedia itu.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetResourceApiKey", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetResourceApiKey" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default/workload-identity/<workload-identity-name>", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default/api-key/<provider-name>" ] } ] }
Batasi akses ke penyedia kredensia OAuth2 tertentu
Kebijakan ini mengizinkan identitas beban kerja untuk mengambil token OAuth2 hanya dari penyedia kredensia OAuth2 tertentu.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetResourceOauth2Token", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetResourceOauth2Token" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default/workload-identity/<workload-identity-name>", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default/oauth2-credential-provider/<provider-name>" ] } ] }
Izinkan akses beberapa identitas beban kerja ke penyedia kredensia
Kebijakan ini memungkinkan beberapa identitas beban kerja untuk mengambil kunci API dari penyedia kredensia yang sama.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetResourceApiKeyMultipleIdentities", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetResourceApiKey" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default/workload-identity/agent-1", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default/workload-identity/agent-2", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default/workload-identity/agent-3", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default/api-key/<provider-name>" ] } ] }
Tolak akses ke penyedia kredensia tertentu
Anda dapat secara eksplisit menolak akses identitas beban kerja ke penyedia kredensia tertentu menggunakan Deny pernyataan. Pernyataan Tolak lebih diutamakan daripada pernyataan Izinkan, menjadikannya berguna untuk membuat pagar pembatas.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAccessToSensitiveProvider", "Effect": "Deny", "Action": [ "bedrock-agentcore:GetResourceApiKey", "bedrock-agentcore:GetResourceOauth2Token" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default/api-key/<sensitive-provider-name>", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default/oauth2-credential-provider/<sensitive-provider-name>" ] } ] }
Gunakan identitas beban kerja terpisah untuk penyedia kredensia yang berbeda
Jika Anda memerlukan agen yang berbeda untuk mengakses penyedia kredensia yang berbeda, buat identitas beban kerja terpisah dengan peran IAM terpisah. Setiap peran IAM hanya dicakup oleh penyedia kredensia yang dibutuhkan agen.
Misalnya, jika Agen A harus mengakses hanya Penyedia X dan Agen B harus mengakses hanya Penyedia Y:
-
Buat identitas beban kerja
agent-adan identitas beban kerjaagent-b -
Buat peran IAM
AgentARoledengan kebijakan yang memungkinkan akses hanya ke Penyedia X -
Buat peran IAM
AgentBRoledengan kebijakan yang memungkinkan akses hanya ke Penyedia Y -
Mengaitkan setiap identitas beban kerja dengan peran IAM yang sesuai
Kebijakan IAM untuk Agen A (hanya akses ke Penyedia X)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentAAccessProviderX", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetResourceApiKey" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default/workload-identity/agent-a", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default/api-key/provider-x" ] } ] }
Kebijakan IAM untuk Agen B (hanya akses ke Penyedia Y)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentBAccessProviderY", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetResourceApiKey" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:workload-identity-directory/default/workload-identity/agent-b", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default", "arn:aws:bedrock-agentcore:us-east-1:<account_id>:token-vault/default/api-key/provider-y" ] } ] }
Langkah-langkah implementasi
Untuk menerapkan kontrol akses berbasis identitas beban kerja untuk penyedia kredensia:
-
Identifikasi identitas beban kerja Anda — Gunakan
aws bedrock-agentcore-control list-workload-identitiesuntuk mencantumkan semua identitas beban kerja di akun Anda. Untuk informasi tentang membuat dan mengelola identitas beban kerja, lihat Mengel ola identitas beban kerja dengan AgentCore Identitas. -
Tentukan ARN penyedia kredensia — Identifikasi penyedia kredensia tertentu yang ingin Anda kontrol aksesnya. ARN penyedia kredensi mengikuti format ini:
-
arn:aws:bedrock-agentcore:<region>:<account_id>:token-vault/default/api-key/<provider-name> -
arn:aws:bedrock-agentcore:<region>:<account_id>:token-vault/default/oauth2-credential-provider/<provider-name>
-
-
Buat kebijakan IAM — Tulis kebijakan IAM yang menentukan identitas beban kerja mana yang dapat mengakses penyedia kredensia mana
-
Lampirkan kebijakan ke peran — Lampirkan kebijakan ke peran IAM yang digunakan oleh agen atau aplikasi Anda
-
Uji kontrol akses — Memverifikasi bahwa hanya identitas beban kerja resmi yang dapat mengakses penyedia kredensia yang ditentukan
Praktik terbaik
-
Gunakan nama deskriptif untuk identitas beban kerja untuk mempermudah pengelolaan kebijakan
-
Sertakan ARN penyedia kredensia dalam
Resourceblok untuk mencakup akses ke penyedia tertentu, daripada memberikan akses ke semua penyedia di akun -
Gunakan identitas beban kerja dan peran IAM yang terpisah saat agen yang berbeda memerlukan akses ke penyedia kredensia yang berbeda
-
Gunakan
Denypernyataan eksplisit untuk membuat pagar pembatas yang mencegah akses ke penyedia kredensia sensitif terlepas dari kebijakan lainnya -
Secara teratur mengaudit dan meninjau kebijakan akses untuk memastikannya sesuai dengan persyaratan keamanan Anda
-
Pertimbangkan untuk menggunakan kondisi kebijakan IAM untuk kontrol akses tambahan berdasarkan waktu, alamat IP, atau faktor lainnya
-
Uji kebijakan di lingkungan pengembangan sebelum menerapkannya ke beban kerja produksi