Contoh kebijakan berbasis identitas untuk Pengembang Amazon Q - Pengembang Amazon Q

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 Pengembang Amazon Q

Contoh IAM kebijakan berikut mengontrol izin untuk berbagai tindakan Amazon Q Developer. Gunakan mereka untuk mengizinkan atau menolak akses Pengembang Amazon Q untuk pengguna, peran, atau grup Anda.

Untuk daftar semua izin Amazon Q yang dapat Anda kontrol dengan kebijakan, lihat. Referensi izin Pengembang Amazon Q

catatan

Contoh kebijakan berikut memberikan izin untuk fitur Pengembang Amazon Q, tetapi pengguna mungkin memerlukan izin tambahan untuk mengakses Amazon Q dengan langganan Amazon Q Developer Pro. Untuk informasi selengkapnya, lihat Izinkan pengguna mengakses Amazon Q dengan langganan Amazon Q Developer Pro.

Anda dapat menggunakan kebijakan di bawah ini seperti yang tertulis, atau Anda dapat menambahkan izin untuk masing-masing fitur Amazon Q yang ingin Anda gunakan. Untuk contoh kebijakan yang dapat Anda buat untuk mengizinkan akses ke fitur tertentu, lihatContoh kebijakan berbasis identitas untuk Pengembang Amazon Q.

Untuk informasi selengkapnya tentang mengonfigurasi IAM izin dengan Amazon Q, lihat. Mengelola akses ke Amazon Q Developer dengan kebijakan

Untuk informasi selengkapnya tentang apa yang dilakukan izin ini, lihat. Referensi izin Pengembang Amazon Q

Izinkan administrator menggunakan konsol manajemen layanan Amazon Q

Kebijakan berikut memberdayakan pengguna untuk menggunakan konsol manajemen layanan Amazon Q. Ini adalah konsol tempat Anda mengonfigurasi integrasi Amazon Q dengan IAM Identity Center dan AWS Organizations, dan di mana Anda memilih paket Amazon Q mana yang akan berlangganan.

Untuk sepenuhnya mengatur langganan Amazon Q Pro Anda, seseorang di perusahaan Anda juga akan memerlukan akses ke konsol Amazon Q Pro. Untuk informasi selengkapnya, lihat Menetapkan izin untuk menggunakan konsol Amazon Q Developer Pro.

catatan

codewhispererAwalan adalah nama lama dari layanan yang digabungkan dengan Amazon Q Developer. Untuk informasi selengkapnya, lihat Ganti nama Pengembang Amazon Q - Ringkasan perubahan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "organizations:ListAWSServiceAccessForOrganization", "organizations:DisableAWSServiceAccess", "organizations:EnableAWSServiceAccess", "organizations:DescribeOrganization" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "sso:ListApplications", "sso:ListInstances", "sso:DescribeRegisteredRegions", "sso:GetSharedSsoConfiguration", "sso:DescribeInstance", "sso:CreateApplication", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationAssignmentConfiguration", "sso:PutApplicationGrant", "sso:PutApplicationAccessScope", "sso:DescribeApplication", "sso:DeleteApplication", "sso:GetSSOStatus", "sso:CreateApplicationAssignment", "sso:DeleteApplicationAssignment" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "sso-directory:DescribeUsers", "sso-directory:DescribeGroups", "sso-directory:SearchGroups", "sso-directory:SearchUsers", "sso-directory:DescribeGroup", "sso-directory:DescribeUser", "sso-directory:DescribeDirectory" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "signin:ListTrustedIdentityPropagationApplicationsForConsole", "signin:CreateTrustedIdentityPropagationApplicationForConsole" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "codewhisperer:ListProfiles", "codewhisperer:CreateProfile", "codewhisperer:DeleteProfile" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "user-subscriptions:ListClaims", "user-subscriptions:ListUserSubscriptions", "user-subscriptions:CreateClaim", "user-subscriptions:DeleteClaim", "user-subscriptions:UpdateClaim" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "q:CreateAssignment", "q:DeleteAssignment" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": [ "arn:aws:iam::*:role/aws-service-role/user-subscriptions.amazonaws.com/AWSServiceRoleForUserSubscriptions" ] } ] }

