Ejemplos de políticas basadas en la identidad para desarrolladores de Amazon Q - 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.

Ejemplos de políticas basadas en la identidad para desarrolladores de Amazon Q

El siguiente ejemplo de IAM políticas controla los permisos de varias acciones de Amazon Q Developer. Utilícelas para permitir o denegar el acceso de los desarrolladores de Amazon Q a sus usuarios, funciones o grupos.

Para ver una lista de todos los permisos de Amazon Q que puedes controlar con políticas, consulta laReferencia de permisos para desarrolladores de Amazon Q.

nota

Los siguientes ejemplos de políticas conceden permisos para las funciones de Amazon Q Developer, pero es posible que los usuarios necesiten permisos adicionales para acceder a Amazon Q con una suscripción a Amazon Q Developer Pro. Para obtener más información, consulte Permita que los usuarios accedan a Amazon Q con una suscripción a Amazon Q Developer Pro.

Puedes usar las siguientes políticas tal y como están escritas, o puedes añadir permisos para las funciones individuales de Amazon Q que quieras usar. Para ver ejemplos de políticas que puedes crear para permitir el acceso a funciones específicas, consultaEjemplos de políticas basadas en la identidad para desarrolladores de Amazon Q.

Para obtener más información sobre la configuración de IAM permisos con Amazon Q, consulteGestione el acceso a Amazon Q Developer con políticas.

Para obtener más información sobre lo que hacen estos permisos, consulte laReferencia de permisos para desarrolladores de Amazon Q.

Permitir que un administrador utilice la consola de administración de servicios Amazon Q

La siguiente política permite a los usuarios utilizar la consola de administración de servicios Amazon Q. Esta es la consola en la que se configura la integración de Amazon Q con IAM Identity Center y AWS Organizations en la que se elige el paquete de Amazon Q al que se va a suscribir.

Para configurar completamente tu suscripción a Amazon Q Pro, alguien de tu empresa también necesitará acceder a la consola Amazon Q Pro. Para obtener más información, consulte Asignación de permisos para usar la consola Amazon Q Developer Pro.

nota

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

{ "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 un administrador configure la consola Amazon Q Developer Pro

La siguiente política permite a los usuarios acceder a la consola Amazon Q Developer Pro. En esa consola, puede adjuntar usuarios y grupos a las suscripciones y configurar varios aspectos de Amazon Q Developer relacionados con funciones específicas, como las referencias de código.

Para configurar completamente tu suscripción a Amazon Q Pro, alguien de tu empresa también necesitará acceder a la consola de administración de servicios de Amazon Q. Para obtener más información, consulte Permitir que un administrador utilice la consola de administración de servicios Amazon Q.

nota

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

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

En el caso de CodeWhisperer los perfiles antiguos de Amazon, la siguiente política permitirá a un IAM director administrar una CodeWhisperer solicitud.

nota

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

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

Si utilizas personalizaciones, el administrador de Amazon Q Developer necesitará permisos adicionales. Para obtener más información, consulte Requisitos previos para las personalizaciones.

Para obtener más información sobre IAM las políticas, consulte Administración del acceso en la Guía del IAMusuario.

Añadir IAM permisos para Amazon Q en AWS sitios web

Para utilizar las funciones de Amazon Q Developer en AWS aplicaciones y sitios web, debes adjuntar los permisos correspondientes AWS Identity and Access Management (IAM). El siguiente es un ejemplo de política que puedes usar para acceder a la mayoría de las funciones de Amazon Q en AWS aplicaciones y sitios web:

nota

La disponibilidad de las funciones de Amazon Q depende del entorno en el que utilice Amazon Q. Consulte el tema de la función que desee utilizar para obtener más información sobre dónde puede acceder a ella y los permisos específicos que necesita para utilizarla.

{ "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 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 funciones de Amazon Q, los usuarios necesitan permisos adicionales, como los que se otorgan en las políticas de ejemplo de esta sección.

{ "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 a los usuarios chatear con Amazon Q

El siguiente ejemplo de política otorga permisos para chatear con Amazon Q en la consola.

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

Permita a los usuarios diagnosticar errores de consola con Amazon Q

El siguiente ejemplo de política concede permisos para diagnosticar errores de consola con Amazon Q.

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

Permita que Amazon Q lleve a cabo acciones en su nombre

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

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

Denegar a Amazon Q el permiso para realizar acciones específicas en tu 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 IAM identidad 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.

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

Concédele permiso a Amazon Q para realizar acciones específicas en tu 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 IAM identidad tenga permiso para realizar, con la excepción de EC2 las acciones de Amazon. Esta política concede a tu IAM identidad 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.

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

Conceda 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 únicamente a us-west-2 las regiones us-east-1 y cuando realiza acciones en tu 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.

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

Denegar a Amazon Q el permiso para realizar acciones en tu nombre

El siguiente ejemplo de política impide que Amazon Q lleve a cabo acciones en tu nombre.

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

Denegación de acceso a Amazon Q

El siguiente ejemplo de política deniega todos los permisos para usar Amazon Q.

nota

Al denegar el acceso a Amazon Q no se inhabilitará el icono o el panel de chat de Amazon Q en la AWS consola, el AWS sitio web, las páginas de AWS documentación o AWS Console Mobile Application.

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

Permita a los usuarios ver sus permisos

En este ejemplo, se muestra cómo se puede crear una política que permita a IAM los usuarios ver las políticas integradas y administradas asociadas a su identidad de usuario. Esta política incluye permisos para completar esta acción en la consola o mediante programación mediante la tecla o. 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": "*" } ] }