Exemples de politiques basées sur l'identité pour Amazon Q Developer - Développeur Amazon Q

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemples de politiques basées sur l'identité pour Amazon Q Developer

Les exemples de IAM politiques suivants contrôlent les autorisations pour diverses actions Amazon Q Developer. Utilisez-les pour autoriser ou refuser l'accès Amazon Q Developer à vos utilisateurs, rôles ou groupes.

Pour obtenir la liste de toutes les autorisations Amazon Q que vous pouvez contrôler à l'aide de politiques, consultez leRéférence des autorisations des développeurs Amazon Q.

Note

Les exemples de politiques suivants accordent des autorisations pour les fonctionnalités d'Amazon Q Developer, mais les utilisateurs peuvent avoir besoin d'autorisations supplémentaires pour accéder à Amazon Q avec un abonnement Amazon Q Developer Pro. Pour de plus amples informations, veuillez consulter Autoriser les utilisateurs à accéder à Amazon Q avec un abonnement Amazon Q Developer Pro.

Vous pouvez utiliser les politiques ci-dessous telles qu'elles sont rédigées, ou vous pouvez ajouter des autorisations pour les fonctionnalités Amazon Q individuelles que vous souhaitez utiliser. Pour des exemples de politiques que vous pouvez créer pour autoriser l'accès à des fonctionnalités spécifiques, consultezExemples de politiques basées sur l'identité pour Amazon Q Developer.

Pour plus d'informations sur la configuration IAM des autorisations avec Amazon Q, consultezGérez l'accès à Amazon Q Developer à l'aide de politiques.

Pour plus d'informations sur le rôle de ces autorisations, consultez leRéférence des autorisations des développeurs Amazon Q.

Autoriser un administrateur à utiliser la console de gestion des services Amazon Q

La politique suivante permet à un utilisateur d'utiliser la console de gestion des services Amazon Q. Il s'agit de la console dans laquelle vous configurez l'intégration d'Amazon Q à IAM Identity Center et AWS Organizations, choisissez le package Amazon Q auquel vous souhaitez vous abonner et associez des utilisateurs et des groupes aux abonnements.

Pour configurer complètement votre abonnement Amazon Q Pro, un membre de votre entreprise devra également accéder à la console Amazon Q Pro. Pour plus d'informations, consultez Attribuer des autorisations pour utiliser la console Amazon Q Developer Pro.

Note

Le codewhisperer préfixe est un ancien nom issu d'un service fusionné avec Amazon Q Developer. Pour de plus amples informations, veuillez consulter Changement du nom du développeur Amazon Q - Résumé des modifications.

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

Autoriser un administrateur à configurer la console Amazon Q Developer Pro

La politique suivante permet à un utilisateur d'accéder à la console Amazon Q Developer Pro. Sur cette console, vous pouvez configurer différents aspects d'Amazon Q Developer relatifs à des fonctionnalités spécifiques, telles que les références de code.

Pour configurer complètement votre abonnement Amazon Q Pro, un membre de votre entreprise devra également accéder à la console de gestion des services Amazon Q. Pour de plus amples informations, veuillez consulter Autoriser un administrateur à utiliser la console de gestion des services Amazon Q.

Note

Le codewhisperer préfixe est un ancien nom issu d'un service fusionné avec Amazon Q Developer. Pour de plus amples informations, veuillez consulter Changement du nom du développeur Amazon Q - Résumé des modifications.

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

Pour les anciens CodeWhisperer profils Amazon, la politique suivante permettra à un IAM mandant d'administrer une CodeWhisperer application.

Note

Le codewhisperer préfixe est un ancien nom issu d'un service fusionné avec Amazon Q Developer. Pour de plus amples informations, veuillez consulter Changement du nom du développeur Amazon Q - Résumé des modifications.

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

Si vous utilisez les personnalisations, votre administrateur Amazon Q Developer aura besoin d'autorisations supplémentaires. Pour plus d'informations, consultez la section Conditions requises pour les personnalisations.

Pour en savoir plus sur IAM les politiques, consultez la section Gestion des accès dans le guide de IAM l'utilisateur.

Ajouter IAM des autorisations pour Amazon Q sur AWS sites web

Pour utiliser les fonctionnalités d'Amazon Q Developer sur AWS applications et sites Web, vous devez joindre les éléments appropriés AWS Identity and Access Management (IAM) autorisations. Voici un exemple de politique que vous pouvez utiliser pour accéder à la plupart des fonctionnalités d'Amazon Q sur AWS applications et sites Web :

