Amazon Q Developer のアイデンティティベースのポリシーの例 - Amazon Q Developer

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Q Developer のアイデンティティベースのポリシーの例

次のIAMポリシー例では、さまざまな Amazon Q デベロッパーアクションのアクセス許可を制御します。ユーザー、ロール、またはグループの Amazon Q Developer アクセスを許可または拒否するには、これらを使用します。

ポリシーで制御できるすべての Amazon Q アクセス許可のリストについては、「」を参照してくださいAmazon Q デベロッパーのアクセス許可リファレンス

注記

次のポリシー例では、Amazon Q Developer の機能に対するアクセス許可を付与しますが、ユーザーは Amazon Q Developer Pro サブスクリプションを使用して Amazon Q にアクセスするための追加のアクセス許可が必要になる場合があります。詳細については、「Amazon Q Developer Pro サブスクリプションを使用してユーザーに Amazon Q へのアクセスを許可する」を参照してください。

以下のポリシーを記述どおりに使用したり、使用する個々の Amazon Q 機能に対するアクセス許可を追加したりできます。特定の機能へのアクセスを許可するために作成できるポリシーの例については、「」を参照してくださいAmazon Q Developer のアイデンティティベースのポリシーの例。

Amazon Q でのIAMアクセス許可の設定の詳細については、「」を参照してくださいポリシーを使用して Amazon Q Developer へのアクセスを管理する

これらのアクセス許可の動作の詳細については、「」を参照してくださいAmazon Q デベロッパーのアクセス許可リファレンス

管理者に Amazon Q サービス管理コンソールの使用を許可する

次のポリシーは、ユーザーに Amazon Q サービス管理コンソールの使用権限を付与します。これは、Amazon Q と IAM Identity Center および との統合を設定し AWS Organizations、サブスクライブする Amazon Q パッケージを選択し、サブスクリプションにユーザーとグループをアタッチするコンソールです。

Amazon Q Pro サブスクリプションを完全にセットアップするには、エンタープライズ内のユーザーも Amazon Q Pro コンソールにアクセスする必要があります。詳細については、「Amazon Q Developer Pro コンソール を使用するアクセス許可の割り当て」を参照してください。

注記

codewhisperer プレフィックスは、Amazon Q Developer とマージされたサービスのレガシー名です。詳細については、「Amazon Q Developer の名前変更 - 変更の概要」を参照してください。

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

管理者に Amazon Q Developer Pro コンソールの設定を許可する

次のポリシーは、ユーザーに Amazon Q Developer Pro コンソールへのアクセス権限を付与します。そのコンソールでは、コードリファレンスなどの特定の機能に関連する Amazon Q Developer のさまざまな側面を設定できます。

Amazon Q Pro サブスクリプションを完全にセットアップするには、エンタープライズ内のユーザーも Amazon Q サービス管理コンソールにアクセスする必要があります。詳細については、「管理者に Amazon Q サービス管理コンソールの使用を許可する」を参照してください。

注記

codewhisperer プレフィックスは、Amazon Q Developer とマージされたサービスのレガシー名です。詳細については、「Amazon Q Developer の名前変更 - 変更の概要」を参照してください。

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

レガシー Amazon CodeWhisperer プロファイルの場合、次のポリシーにより、IAMプリンシパルが CodeWhisperer アプリケーションを管理できるようになります。

注記

codewhisperer プレフィックスは、Amazon Q Developer とマージされたサービスのレガシー名です。詳細については、「Amazon Q Developer の名前変更 - 変更の概要」を参照してください。

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

カスタマイズを使用している場合は、Amazon Q Developer 管理者に追加のアクセス許可が必要です。詳細については、「カスタマイズの前提条件」を参照してください。

IAM ポリシーの詳細については、「 ユーザーガイド」の「アクセス管理」を参照してください。 IAM

AWS ウェブサイトに Amazon Q のIAMアクセス許可を追加する

AWS アプリやウェブサイトで Amazon Q Developer の機能を使用するには、適切な AWS Identity and Access Management (IAM) アクセス許可をアタッチする必要があります。以下は、 AWS アプリケーションやウェブサイトのほとんどの Amazon Q 機能にアクセスするために使用できるポリシーの例です。

注記

