Permisos de usuario - Amazon Q Developer

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Permisos de usuario

Las siguientes políticas permiten a los usuarios acceder a las funciones de Amazon Q Developer en AWS aplicaciones y sitios web, incluidos el AWS Management Console AWS Documentation sitio y el sitio. AWS Console Mobile Application

Para ver las políticas que permiten el acceso administrativo a Amazon Q Developer, consulte Permisos de administrador.

nota

Los usuarios que acceden a Amazon Q en el IDE o a Amazon Q en la línea de comandos no necesitan permisos de IAM.

Permiso para que los usuarios accedan a Amazon Q con una suscripción a Amazon Q Developer Pro

El siguiente ejemplo de política otorga permiso para usar Amazon Q con una suscripción a Amazon Q Developer Pro. Sin estos permisos, los usuarios solo pueden acceder a la capa gratuita de Amazon Q. Para chatear con Amazon Q o utilizar otras características de Amazon Q, los usuarios necesitan permisos adicionales, como los que se conceden en las políticas de ejemplo de esta sección.

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

Permiso para que Amazon Q obtenga acceso a claves administradas por el cliente

En la siguiente política de ejemplo se conceden permisos a los usuarios para obtener acceso a características cifradas con una clave administrada por el cliente al permitir que Amazon Q tenga acceso a la clave. Esta política es necesaria para utilizar Amazon Q si un administrador ha configurado una clave administrada por el cliente para el cifrado.

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

Permiso a los usuarios para chatear con Amazon Q

En la siguiente política de ejemplo se conceden permisos para chatear con Amazon Q en la consola.

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

Permiso a los usuarios para utilizar la CLI de Amazon Q con AWS CloudShell

El siguiente ejemplo de política otorga permisos para usar Amazon Q CLI con AWS CloudShell.

nota

El prefijo codewhisperer es un nombre heredado de un servicio que se fusionó con Amazon Q Developer. Para obtener más información, consulte Cambio de nombres de Amazon Q Developer: resumen de cambios.

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

Permiso a los usuarios para ejecutar transformaciones en la línea de comandos

El siguiente ejemplo de política concede permisos para transformar código con la herramienta de línea de comandos Amazon Q para las transformaciones. Esta política no afecta al acceso a Amazon Q desde la línea de comandos.

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

Permiso a los usuarios para diagnosticar errores de la consola con Amazon Q

En la siguiente política de ejemplo se conceden permisos para diagnosticar errores de consola con 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": "*" } ] }

Permiso a los usuarios para generar código a partir de comandos de CLI con Amazon Q

El siguiente ejemplo de política concede permisos para generar código a partir de comandos CLI grabados con Amazon Q, lo que permite el uso de la Console-to-Code función.

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

Permiso a los usuarios para chatear sobre los recursos con Amazon Q

En la siguiente política de ejemplo se concede permiso para chatear sobre los recursos con Amazon Q y se permite a Amazon Q recuperar información sobre los recursos en su nombre. Amazon Q solo tiene permiso para acceder a los recursos para los que la identidad de IAM tenga permiso.

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

Permiso a Amazon Q para que realice acciones en su nombre en el chat

El siguiente ejemplo de política otorga permiso para chatear con Amazon Q y permite a Amazon Q realizar acciones en su nombre. Amazon Q solo tiene permiso para realizar acciones para las que su identidad de IAM tenga permiso.

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

Permiso para que Amazon Q obtenga acceso a los datos de costos y proporcione recomendaciones sobre la optimización de los costos

En la siguiente política de ejemplo se concede permiso para chatear con Amazon Q sobre los costos y se permite a Amazon Q obtener acceso a los datos de costos y proporcionar análisis de costos y recomendaciones sobre la optimización. Esta política incluye los permisos pertinentes en AWS Cost Explorer Centro de optimización de costes de AWS, y AWS Compute Optimizer.

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

Denegación del permiso a Amazon Q para realizar acciones específicas en su nombre

