Permissões de usuário - 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á.

Permissões de usuário

As políticas a seguir permitem que os usuários acessem recursos do Amazon Q Developer em AWS aplicativos e sites Console de gerenciamento da AWS AWS Console Mobile Application, incluindo o AWS Documentation site, e.

Para políticas que permitem o acesso administrativo ao Amazon Q Developer, consulte Permissões de administrador.

nota

Os usuários que acessam o Amazon Q no IDE ou o Amazon Q na linha de comando não precisam de permissões do IAM.

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 atributos do Amazon Q, os usuários precisam de permissões adicionais, como as concedidas pelas políticas de exemplo nesta seção.

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

Permitir o acesso do Amazon Q às chaves gerenciadas pelo cliente

A política de exemplo a seguir concede aos usuários permissões para acessar recursos criptografados com uma chave gerenciada pelo cliente, permitindo que o Amazon Q acesse a chave. Essa política é necessária para usar o Amazon Q se um administrador tiver configurado uma chave gerenciada pelo cliente para criptografia.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "QKMSDecryptGenerateDataKeyPermissions", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:ReEncryptFrom", "kms:ReEncryptTo" ], "Resource": [ "arn:aws:kms:us-east-1:111122223333:key/key_id" ], "Condition": { "StringLike": { "kms:ViaService": [ "q.us-east-1.amazonaws.com" ] } } } ] }

Permitir que os usuários tenham conversas com o Amazon Q

A política do exemplo a seguir concede permissões para conversas com o Amazon Q no console.

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

Permitir que os usuários usem a CLI do Amazon Q com o AWS CloudShell

O exemplo de política a seguir concede permissões para usar o Amazon Q CLI com. AWS CloudShell

nota

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

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codewhisperer:GenerateRecommendations", "codewhisperer:ListCustomizations" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "q:StartConversation", "q:SendMessage" ], "Resource": "*" } ] }

Permitir que os usuários executem transformações na linha de comandos

O exemplo de política a seguir concede permissões para transformar código com a ferramenta de linha de comando Amazon Q para transformações. Essa política não afeta o acesso ao Amazon Q na linha de comando.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "qdeveloper:StartAgentSession", "qdeveloper:ImportArtifact", "qdeveloper:ExportArtifact", "qdeveloper:TransformCode" ], "Resource": "*" } ] }

Permitir que os usuários façam o diagnóstico de erros do console com o Amazon Q

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

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

Permitir que os usuários gerem código a partir de comandos da CLI com o Amazon Q

O exemplo de política a seguir concede permissões para gerar código a partir de comandos CLI gravados com o Amazon Q, o que permite o uso do Console-to-Code recurso.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowAmazonQConsoleToCode", "Effect": "Allow", "Action": "q:GenerateCodeFromCommands", "Resource": "*" } ] }

Permitir que os usuários tenham conversas sobre recursos com o Amazon Q

A política de exemplo a seguir concede permissão para conversar com o Amazon Q sobre recursos e permite que o Amazon Q recupere informações sobre recursos em seu nome. O Amazon Q só tem permissão para acessar recursos aos quais sua identidade do IAM tem permissão.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowAmazonQPassRequest", "Effect": "Allow", "Action": [ "q:StartConversation", "q:SendMessage", "q:GetConversation", "q:ListConversations", "q:UpdateConversation", "q:DeleteConversation", "q:PassRequest" ], "Resource": "*" }, { "Sid": "AllowCloudControlReadAccess", "Effect": "Allow", "Action": [ "cloudformation:GetResource", "cloudformation:ListResources" ], "Resource": "*" } ] }

Permitir que o Amazon Q execute ações em seu nome no bate-papo

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

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

Permitir que o Amazon Q acesse dados de custos e forneça recomendações de otimização de custos

