使用者許可 - Amazon Q Developer

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用者許可

下列政策允許使用者在 AWS 應用程式和網站上存取 Amazon Q Developer 的功能,包括 AWS 管理主控台 AWS Console Mobile Application和 AWS Documentation 網站。

如需啟用 Amazon Q Developer 管理存取權的政策,請參閱 管理員許可

注意

在命令列的 IDE 中存取 Amazon QAmazon Q 的使用者不需要 IAM 許可。

允許使用者透過 Amazon Q Developer 專業方案訂閱存取 Amazon Q

下列範例政策會授與透過 Amazon Q Developer 專業方案訂閱使用 Amazon Q 的許可。若沒有這些許可,使用者只能存取 Amazon Q 的免費方案。若要與 Amazon Q 聊天或使用其他 Amazon Q 功能,使用者需要額外的許可,例如本節中範例政策授與的許可。

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

允許 Amazon Q 存取客戶自管金鑰

下列範例政策會透過允許 Amazon Q 存取金鑰的方式,授與使用者存取以客戶自管金鑰加密之功能的許可。如果管理員已設定使用客戶自管金鑰進行加密,則須有此政策才能使用 Amazon Q。

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

允許使用者與 Amazon Q 聊天

下列範例政策會授與在主控台中與 Amazon Q 聊天的許可。

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

允許使用者使用 Amazon Q CLI 搭配 AWS CloudShell

下列範例政策會授予使用 Amazon Q CLI 的許可 AWS CloudShell。

注意

codewhisperer 字首是與 Amazon Q Developer 合併之服務的舊名稱。如需詳細資訊,請參閱Amazon Q Developer 重新命名 - 變更摘要

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

允許使用者在命令列上執行轉換

下列範例政策授予使用 Amazon Q 命令列工具進行轉換程式碼的許可。此政策不會影響命令列上對 Amazon Q 的存取。

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

允許使用者使用 Amazon Q 診斷主控台錯誤

下列範例政策會授與使用 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": "*" } ] }

允許使用者使用 Amazon Q 從 CLI 命令產生程式碼

下列範例政策會授與使用 Amazon Q 從記錄的 CLI 命令產生程式碼的許可,如此就能使用 Console-to-Code 功能。

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

允許使用者與 Amazon Q 討論資源

下列範例政策會授與和 Amazon Q 討論資源的許可,並允許 Amazon Q 代表您擷取資源資訊。Amazon Q 僅具有存取 IAM 身分有權存取之資源的許可。

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

允許 Amazon Q 在聊天中代表您執行動作

下列範例政策會授與和 Amazon Q 聊天的許可,並允許 Amazon Q 代表您執行動作。Amazon Q 僅具有執行 IAM 身分有權執行之動作的許可。

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

允許 Amazon Q 存取成本資料並提供成本最佳化建議

下列範例政策會授與和 Amazon Q 討論成本的許可,並允許 Amazon Q 存取您的成本資料和提供成本分析與最佳化建議。此政策包含 AWS Cost Explorer、 AWS 成本最佳化中心和 中的相關許可 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": "*" } ] }

拒絕 Amazon Q 代表您執行特定動作的許可

下列範例政策會授與和 Amazon Q 聊天的許可,並允許 Amazon Q 代表您執行 IAM 身分有權執行的任何動作,但 Amazon EC2 動作例外。此政策會使用 aws:CalledVia 全域條件索引鍵來指定只有在 Amazon Q 呼叫時才拒絕 Amazon EC2 動作。

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

允許 Amazon Q 代表您執行特定動作的許可

下列範例政策會授與和 Amazon Q 聊天的許可,並允許 Amazon Q 代表您執行 IAM 身分有權執行的任何動作,但 Amazon EC2 動作例外。此政策會授與您的 IAM 身分許可,以執行任何 Amazon EC2 動作,但僅允許 Amazon Q 執行 ec2:describeInstances 動作。此政策會使用 aws:CalledVia 全域條件索引鍵來指定僅允許 Amazon Q 呼叫 ec2:describeInstances,而不可執行任何其他 Amazon EC2 動作。

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

允許 Amazon Q 許可在特定區域中代表您執行動作

下列範例政策會授與和 Amazon Q 聊天的許可,並允許 Amazon Q 代表您執行動作時,只能呼叫 us-east-1us-west-2 區域。Amazon Q 無法呼叫任何其他區域。如需如何指定您可以呼叫哪些區域的詳細資訊,請參閱《AWS Identity and Access Management 使用者指南》中的 aws:RequestedRegion

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

拒絕 Amazon Q 許可代表您執行動作

下列範例政策會阻止 Amazon Q 代表您執行動作。

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

允許使用者與來自某一提供者的外掛程式聊天

下列範例政策會授與和管理員設定的某一特定提供者的外掛程式聊天的許可,該提供者是由外掛程式 ARN 指定,且其名稱為外掛程式提供者和萬用字元 (*)。如果外掛程式遭到刪除後重新設定,則具有這些許可的使用者將保留對新設定外掛程式的存取權。若要使用此政策,請取代 Resource 欄位中 ARN 的下列內容:

  • AWS-region – 建立外掛程式 AWS 區域 的 。

  • AWS-account-ID – 您設定外掛程式之帳戶的帳戶 AWS ID。

  • plugin-provider - 您要允許存取的外掛程式提供者名稱,例如 CloudZeroDatadogWiz。外掛程式提供者欄位區分大小寫。

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

允許使用者與特定外掛程式聊天

下列範例政策會授與和外掛程式 ARN 所指定的特定外掛程式聊天的許可。如果外掛程式遭到刪除後重新設定,除非更新此政策中的外掛程式 ARN,否則使用者將無法存取新的外掛程式。若要使用此政策,請取代 Resource 欄位中 ARN 的下列內容:

  • AWS-region – 建立外掛程式 AWS 區域 的 。

  • AWS-account-ID – 您設定外掛程式之帳戶的帳戶 AWS ID。

  • plugin-provider - 您要允許存取的外掛程式提供者名稱,例如 CloudZeroDatadogWiz。外掛程式提供者欄位區分大小寫。

  • plugin-ARN - 您要允許存取之外掛程式的 ARN。

拒絕存取 Amazon Q

下列範例政策會拒絕使用 Amazon Q 的所有許可。

注意

當您拒絕存取 Amazon Q 時,Amazon Q 圖示和聊天面板仍會顯示在 AWS 主控台、 AWS 網站、 AWS 文件頁面或 中 AWS Console Mobile Application。

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

允許使用者檢視其許可

此範例會示範如何建立政策,允許 IAM 使用者檢視連接到他們使用者身分的內嵌及受管政策。此政策包含在主控台或使用 或 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": "*" } ] }