Izinkan administrator mengonfigurasi konsol Amazon Q Developer Pro

Kebijakan berikut memberdayakan pengguna untuk mengakses konsol Amazon Q Developer Pro. Di konsol itu, Anda dapat melampirkan pengguna dan grup ke langganan, dan mengonfigurasi berbagai aspek Pengembang Amazon Q yang berkaitan dengan fitur tertentu, seperti referensi kode.

Untuk sepenuhnya mengatur langganan Amazon Q Pro Anda, seseorang di perusahaan Anda juga akan memerlukan akses ke konsol manajemen layanan Amazon Q. Untuk informasi selengkapnya, lihat Izinkan administrator menggunakan konsol manajemen layanan Amazon Q.

catatan

codewhispererAwalan adalah nama lama dari layanan yang digabungkan dengan Amazon Q Developer. Untuk informasi selengkapnya, lihat Ganti nama Pengembang Amazon Q - Ringkasan perubahan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sso-directory:GetUserPoolInfo" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "iam:ListRoles" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "sso:DescribeRegisteredRegions", "sso:GetSSOStatus" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "organizations:DescribeAccount", "organizations:DescribeOrganization" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:CreateGrant", "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey*", "kms:RetireGrant", "kms:DescribeKey" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "codeguru-security:UpdateAccountConfiguration" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": [ "arn:aws:iam::*:role/aws-service-role/q.amazonaws.com/AWSServiceRoleForAmazonQDeveloper" ] }, { "Effect": "Allow", "Action": [ "codewhisperer:UpdateProfile", "codewhisperer:ListProfiles", "codewhisperer:TagResource", "codewhisperer:UnTagResource", "codewhisperer:ListTagsForResource", "codewhisperer:CreateProfile" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:GetMetricData", "cloudwatch:ListMetrics" ], "Resource": [ "*" ] } ] }

Untuk CodeWhisperer profil Amazon lama, kebijakan berikut akan memungkinkan IAM prinsipal untuk mengelola aplikasi. CodeWhisperer

catatan

codewhispererAwalan adalah nama lama dari layanan yang digabungkan dengan Amazon Q Developer. Untuk informasi selengkapnya, lihat Ganti nama Pengembang Amazon Q - Ringkasan perubahan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sso-directory:SearchUsers", "sso-directory:SearchGroups", "sso-directory:GetUserPoolInfo", "sso-directory:DescribeDirectory", "sso-directory:ListMembersInGroup" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "iam:ListRoles" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "pricing:GetProducts" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "sso:AssociateProfile", "sso:DisassociateProfile", "sso:GetProfile", "sso:ListProfiles", "sso:ListApplicationInstances", "sso:GetApplicationInstance", "sso:CreateManagedApplicationInstance", "sso:GetManagedApplicationInstance", "sso:ListProfileAssociations", "sso:GetSharedSsoConfiguration", "sso:ListDirectoryAssociations", "sso:DescribeRegisteredRegions", "sso:GetSsoConfiguration", "sso:GetSSOStatus" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "identitystore:ListUsers", "identitystore:ListGroups" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "organizations:DescribeAccount", "organizations:DescribeOrganization" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:CreateGrant", "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey*", "kms:RetireGrant", "kms:DescribeKey" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "codeguru-security:UpdateAccountConfiguration" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": [ "arn:aws:iam::*:role/aws-service-role/q.amazonaws.com/AWSServiceRoleForAmazonQDeveloper" ] }, { "Effect": "Allow", "Action": [ "codewhisperer:UpdateProfile", "codewhisperer:ListProfiles", "codewhisperer:TagResource", "codewhisperer:UnTagResource", "codewhisperer:ListTagsForResource", "codewhisperer:CreateProfile" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:GetMetricData", "cloudwatch:ListMetrics" ], "Resource": [ "*" ] } ] }
catatan