Amazon Q 機能の可用性は、Amazon Q を使用する環境によって異なります。Amazon Q にアクセスできる場所と、使用する特定のアクセス許可の詳細については、使用する機能のトピックを参照してください。

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

Amazon Q Developer Pro サブスクリプションを使用してユーザーに Amazon Q へのアクセスを許可する

次のポリシー例では、Amazon Q Developer Pro サブスクリプションで Amazon Q を使用するアクセス許可を付与します。これらのアクセス許可がないと、ユーザーは Amazon Q の無料利用枠にのみアクセスできます。Amazon Q とチャットしたり、他の Amazon Q 機能を使用するには、このセクションのポリシー例で付与されているアクセス許可など、追加のアクセス許可が必要です。

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

ユーザーに Amazon Q とのチャットを許可する

次のポリシー例では、コンソールで Amazon Q とチャットするアクセス許可を付与します。

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

で Amazon Q の使用をユーザーに許可CLIする AWS CloudShell

次のポリシー例では、 CLIで Amazon Q を使用するアクセス許可を付与します AWS CloudShell。

注記

codewhisperer プレフィックスは、Amazon Q Developer とマージされたサービスのレガシー名です。詳細については、「Amazon Q Developer の名前変更 - 変更の概要」を参照してください。

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

Amazon Q でコンソールエラーの診断をユーザーに許可する

次のポリシー例では、Amazon Q でコンソールエラーを診断するアクセス許可を付与します。

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

Amazon Q がユーザーに代わってアクションを実行することを許可する

次のポリシー例では、Amazon Q とチャットするアクセス許可を付与し、Amazon Q がユーザーに代わってアクションを実行できるようにします。Amazon Q には、IAMID が実行するアクセス許可を持つアクションを実行するアクセス許可のみがあります。

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

お客様に代わって特定のアクションを実行する Amazon Q アクセス許可を拒否する

次のポリシー例では、Amazon Q とチャットするアクセス許可を付与し、Amazon Q がユーザーに代わって、Amazon アクションを除くIAM、ID が実行するアクセス許可を持つEC2アクションを実行できるようにします。このポリシーは、aws:CalledViaグローバル条件キーを使用して、Amazon Q が呼び出す場合にのみ Amazon EC2アクションが拒否されることを指定します。

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

Amazon Q にユーザーに代わって特定のアクションを実行するアクセス許可を付与する

次のポリシー例では、Amazon Q とチャットするアクセス許可を付与し、Amazon Q がユーザーに代わって、Amazon アクションを除き、IAMID が実行するアクセス許可を持つEC2アクションを実行できるようにします。このポリシーは、Amazon EC2アクションを実行するアクセス許可を IAM ID に付与しますが、Amazon Q のみがec2:describeInstancesアクションを実行できるようにします。このポリシーは、aws:CalledViaグローバル条件キーを使用して、Amazon Q が を呼び出すことのみが許可されec2:describeInstances、他の Amazon EC2アクションは許可されないことを指定します。

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

Amazon Q に特定のリージョンでユーザーに代わってアクションを実行するアクセス許可を付与する

次のポリシー例では、Amazon Q とチャットするアクセス許可を付与し、ユーザーに代わってアクションを実行するときに、Amazon Q が us-east-1および us-west-2リージョンのみに通話することを許可します。Amazon Q は他のリージョンを呼び出すことはできません。呼び出し先リージョンを指定する方法の詳細については、 AWS Identity and Access Management ユーザーガイド「aws:RequestedRegion」を参照してください。

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

お客様に代わってアクションを実行する Amazon Q アクセス許可を拒否する

次のポリシー例では、Amazon Q がユーザーに代わってアクションを実行できないようにしています。

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

Amazon Q へのアクセスの拒否

次のポリシー例では、Amazon Q を使用するためのすべてのアクセス許可を拒否しています。

注記

Amazon Q へのアクセスを拒否しても、 AWS コンソール、 AWS ウェブサイト、 AWS ドキュメントページ、または の Amazon Q アイコンまたはチャットパネルは無効になりません AWS Console Mobile Application。

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

ユーザーにアクセス許可の表示を許可する

この例では、IAMユーザーがユーザー ID にアタッチされているインラインポリシーとマネージドポリシーを表示できるようにするポリシーを作成する方法を示します。このポリシーには、コンソールで、または 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": "*" } ] }