

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

# 使用者許可
<a name="id-based-policy-examples-users"></a>

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

如需啟用 Amazon Q Developer 管理存取權的政策，請參閱 [管理員許可](id-based-policy-examples-admins.md)。

**注意**  
在命令列[的 IDE 中存取 Amazon Q](q-in-IDE.md) 或 Amazon Q 的使用者不需要 IAM 許可。 [在命令列上使用 Amazon Q Developer](command-line.md)

## 允許使用者透過 Amazon Q Developer 專業方案訂閱存取 Amazon Q
<a name="id-based-policy-examples-allow-subs-access"></a>

下列範例政策會授與透過 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 存取客戶自管金鑰
<a name="id-based-policy-examples-allow-q-access-encryption"></a>

下列範例政策會透過允許 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 聊天
<a name="id-based-policy-examples-allow-chat"></a>

下列範例政策會授與在主控台中與 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
<a name="id-based-policy-examples-allow-cli-cloudshell"></a>

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

**注意**  
`codewhisperer` 字首是與 Amazon Q Developer 合併之服務的舊名稱。如需詳細資訊，請參閱[Amazon Q Developer 重新命名 - 變更摘要](service-rename.md)。

------
#### [ JSON ]

****  

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

------

## 允許使用者在命令列上執行轉換
<a name="id-based-policy-examples-allow-cli-transformations"></a>

下列範例政策授予使用 [Amazon Q 命令列工具](transform-CLI.md)進行轉換程式碼的許可。此政策不會影響[命令列上對 Amazon Q 的](command-line.md)存取。

------
#### [ JSON ]

****  

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

------

## 允許使用者使用 Amazon Q 診斷主控台錯誤
<a name="id-based-policy-examples-allow-error-diagnosing"></a>

下列範例政策會授與使用 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 命令產生程式碼
<a name="id-based-policy-examples-allow-console-to-code"></a>

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

------
#### [ JSON ]

****  

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

------

## 允許使用者與 Amazon Q 討論資源
<a name="id-based-policy-examples-allow-resource-chat"></a>

下列範例政策會授與和 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 在聊天中代表您執行動作
<a name="id-based-policy-examples-allow-actions"></a>

下列範例政策會授與和 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 中使用 Q 成品 （預覽）
<a name="id-based-policy-examples-allow-artifacts"></a>

下列範例政策授予使用 Amazon Q 成品的許可，這可讓您在 Amazon Q 中完成多服務任務。此政策包含 Amazon Q、IAM 和 的許可 CloudFormation。

除了這些許可之外，您還必須能夠存取所詢問的資源。Amazon Q 絕不會存取您的 IAM 身分無法存取的資源。

**重要**  
此範例政策包含具有不受限制資源的 IAM 動作 (`iam:AttachRolePolicy`、、`iam:CreateRole` `iam:CreatePolicy`和 `iam:PutRolePolicy`)。某些 Amazon Q 工作流程包含建立或設定 IAM 角色作為連接 AWS 服務的一部分的步驟 （例如，建立授予 EC2 執行個體存取 S3 的角色）。這些步驟需要這些許可才能成功執行。如果您的身分已有管理員存取權，則會授予這些許可。對於非管理員身分，僅將此政策授予您帳戶中的信任使用者。如果您不需要建立或修改 IAM 角色的工作流程，您可以從此政策中移除 IAM 動作 — 需要 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": "AllowQArtifactsAccess",
            "Effect": "Allow",
            "Action": [
                "q:GetArtifact",
                "q:CreateArtifact",
                "q:GetArtifactActionResult",
                "q:PerformArtifactAction",
                "iam:CreateRole",
                "iam:CreatePolicy",
                "iam:AttachRolePolicy",
                "iam:PutRolePolicy",
                "cloudformation:GetResource",
                "cloudformation:ListResources",
                "cloudformation:CancelResourceRequest",
                "cloudformation:CreateResource",
                "cloudformation:GetResourceRequestStatus",
                "cloudformation:ListResourceRequests",
                "cloudformation:UpdateResource"
            ],
            "Resource": "*"
        }
    ]
}
```

## 允許 Amazon Q 存取成本資料並提供成本最佳化建議
<a name="id-based-policy-examples-allow-cost-chat"></a>

下列範例政策會授與和 Amazon Q 討論成本的許可，並允許 Amazon Q 存取您的成本資料和提供成本分析與最佳化建議。此政策包含 AWS Cost Explorer、AWS Cost Optimization Hub、AWS Compute Optimizer、AWS Budgets、AWS 免費方案、AWS 定價，以及 Savings Plans 和預留建議的許可。

------
#### [ 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": "AllowCostExplorerAccess",
      "Effect": "Allow",
      "Action": [
        "ce:GetCostAndUsage",
        "ce:GetCostAndUsageWithResources",
        "ce:GetCostForecast",
        "ce:GetUsageForecast",
        "ce:GetTags",
        "ce:GetCostCategories",
        "ce:GetDimensionValues",
        "ce:GetSavingsPlansUtilization",
        "ce:GetSavingsPlansCoverage",
        "ce:GetSavingsPlansUtilizationDetails",
        "ce:GetReservationUtilization",
        "ce:GetReservationCoverage",
        "ce:GetSavingsPlansPurchaseRecommendation",
        "ce:GetReservationPurchaseRecommendation",
        "ce:GetRightsizingRecommendation",
        "ce:GetAnomalies",
       "ce:GetCostAndUsageComparisons",
       "ce:GetCostComparisonDrivers"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowCostOptimizationHubAccess",
      "Effect": "Allow",
      "Action": [
        "cost-optimization-hub:GetRecommendation",
        "cost-optimization-hub:ListRecommendations",
        "cost-optimization-hub:ListRecommendationSummaries"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowComputeOptimizerAccess",
      "Effect": "Allow",
      "Action": [
        "compute-optimizer:GetAutoScalingGroupRecommendations",
        "compute-optimizer:GetEBSVolumeRecommendations",
        "compute-optimizer:GetEC2InstanceRecommendations",
        "compute-optimizer:GetECSServiceRecommendations",
        "compute-optimizer:GetRDSDatabaseRecommendations",
        "compute-optimizer:GetLambdaFunctionRecommendations",
        "compute-optimizer:GetIdleRecommendations",
        "compute-optimizer:GetLicenseRecommendations",
        "compute-optimizer:GetEffectiveRecommendationPreferences"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowBudgetsAccess",
      "Effect": "Allow",
      "Action": [
        "budgets:ViewBudget"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowFreeTierAccess",
      "Effect": "Allow",
      "Action": [
        "freetier:GetFreeTierUsage",
        "freetier:GetAccountPlanState",
        "freetier:ListAccountActivities",
       "freetier:GetAccountActivity"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowPricingAccess",
      "Effect": "Allow",
      "Action": [
        "pricing:GetProducts",
        "pricing:GetAttributeValues",
        "pricing:DescribeServices"
      ],
      "Resource": "*"
   }
  ]
}
```