A política de exemplo a seguir concede permissão para conversar com o Amazon Q sobre seus custos e permite que o Amazon Q acesse seus dados de custos e forneça recomendações de análise e otimização. Essa política inclui as permissões relevantes em AWS Cost Explorer Hub de Otimização de Custos da AWS, AWS Compute Optimizer e.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowAmazonQChatAndPassRequest", "Effect": "Allow", "Action": [ "q:StartConversation", "q:SendMessage", "q:GetConversation", "q:ListConversations", "q:UpdateConversation", "q:DeleteConversation", "q:PassRequest" ], "Resource": "*" }, { "Sid": "AllowCostAnalysis", "Effect": "Allow", "Action": [ "ce:GetCostAndUsage", "ce:GetCostForecast", "ce:GetTags", "ce:GetCostCategories", "ce:GetDimensionValues" ], "Resource": "*" }, { "Sid": "AllowCostOptimization", "Effect": "Allow", "Action": [ "cost-optimization-hub:GetRecommendation", "cost-optimization-hub:ListRecommendations", "cost-optimization-hub:ListRecommendationSummaries", "compute-optimizer:GetAutoScalingGroupRecommendations", "compute-optimizer:GetEBSVolumeRecommendations", "compute-optimizer:GetEC2InstanceRecommendations", "compute-optimizer:GetECSServiceRecommendations", "compute-optimizer:GetRDSDatabaseRecommendations", "compute-optimizer:GetLambdaFunctionRecommendations", "compute-optimizer:GetIdleRecommendations", "compute-optimizer:GetEffectiveRecommendationPreferences", "ce:GetReservationPurchaseRecommendation", "ce:GetSavingsPlansPurchaseRecommendation" ], "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 identidade do IAM 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.

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

Permitir que o 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 identidade do IAM tenha permissão para realizar, com exceção das EC2 ações da Amazon. Essa política concede permissão de identidade do IAM para realizar qualquer EC2 ação da Amazon, mas só permite que o 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.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "q:StartConversation", "q:SendMessage", "q:GetConversation", "q:ListConversations", "q:UpdateConversation", "q:DeleteConversation", "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"] } } } ] }

Permitir ao Amazon Q executar 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 as regiões us-east-1 e us-west-2 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.

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

Negar permissão ao 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.

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

Permitir que os usuários tenham conversas com plug-ins de um provedor

A política de exemplo a seguir concede permissão para conversar com qualquer plug-in de um determinado provedor que um administrador configurou especificado pelo ARN do plug-in com o nome do provedor e um caractere curinga (*). Se o plug-in for excluído e reconfigurado, um usuário com essas permissões reterá o acesso ao plug-in recém-configurado. Para usar essa política, substitua os seguintes campos no ARN no campo Resource:

  • AWS-region— O Região da AWS local onde o plugin foi criado.

  • AWS-account-ID— O ID da AWS conta em que seu plug-in está configurado.

  • plugin-provider— O nome do provedor de plug-in ao qual você deseja permitir acesso, como CloudZeroDatadog, ouWiz. O campo do provedor do plug-in diferencia maiúsculas de minúsculas.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowAmazonQConversationAccess", "Effect": "Allow", "Action": [ "q:StartConversation", "q:SendMessage", "q:GetConversation", "q:ListConversations", "q:UpdateConversation", "q:DeleteConversation" ], "Resource": "*" }, { "Sid": "AllowAmazonQPluginAccess", "Effect": "Allow", "Action": [ "q:UsePlugin" ], "Resource": "arn:aws:qdeveloper:us-east-1:111122223333:plugin/plugin-provider/*" } ] }

Permitir que os usuários tenham conversas com um plug-in específico

A política de exemplo a seguir concede permissão para conversas com um plug-in específico, especificado pelo ARN do plug-in. Se o plug-in for excluído e reconfigurado, o usuário não terá acesso ao novo plug-in, a menos que o ARN do plug-in seja atualizado nesta política. Para usar essa política, substitua os seguintes campos no ARN no campo Resource:

  • AWS-region— O Região da AWS local onde o plugin foi criado.

  • AWS-account-ID— O ID da AWS conta em que seu plug-in está configurado.

  • plugin-provider— O nome do provedor de plug-in ao qual você deseja permitir acesso, como CloudZeroDatadog, ouWiz. O campo do provedor do plug-in diferencia maiúsculas de minúsculas.

  • plugin-ARN— O ARN do plugin ao qual você deseja permitir o acesso.

Negar acesso ao Amazon Q

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

nota

Quando você nega o acesso ao Amazon Q, o ícone e o painel de bate-papo do Amazon Q ainda aparecerão no AWS console, no AWS site, nas páginas de AWS documentação ou AWS Console Mobile Application.

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

Permitir que usuários visualizem suas próprias permissões

Este exemplo mostra como criar uma política que permita que os usuários do IAM visualizem as políticas gerenciadas e em linha anexadas a sua identidade de usuário. Essa política inclui permissões para concluir essa ação no console ou programaticamente usando a API AWS CLI ou 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": "*" } ] }