Note

La disponibilité des fonctionnalités d'Amazon Q dépend de l'environnement dans lequel vous utilisez Amazon Q. Consultez la rubrique relative à la fonctionnalité que vous souhaitez utiliser pour plus d'informations sur l'endroit où vous pouvez y accéder et les autorisations spécifiques dont vous avez besoin pour l'utiliser.

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

Autoriser les utilisateurs à accéder à Amazon Q avec un abonnement Amazon Q Developer Pro

L'exemple de politique suivant autorise l'utilisation d'Amazon Q avec un abonnement Amazon Q Developer Pro. Sans ces autorisations, les utilisateurs ne peuvent accéder qu'au niveau gratuit d'Amazon Q. Pour discuter avec Amazon Q ou utiliser d'autres fonctionnalités d'Amazon Q, les utilisateurs ont besoin d'autorisations supplémentaires, telles que celles accordées par les exemples de politiques présentés dans cette section.

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

Autoriser les utilisateurs à discuter avec Amazon Q

L'exemple de politique suivant accorde des autorisations pour discuter avec Amazon Q dans la console.

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

Permettre aux utilisateurs de diagnostiquer les erreurs de console avec Amazon Q

L'exemple de politique suivant accorde des autorisations pour diagnostiquer les erreurs de console avec Amazon Q.

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

Autoriser Amazon Q à effectuer des actions en votre nom

L'exemple de politique suivant accorde l'autorisation de discuter avec Amazon Q et permet à Amazon Q d'effectuer des actions en votre nom. Amazon Q est uniquement autorisé à effectuer des actions que votre IAM identité est autorisée à effectuer.

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

Refuser à Amazon Q l'autorisation d'effectuer des actions spécifiques en votre nom

L'exemple de politique suivant accorde l'autorisation de discuter avec Amazon Q et permet à Amazon Q d'effectuer toute action en votre nom que votre IAM identité est autorisée à effectuer, à l'exception EC2 des actions Amazon. Cette politique utilise la clé de condition aws:CalledVia globale pour spécifier que les EC2 actions Amazon ne sont refusées que lorsqu'Amazon Q les appelle.

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

Autorisez Amazon Q à effectuer des actions spécifiques en votre nom

L'exemple de politique suivant accorde l'autorisation de discuter avec Amazon Q et permet à Amazon Q d'effectuer toute action en votre nom que votre IAM identité est autorisée à effectuer, à l'exception des EC2 actions Amazon. Cette politique accorde à votre IAM identité l'autorisation d'effectuer toute EC2 action Amazon, mais autorise uniquement Amazon Q à effectuer cette ec2:describeInstances action. Cette politique utilise la clé de condition aws:CalledVia globale pour spécifier qu'Amazon Q est uniquement autorisé à appelerec2:describeInstances, et aucune autre EC2 action Amazon n'est autorisée.

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

Autorisez Amazon Q à effectuer des actions en votre nom dans des régions spécifiques

L'exemple de politique suivant accorde l'autorisation de discuter avec Amazon Q et permet à Amazon Q de passer des appels uniquement vers les us-west-2 régions us-east-1 et lorsqu'il effectue des actions en votre nom. Amazon Q ne peut passer d'appels vers aucune autre région. Pour plus d'informations sur la manière de spécifier les régions vers lesquelles vous pouvez passer des appels, consultez aws : RequestedRegion dans le AWS Identity and Access Management Guide de l'utilisateur.

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

Refuser à Amazon Q l'autorisation d'effectuer des actions en votre nom

L'exemple de politique suivant empêche Amazon Q d'effectuer des actions en votre nom.

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

Refuser l’accès à Amazon Q

L'exemple de politique suivant refuse toutes les autorisations d'utilisation d'Amazon Q.

Note

Le refus d'accès à Amazon Q ne désactivera pas l'icône Amazon Q ni le panneau de discussion dans le AWS console, AWS site Web, AWS des pages de documentation, ou AWS Console Mobile Application.

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

Permettre aux utilisateurs de consulter leurs autorisations

Cet exemple montre comment créer une politique qui permet aux IAM utilisateurs de consulter les politiques intégrées et gérées associées à leur identité d'utilisateur. Cette politique inclut les autorisations permettant d'effectuer cette action sur la console ou par programmation à l'aide du AWS CLI or 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": "*" } ] }