本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用者權限
下列政策允許使用者在 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 功能,使用者需要額外的許可,例如本節中範例政策授予的許可。
- 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。
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codewhisperer:GenerateRecommendations",
"codewhisperer:ListCustomizations"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"q:StartConversation",
"q:SendMessage"
],
"Resource": "*"
}
]
}
下列範例政策授予使用 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 EC2 動作只有在 Amazon Q 呼叫它們時才會遭到拒絕。
- 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-1
和 us-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 區域
– 建立外掛程式 AWS 區域 的 。
-
AWS-account-ID
– 您設定外掛程式的帳戶 AWS ID。
-
plugin-provider
– 您要允許存取的外掛程式提供者名稱,例如 CloudZero
、 Datadog
或 Wiz
。外掛程式提供者欄位區分大小寫。
- 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
:AWS-account-ID
:plugin/plugin-provider
/*"
}
]
}
允許使用者與特定外掛程式聊天
下列範例政策會授予許可,以與外掛程式 ARN 指定的特定外掛程式聊天。如果外掛程式已刪除並重新設定,除非在此政策中更新外掛程式 ARN,否則使用者將無法存取新的外掛程式。若要使用此政策,請在 Resource
欄位中的 ARN 中取代下列項目:
-
AWS-region
– 建立外掛程式 AWS 區域 的 。
-
AWS-account-ID
– 您設定外掛程式的帳戶 AWS ID。
-
plugin-provider
– 您要允許存取的外掛程式提供者名稱,例如 CloudZero
、 Datadog
或 Wiz
。外掛程式提供者欄位區分大小寫。
-
plugin-ARN
– 您要允許存取之外掛程式的 ARN。
- 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: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。
- 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": "*"
}
]
}