使用者權限 - Amazon Q Developer

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

使用者權限

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

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

注意

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

允許使用者透過 Amazon Q Developer Pro 訂閱存取 Amazon Q

下列範例政策授予使用 Amazon Q 搭配 Amazon Q Developer Pro 訂閱的許可。如果沒有這些許可,使用者只能存取 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 存取金鑰,授予使用者存取以客戶受管金鑰加密之功能的許可。如果管理員已設定客戶受管金鑰進行加密,則需要此政策才能使用 Amazon Q。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "QKMSDecryptGenerateDataKeyPermissions", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:ReEncryptFrom", "kms:ReEncryptTo" ], "Resource": [ "arn:aws:kms:{{region}}:{{account_id}}:key/[[key_id]]" ], "Condition": { "StringLike": { "kms:ViaService": [ "q.{{region}}.amazonaws.com" ] } } } ] }

允許使用者與 Amazon Q 聊天

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

{ "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 重新命名 - 變更摘要

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

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

下列範例政策授予使用 Amazon Q 命令列工具進行轉換程式碼的許可。

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

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

下列範例政策授予使用 Amazon Q 診斷主控台錯誤的許可。

{ "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功能。

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

允許使用者使用 Amazon Q 聊天資源

下列範例政策授予許可,以與 Amazon Q 聊天有關資源,並允許 Amazon Q 代表您擷取資源資訊。Amazon Q 僅具有存取 IAM 身分具有許可之資源的許可。

{ "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 身分具有執行許可之動作的許可。

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

{ "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 EC2 動作只有在 Amazon Q 呼叫它們時才會遭到拒絕。

{ "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 動作。

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

{ "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 代表您執行動作。

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

允許使用者從一個供應商與外掛程式聊天

下列範例政策授予許可,以使用外掛程式提供者的名稱和萬用字元 (),從管理員設定的指定提供者與任何外掛程式聊天,由外掛程式 ARN 指定*。如果刪除並重新設定外掛程式,具有這些許可的使用者將保留對新設定外掛程式的存取權。若要使用此政策,請在 Resource 欄位中的 ARN 中取代下列項目:

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

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

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

{ "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:AWS-region:AWS-account-ID:plugin/plugin-provider/*" } ] }

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

下列範例政策會授予許可,以與外掛程式 ARN 指定的特定外掛程式聊天。如果外掛程式已刪除並重新設定,除非在此政策中更新外掛程式 ARN,否則使用者將無法存取新的外掛程式。若要使用此政策,請在 Resource 欄位中的 ARN 中取代下列項目:

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

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

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

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

{ "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:AWS-region:AWS-account-ID:plugin/plugin-provider/plugin-ARN" } ] }

拒絕存取 Amazon Q

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

注意

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

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