El siguiente ejemplo de política otorga permiso para chatear con Amazon Q y permite a Amazon Q realizar cualquier acción en tu nombre que tu identidad de IAM tenga permiso para realizar, excepto EC2 las acciones de Amazon. Esta política utiliza la clave de condición aws:CalledVia global para especificar que EC2 las acciones de Amazon solo se deniegan cuando Amazon Q las llama.

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

Permiso a Amazon Q para realizar acciones específicas en su nombre

El siguiente ejemplo de política otorga permiso para chatear con Amazon Q y permite a Amazon Q realizar cualquier acción en tu nombre que tu identidad de IAM tenga permiso para realizar, con la excepción de EC2 las acciones de Amazon. Esta política concede a tu identidad de IAM permiso para realizar cualquier EC2 acción de Amazon, pero solo permite que Amazon Q la ec2:describeInstances lleve a cabo. Esta política utiliza la clave de condición aws:CalledVia global para especificar que Amazon Q solo puede realizar llamadas ec2:describeInstances y no ninguna otra EC2 acción de 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"] } } } ] }

Permiso a Amazon Q para realizar acciones en su nombre en regiones específicas

El siguiente ejemplo de política otorga permiso para chatear con Amazon Q y permite a Amazon Q realizar llamadas solo a las regiones us-east-1 y us-west-2 cuando realice acciones en su nombre. Amazon Q no puede realizar llamadas a ninguna otra región. Para obtener más información sobre cómo especificar las regiones a las que puedes hacer llamadas, consulta aws: RequestedRegion en la Guía del AWS Identity and Access Management usuario.

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

Denegación del permiso a Amazon Q para realizar acciones en su nombre

En la siguiente política de ejemplo se impide que Amazon Q realice acciones en su nombre.

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

Permiso a los usuarios para chatear con complementos de un proveedor

En la siguiente política de ejemplo se concede permiso para chatear con cualquier complemento de un determinado proveedor que configure un administrador, especificado por el ARN del complemento con el nombre del proveedor del complemento y un carácter comodín (*). Si el complemento se elimina y se vuelve a configurar, un usuario con estos permisos retendrá el acceso al complemento recién configurado. Para usar esta política, sustituya lo siguiente en el ARN del campo Resource:

  • AWS-region— El Región de AWS lugar donde se creó el complemento.

  • AWS-account-ID— El ID de AWS cuenta de la cuenta en la que está configurado el complemento.

  • plugin-provider— El nombre del proveedor del plugin al que quieres permitir el acceso, como CloudZeroDatadog, oWiz. El campo del proveedor del complemento distingue entre mayúsculas y 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/*" } ] }

Permiso a los usuarios para chatear con un determinado complemento

En la siguiente política de ejemplo se concede permiso para chatear con un determinado complemento, especificado por el ARN del complemento. Si el complemento se elimina y se vuelve a configurar, el usuario no tendrá acceso al nuevo complemento a no ser que el ARN del complemento se actualice en esta política. Para usar esta política, sustituya lo siguiente en el ARN del campo Resource:

  • AWS-region— El Región de AWS lugar donde se creó el plugin.

  • AWS-account-ID— El ID de AWS cuenta de la cuenta en la que está configurado el complemento.

  • plugin-provider— El nombre del proveedor del plugin al que quieres permitir el acceso, como CloudZeroDatadog, oWiz. El campo del proveedor del complemento distingue entre mayúsculas y minúsculas.

  • plugin-ARN— El ARN del plugin al que quieres permitir el acceso.

Denegación de acceso a Amazon Q

En la siguiente política de ejemplo se deniegan todos los permisos para usar Amazon Q.

nota

Si deniegas el acceso a Amazon Q, el icono y el panel de chat de Amazon Q seguirán apareciendo en la AWS consola, el AWS sitio web, las páginas de AWS documentación o AWS Console Mobile Application.

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

Permiso a los usuarios para consultar sus permisos

En este ejemplo, se muestra cómo podría crear una política que permita a los usuarios de IAM ver las políticas administradas e insertadas que se asocian a la identidad de sus usuarios. Esta política incluye permisos para completar esta acción en la consola o mediante programación mediante la API AWS CLI o 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": "*" } ] }