Jika Anda menggunakan Kustomisasi, administrator Pengembang Amazon Q Anda akan memerlukan izin tambahan. Untuk informasi selengkapnya, lihat Prasyarat untuk penyesuaian.

Untuk mempelajari IAM kebijakan selengkapnya, lihat Manajemen Akses di Panduan IAM Pengguna.

Tambahkan IAM izin untuk Amazon Q di situs web AWS

Untuk menggunakan fitur Pengembang Amazon Q di AWS aplikasi dan situs web, Anda harus melampirkan izin AWS Identity and Access Management (IAM) yang sesuai. Berikut ini adalah contoh kebijakan yang dapat Anda gunakan untuk mengakses sebagian besar fitur Amazon Q di AWS aplikasi dan situs web:

catatan

Ketersediaan fitur Amazon Q tergantung pada lingkungan tempat Anda menggunakan Amazon Q. Lihat topik untuk fitur yang ingin Anda gunakan untuk informasi selengkapnya tentang di mana Anda dapat mengaksesnya dan izin spesifik yang Anda perlukan untuk menggunakannya.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "q:SendMessage", "q:StartConversation", "q:GetConversation", "q:ListConversations", "q:GetIdentityMetaData", "q:StartTroubleshootingAnalysis", "q:GetTroubleshootingResults", "q:StartTroubleshootingResolutionExplanation", "q:UpdateTroubleshootingCommandResult", "q:PassRequest" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "ce:GetCostAndUsage" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "sts:setContext" ], "Resource": [ "arn:aws:sts::*:self" ] } ] }

Izinkan pengguna mengakses Amazon Q dengan langganan Amazon Q Developer Pro

Contoh kebijakan berikut memberikan izin untuk menggunakan Amazon Q dengan langganan Amazon Q Developer Pro. Tanpa izin ini, pengguna hanya dapat mengakses Tingkat Gratis Amazon Q. Untuk mengobrol dengan Amazon Q atau menggunakan fitur Amazon Q lainnya, pengguna memerlukan izin tambahan, seperti yang diberikan oleh kebijakan contoh di bagian ini.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGetIdentity", "Effect": "Allow", "Action": [ "q:GetIdentityMetaData" ], "Resource": "*" }, { "Sid": "AllowSetTrustedIdentity", "Effect": "Allow", "Action": [ "sts:SetContext" ], "Resource": "arn:aws:sts::*:self" } ] }

Izinkan pengguna untuk mengobrol dengan Amazon Q

Contoh kebijakan berikut memberikan izin untuk mengobrol dengan Amazon Q di konsol.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAmazonQConversationAccess", "Effect": "Allow", "Action": [ "q:StartConversation", "q:SendMessage", "q:GetConversation", "q:ListConversations" ], "Resource": "*" } ] }

Izinkan pengguna mendiagnosis kesalahan konsol dengan Amazon Q

Contoh kebijakan berikut memberikan izin untuk mendiagnosis kesalahan konsol dengan Amazon Q.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAmazonQTroubleshooting", "Effect": "Allow", "Action": [ "q:StartTroubleshootingAnalysis", "q:GetTroubleshootingResults", "q:StartTroubleshootingResolutionExplanation", "q:UpdateTroubleshootingCommandResult" ], "Resource": "*" } ] }

Izinkan Amazon Q melakukan tindakan atas nama Anda

Contoh kebijakan berikut memberikan izin untuk mengobrol dengan Amazon Q, dan memungkinkan Amazon Q untuk melakukan tindakan atas nama Anda. Amazon Q hanya memiliki izin untuk melakukan tindakan yang diizinkan oleh IAM identitas Anda untuk dilakukan.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAmazonQPassRequest", "Effect": "Allow", "Action": [ "q:StartConversation", "q:SendMessage", "q:GetConversation", "q:ListConversations", "q:PassRequest" ], "Resource": "*" } ] }