------

## 拒絕 Amazon Q 代表您執行特定動作的許可
<a name="id-based-policy-examples-deny-some-actions"></a>

下列範例政策會授與和 Amazon Q 聊天的許可，並允許 Amazon Q 代表您執行 IAM 身分有權執行的任何動作，但 Amazon EC2 動作例外。此政策會使用 [`aws:CalledVia` 全域條件索引鍵](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-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 代表您執行特定動作的許可
<a name="id-based-policy-examples-allow-some-actions"></a>

下列範例政策會授與和 Amazon Q 聊天的許可，並允許 Amazon Q 代表您執行 IAM 身分有權執行的任何動作，但 Amazon EC2 動作例外。此政策會授與您的 IAM 身分許可，以執行任何 Amazon EC2 動作，但僅允許 Amazon Q 執行 `ec2:describeInstances` 動作。此政策會使用 [`aws:CalledVia` 全域條件索引鍵](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-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 許可在特定區域中代表您執行動作
<a name="id-based-policy-examples-allow-actions-some-regions"></a>

下列範例政策會授與和 Amazon Q 聊天的許可，並允許 Amazon Q 代表您執行動作時，只能呼叫 `us-east-1` 和 `us-west-2` 區域。Amazon Q 無法呼叫任何其他區域。如需如何指定您可以呼叫哪些區域的詳細資訊，請參閱《AWS Identity and Access Management 使用者指南》**中的 [aws:RequestedRegion](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-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 許可代表您執行動作
<a name="id-based-policy-examples-deny-actions"></a>

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

------
#### [ JSON ]

****  

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

------

## 允許使用者與來自某一提供者的外掛程式聊天
<a name="id-based-policy-examples-allow-plugin-type"></a>

下列範例政策會授與和管理員設定的某一特定提供者的外掛程式聊天的許可，該提供者是由外掛程式 ARN 指定，且其名稱為外掛程式提供者和萬用字元 (`*`)。如果外掛程式遭到刪除後重新設定，則具有這些許可的使用者將保留對新設定外掛程式的存取權。若要使用此政策，請取代 `Resource` 欄位中 ARN 的下列內容：
+ {{AWS-region}} – 建立外掛程式 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}}:{{111122223333}}:plugin/{{plugin-provider}}/*"
        }
    ]
}
```

------

## 允許使用者與特定外掛程式聊天
<a name="id-based-policy-examples-allow-plugin-arn"></a>

下列範例政策會授與和外掛程式 ARN 所指定的特定外掛程式聊天的許可。如果外掛程式遭到刪除後重新設定，除非更新此政策中的外掛程式 ARN，否則使用者將無法存取新的外掛程式。若要使用此政策，請取代 `Resource` 欄位中 ARN 的下列內容：
+ {{AWS-region}} – 建立外掛程式 AWS 區域 的 。
+ {{AWS-account-ID}} – 您設定外掛程式之帳戶的帳戶 AWS ID。
+ {{plugin-provider}} - 您要允許存取的外掛程式提供者名稱，例如 `CloudZero`、`Datadog` 或 `Wiz`。外掛程式提供者欄位區分大小寫。
+ {{plugin-ARN}} - 您要允許存取之外掛程式的 ARN。

## 拒絕存取 Amazon Q
<a name="id-based-policy-examples-deny"></a>

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

------

## 允許使用者檢視其許可
<a name="id-based-policy-examples-view-own-permissions"></a>

此範例會示範如何建立政策，允許 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": "*"
        }
    ]
}
```