Exemplos de políticas baseadas em identidade para o Amazon Q Developer - Amazon Q Developer

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplos de políticas baseadas em identidade para o Amazon Q Developer

O exemplo de IAM políticas a seguir controla as permissões para várias ações do Amazon Q Developer. Use-os para permitir ou negar o acesso do Amazon Q Developer para seus usuários, funções ou grupos.

Para obter uma lista de todas as permissões do Amazon Q que você pode controlar com políticas, consulte Referência de permissões do Amazon Q Developer o.

nota

O exemplo de políticas a seguir concede permissões para recursos do Amazon Q Developer, mas os usuários podem precisar de permissões adicionais para acessar o Amazon Q com uma assinatura do Amazon Q Developer Pro. Para obter mais informações, consulte Permita que os usuários acessem o Amazon Q com uma assinatura do Amazon Q Developer Pro.

Você pode usar as políticas abaixo conforme estão escritas ou adicionar permissões para os recursos individuais do Amazon Q que você deseja usar. Para obter exemplos de políticas que você pode criar para permitir o acesso a recursos específicos, consulteExemplos de políticas baseadas em identidade para o Amazon Q Developer.

Para obter mais informações sobre a configuração de IAM permissões com o Amazon Q, consulteGerencie o acesso ao Amazon Q Developer com políticas.

Para obter mais informações sobre o que essas permissões fazem, consulte Referência de permissões do Amazon Q Developer o.

Permitir que um administrador use o console de gerenciamento de serviços Amazon Q

A política a seguir capacita o usuário a usar o console de gerenciamento de serviços Amazon Q. Esse é o console em que você configura a integração do Amazon Q com o IAM Identity Center e AWS Organizations escolhe qual pacote do Amazon Q deseja assinar.

Para configurar totalmente sua assinatura do Amazon Q Pro, alguém em sua empresa também precisará acessar o console do Amazon Q Pro. Para obter mais informações, consulte Atribuição de permissões para usar o console Amazon Q Developer Pro.

nota

O codewhisperer prefixo é um nome antigo de um serviço que se fundiu com o Amazon Q Developer. Para obter mais informações, consulte Renomeação do Amazon Q Developer - Resumo das alterações.

{ "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" ] } ] }

Permitir que um administrador configure o console Amazon Q Developer Pro

A política a seguir capacita o usuário a acessar o console Amazon Q Developer Pro. Nesse console, você pode anexar usuários e grupos às assinaturas e configurar vários aspectos do Amazon Q Developer relacionados a recursos específicos, como referências de código.

Para configurar totalmente sua assinatura do Amazon Q Pro, alguém em sua empresa também precisará acessar o console de gerenciamento de serviços do Amazon Q. Para obter mais informações, consulte Permitir que um administrador use o console de gerenciamento de serviços Amazon Q.

nota

O codewhisperer prefixo é um nome antigo de um serviço que se fundiu com o Amazon Q Developer. Para obter mais informações, consulte Renomeação do Amazon Q Developer - Resumo das alterações.

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

Para CodeWhisperer perfis antigos da Amazon, a política a seguir permitirá que um IAM diretor administre um CodeWhisperer aplicativo.

nota

O codewhisperer prefixo é um nome antigo de um serviço que se fundiu com o Amazon Q Developer. Para obter mais informações, consulte Renomeação do Amazon Q Developer - Resumo das alterações.

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

Se você estiver usando personalizações, seu administrador do Amazon Q Developer precisará de permissões adicionais. Para obter mais informações, consulte Pré-requisitos para personalizações.

Para saber mais sobre IAM políticas, consulte Gerenciamento de acesso no Guia IAM do usuário.

Adicione IAM permissões para o Amazon Q em AWS sites

Para usar os recursos do Amazon Q Developer em AWS aplicativos e sites, você deve anexar as permissões apropriadas AWS Identity and Access Management (IAM). Veja a seguir um exemplo de política que você pode usar para acessar a maioria dos recursos do Amazon Q em AWS aplicativos e sites:

nota

A disponibilidade dos recursos do Amazon Q depende do ambiente em que você usa o Amazon Q. Consulte o tópico do recurso que você deseja usar para obter mais informações sobre onde você pode acessá-lo e as permissões específicas necessárias para usá-lo.

{ "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" ] } ] }

Permita que os usuários acessem o Amazon Q com uma assinatura do Amazon Q Developer Pro

O exemplo de política a seguir concede permissão para usar o Amazon Q com uma assinatura do Amazon Q Developer Pro. Sem essas permissões, os usuários só podem acessar o nível gratuito do Amazon Q. Para conversar com o Amazon Q ou usar outros recursos do Amazon Q, os usuários precisam de permissões adicionais, como as concedidas pelas políticas de exemplo nesta seção.

{ "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" } ] }

Permita que os usuários conversem com o Amazon Q

O exemplo de política a seguir concede permissões para conversar com o Amazon Q no console.

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

Permita que os usuários diagnostiquem erros do console com o Amazon Q

O exemplo de política a seguir concede permissões para diagnosticar erros do console com o Amazon Q.

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

Permita que o Amazon Q realize ações em seu nome

O exemplo de política a seguir concede permissão para conversar com a Amazon Q e permite que a Amazon Q execute ações em seu nome. O Amazon Q só tem permissão para realizar ações que sua IAM identidade tem permissão para realizar.

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

Negue a permissão do Amazon Q para realizar ações específicas em seu nome

O exemplo de política a seguir concede permissão para conversar com o Amazon Q e permite que o Amazon Q execute qualquer ação em seu nome que sua IAM identidade tenha permissão para realizar, exceto EC2 as ações da Amazon. Essa política usa a chave de condição aws:CalledVia global para especificar que EC2 as ações da Amazon só são negadas quando a Amazon Q as chama.

{ "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"] } } } ] }

Permita que a Amazon Q realize ações específicas em seu nome

O exemplo de política a seguir concede permissão para conversar com o Amazon Q e permite que o Amazon Q execute qualquer ação em seu nome que sua IAM identidade tenha permissão para realizar, com exceção das EC2 ações da Amazon. Essa política concede à sua IAM identidade permissão para realizar qualquer EC2 ação da Amazon, mas só permite que a Amazon Q execute a ec2:describeInstances ação. Essa política usa a chave de condição aws:CalledVia global para especificar que o Amazon Q só tem permissão para fazer chamadasec2:describeInstances, e não qualquer outra EC2 ação da Amazon.

{ "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"] } } } ] }

Permita que o Amazon Q realize ações em seu nome em regiões específicas

O exemplo de política a seguir concede permissão para conversar com o Amazon Q e permite que o Amazon Q faça chamadas somente para us-west-2 as regiões us-east-1 e ao realizar ações em seu nome. O Amazon Q não pode fazer chamadas para nenhuma outra região. Para obter mais informações sobre como especificar para quais regiões você pode fazer chamadas, consulte aws: RequestedRegion no Guia do AWS Identity and Access Management usuário.

{ "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" ] } } } ] }

Negue a permissão do Amazon Q para realizar ações em seu nome

O exemplo de política a seguir impede que o Amazon Q execute ações em seu nome.

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

Negar acesso ao Amazon Q

O exemplo de política a seguir nega todas as permissões para usar o Amazon Q.

nota

Negar acesso ao Amazon Q não desativará o ícone do Amazon Q ou o painel de bate-papo no AWS console, no AWS site, nas páginas de AWS documentação ou AWS Console Mobile Application.

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

Permitir que os usuários visualizem suas permissões

Este exemplo mostra como você pode criar uma política que permita IAM aos usuários visualizar as políticas embutidas e gerenciadas que estão anexadas à identidade do usuário. Essa política inclui permissões para concluir essa ação no console ou programaticamente usando o AWS CLI ou. 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": "*" } ] }