Tolak izin Amazon Q untuk melakukan tindakan tertentu atas nama Anda

Contoh kebijakan berikut memberikan izin untuk mengobrol dengan Amazon Q, dan memungkinkan Amazon Q untuk melakukan tindakan apa pun atas nama Anda yang diizinkan oleh IAM identitas Anda, kecuali untuk EC2 tindakan Amazon. Kebijakan ini menggunakan kunci kondisi aws:CalledVia global untuk menentukan bahwa EC2 tindakan Amazon hanya ditolak saat Amazon Q memanggilnya.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "q:StartConversation", "q:SendMessage", "q:GetConversation", "q:ListConversations", "q:PassRequest" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "ec2:*" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": ["q.amazonaws.com"] } } } ] }

Izinkan izin Amazon Q untuk melakukan tindakan tertentu atas nama Anda

Contoh kebijakan berikut memberikan izin untuk mengobrol dengan Amazon Q, dan memungkinkan Amazon Q untuk melakukan tindakan apa pun atas nama Anda yang diizinkan oleh IAM identitas Anda, kecuali EC2 tindakan Amazon. Kebijakan ini memberikan izin IAM identitas Anda untuk melakukan EC2 tindakan Amazon apa pun, tetapi hanya mengizinkan Amazon Q untuk melakukan ec2:describeInstances tindakan tersebut. Kebijakan ini menggunakan kunci kondisi aws:CalledVia global untuk menentukan bahwa Amazon Q hanya diizinkan untuk meneleponec2:describeInstances, dan bukan EC2 tindakan Amazon lainnya.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "q:StartConversation", "q:SendMessage", "q:GetConversation", "q:ListConversations", "q:PassRequest" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:*" ], "Resource": "*", "Condition": { "ForAnyValue:StringNotEquals": { "aws:CalledVia": ["q.amazonaws.com"] } } }, { "Effect": "Allow", "Action": [ "ec2:describeInstances" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": ["q.amazonaws.com"] } } } ] }

Izinkan izin Amazon Q untuk melakukan tindakan atas nama Anda di wilayah tertentu

Contoh kebijakan berikut memberikan izin untuk mengobrol dengan Amazon Q, dan memungkinkan Amazon Q untuk melakukan panggilan hanya ke us-west-2 Wilayah us-east-1 dan saat melakukan tindakan atas nama Anda. Amazon Q tidak dapat melakukan panggilan ke Wilayah lain mana pun. Untuk informasi selengkapnya tentang cara menentukan Wilayah yang dapat Anda hubungi, lihat aws: RequestedRegion di Panduan AWS Identity and Access Management Pengguna.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "q:StartConversation", "q:SendMessage", "q:GetConversation", "q:ListConversations", "q:PassRequest" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": [ "us-east-1", "us-west-2" ] } } } ] }

Tolak izin Amazon Q untuk melakukan tindakan atas nama Anda

Contoh kebijakan berikut mencegah Amazon Q melakukan tindakan atas nama Anda.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAmazonQPassRequest", "Effect": "Deny", "Action": [ "q:PassRequest" ], "Resource": "*" } ] }

Tolak akses ke Amazon Q

Contoh kebijakan berikut menolak semua izin untuk menggunakan Amazon Q.

catatan

Menolak akses ke Amazon Q tidak akan menonaktifkan ikon Amazon Q atau panel obrolan di AWS konsol, AWS situs web, halaman AWS dokumentasi, atau AWS Console Mobile Application.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAmazonQFullAccess", "Effect": "Deny", "Action": [ "q:*" ], "Resource": "*" } ] }

Memungkinkan pengguna untuk melihat izin mereka

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": "*" } ] }