

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

# Amazon Q Developer 的安全性
<a name="security"></a>

的雲端安全性 AWS 是最高優先順序。身為 AWS 客戶，您可以受益於資料中心和網路架構，這些架構專為滿足最安全敏感組織的需求而建置。

安全性是 AWS 與您之間的共同責任。[共同責任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)將此描述為雲端本身的安全和雲端內部的安全：
+  **雲端的安全性** – AWS 負責保護在 AWS 服務 中執行的基礎設施 AWS 雲端。 AWS 也為您提供可安全使用的服務。在 [AWS 合規計劃](https://aws.amazon.com/compliance/programs/)中，第三方稽核員會定期測試並驗證我們的安全功效。若要瞭解適用於 Amazon Q 的法規遵循計畫，請參閱[法規遵循計畫範圍內的AWS 服務](https://aws.amazon.com/compliance/services-in-scope/)。
+  **雲端的安全性** – 您的責任取決於您使用 AWS 的服務。您也必須對其他因素負責，包括資料的機密性、您公司的要求和適用法律和法規

本文件將協助您了解如何在使用 Amazon Q Developer 時套用共同責任模式。內容將示範如何設定 Amazon Q 以符合您的安全和合規目標。您也會了解如何使用其他 AWS 服務來協助您監控和保護 Amazon Q 資源。

**Topics**
+ [資料保護](data-protection.md)
+ [身分與存取管理](security-iam.md)
+ [法規遵循驗證](compliance-validation.md)
+ [恢復能力](disaster-recovery-resiliency.md)
+ [基礎設施安全性](infrastructure-security.md)
+ [防火牆、代理和資料周界](firewall.md)
+ [VPC 端點 (AWS PrivateLink)](vpc-interface-endpoints.md)

# Amazon Q Developer 的資料保護
<a name="data-protection"></a>

 AWS [共同責任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)套用至 Amazon Q Developer 的資料保護。如此模型所述， AWS 負責保護執行所有 的 全球基礎設施 AWS 雲端。您負責維護在此基礎設施上託管內容的控制權。您也必須負責 AWS 服務 您使用之 的安全組態和管理任務。如需有關資料隱私權的詳細資訊，請參閱[資料隱私權常見問答集](https://aws.amazon.com/compliance/data-privacy-faq)。如需有關歐洲資料保護的相關資訊，請參閱 *AWS 安全部落格*上的 [AWS 共同責任模型和 GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr) 部落格文章。

基於資料保護目的，我們建議您保護 AWS 帳戶 登入資料，並使用 AWS Identity and Access Management () 設定個別使用者IAM。如此一來，每個使用者都只會獲得授予完成其任務所必須的許可。我們也建議您採用下列方式保護資料：
+ 每個帳戶均要使用多重要素驗證 (MFA)。
+ 使用 SSL/TLS 與 AWS 資源通訊。建議使用 TLS 1.2 或更新版本。
+ 使用 設定 API 和使用者活動記錄 AWS CloudTrail。
+ 使用 AWS 加密解決方案，以及其中的所有預設安全控制 AWS 服務。
+ 使用進階受管安全服務 Amazon Macie，例如 ，協助探索和保護存放在其中的敏感資料 Amazon S3。
+ 如果您在 AWS 透過命令列界面或 API 存取 時需要 FIPS 140-2 驗證的密碼編譯模組，請使用 FIPS 端點。如需有關 FIPS 和 FIPS 端點的更多相關資訊，請參閱[聯邦資訊處理標準 (FIPS) 140-2 概觀](https://aws.amazon.com/compliance/fips/)。

我們強烈建議您絕對不要將客戶的電子郵件地址等機密或敏感資訊，放在[標籤](https://docs.aws.amazon.com/tag-editor/latest/userguide/security_data-protection.html)或自由格式的文字欄位中，例如**名稱**欄位。這包括當您 AWS 服務 使用 Amazon Q 或使用 AWS 管理主控台、API、 AWS Command Line Interface (AWS CLI) 或 AWS SDKs的其他 時。您在標籤或自由格式文字欄位中輸入的任何資料都可能用於計費或診斷日誌。如需 Amazon Q Developer 如何使用內容的詳細資訊，請參閱 [Amazon Q Developer 服務改善](service-improvement.md)。

**Topics**
+ [Amazon Q Developer 的資料儲存](data-storage.md)
+ [Amazon Q Developer 中的資料加密](data-encryption.md)
+ [Amazon Q Developer 服務改善](service-improvement.md)
+ [在 IDE 和命令列中選擇退出資料共用](opt-out-IDE.md)
+ [Amazon Q Developer 中的跨區域處理](cross-region-processing.md)

# Amazon Q Developer 的資料儲存
<a name="data-storage"></a>

Amazon Q 會儲存您的問題、其回應和其他內容 (例如主控台中繼資料和程式碼)，以針對您的問題和請求產生回應。如需資料如何加密的相關資訊，請參閱 [Amazon Q Developer 中的資料加密](data-encryption.md)。如需有關 如何使用您向 Amazon Q 提出 AWS 的一些問題及其回應來改善服務的資訊，請參閱 [Amazon Q Developer 服務改善](service-improvement.md)。

## AWS 處理和存放內容的區域
<a name="aws-regions-processing-storage"></a>

如果您是 IAM Identity Center 人力資源使用者，在 Amazon Q Developer Pro 層，您的內容會存放在僅針對下列功能建立 Amazon Q Developer 設定檔 AWS 區域 的 中：
+ 中的 Amazon Q 聊天 AWS 管理主控台
+ 使用 Amazon Q 診斷 AWS 主控台錯誤
+ Eclipse、JetBrains IDE、Visual Studio Code 和 Visual Studio 中的 Amazon Q
+ 命令列上的 Amazon Q

當您在 Amazon Q Developer 專業方案中使用任何其他功能時，您的內容可能會在美國區域中儲存和處理。如果您在非美國區域使用 Q Developer 設定檔，您可以建立服務控制政策 (SCP)，以封鎖對於在美國境內儲存內容並執行推論之功能的存取。如需 SCP 範例，請參閱[使用政策管理 Amazon Q Developer 的存取權](security_iam_manage-access-with-policies.md)。

對於其他 Amazon Q 功能和整合，以及在使用 Amazon Q Developer 免費方案時，您的內容會儲存在美國的某個區域中。在診斷主控台錯誤工作階段期間處理的資料會儲存在美國西部 (奧勒岡) 區域。所有其他資料都儲存在美國東部 (維吉尼亞北部) 區域。請注意下列以不同方式儲存資料的功能。

**注意**  
當您使用 Amazon Q 成品時，您的視覺化相關內容會存放在美國區域。  
當您使用 [Console to Code with Amazon Q](console-to-code.md) 時，內容會儲存在您的主控台區域，並且在美國區域中處理。  
當您在 Amazon Redshift 中使用 Amazon Q 生成式 SQL 時，您的內容會在主控台區域中儲存和處理。如需詳細資訊，請參閱《Amazon Redshift 管理指南》**中的[與 Amazon Q 生成式 SQL 互動](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2-generative-ai.html)。  
當您使用 Amazon CloudWatch 調查建立調查時，您的內容可能會在其他區域中儲存和處理。如需詳細資訊，請參閱《Amazon CloudWatch 使用者指南》**中的 [CloudWatch 調查中的安全性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Investigations-Security.html#cross-region-inference)主題。

使用跨區域推論時，您對 Amazon Q Developer 的請求可能會在與儲存內容的地理位置不同的區域中處理。如需詳細資訊，請參閱[跨區域推論](cross-region-processing.md#cross-region-inference)。

# Amazon Q Developer 中的資料加密
<a name="data-encryption"></a>

本主題提供 Amazon Q Developer 特定的傳輸中加密和靜態加密資訊。

## 傳輸中加密
<a name="encryption-transit"></a>

客戶與 Amazon Q 之間以及 Amazon Q 與其下游相依性之間的所有通訊，都是使用 TLS 1.2 或更高版本的連線加以保護。

## 靜態加密
<a name="encryption-rest"></a>

Amazon Q 使用 Amazon DynamoDB 和 Amazon Simple Storage Service (Amazon S3) 來儲存靜態資料。根據預設，靜態資料會使用加密解決方案進行 AWS 加密。Amazon Q 使用來自 AWS Key Management Service (AWS KMS) 的 AWS 擁有加密金鑰來加密您的資料。您不需要採取任何動作來保護加密資料的 AWS 受管金鑰。如需詳細資訊，請參閱《AWS Key Management Service 開發人員指南》**中的 [AWS 擁有的金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)。

對於已訂閱 Amazon Q Developer 專業方案的 IAM Identity Center 員工使用者，管理員可以使用客戶自管 KMS 金鑰來加密下列功能的靜態資料：
+  AWS 主控台中的聊天
+ 診斷 AWS 主控台錯誤
+ 自訂
+ IDE 中的代理程式

您只能使用客戶受管金鑰加密 AWS 主控台和 IDE 中列出的 Amazon Q 功能的資料。您在網站、 AWS Documentation 頁面和聊天應用程式中與 Amazon Q 的 AWS 對話只會使用 AWS擁有的金鑰加密。

客戶受管金鑰是您帳戶中建立、擁有和管理 AWS 的 KMS 金鑰，可透過控制對 KMS 金鑰的存取，直接控制對資料的存取。僅支援對稱金鑰。如需建立自己的 KMS 金鑰的相關資訊，請參閱《AWS Key Management Service 開發人員指南》**中的[建立金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)。

當您使用客戶自管金鑰時，Amazon Q Developer 會使用 KMS 授權，以允許經授權的使用者、角色或應用程式使用 KMS 金鑰。當 Amazon Q Developer 管理員選擇使用客戶自管金鑰在組態期間進行加密實，系統會為其建立授權。此授權可讓最終使用者使用加密金鑰進行靜態資料加密。如需授權的詳細資訊，請參閱 [AWS KMS中的授權](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)。

如果您在 AWS 主控台中變更用來加密與 Amazon Q 聊天的 KMS 金鑰，您必須開始新的對話，才能開始使用新的金鑰來加密您的資料。任何使用先前的金鑰加密的對話都不會保留，而且只有後續的對話會使用更新後的金鑰加密。如果您想要保留先前加密方法的對話，您可以回復為這些對話期間使用的金鑰。如果您變更用於加密診斷主控台錯誤工作階段的 KMS 金鑰，您必須啟動新的診斷工作階段，才能使用新的金鑰來加密您的資料。

## 使用客戶自管 KMS 金鑰
<a name="kms-keys"></a>

建立客戶自管 KMS 金鑰後，Amazon Q Developer 管理員必須在 Amazon Q Developer 主控台中提供該金鑰，才能用它來加密資料。如需在 Amazon Q Developer 主控台中新增金鑰的相關資訊，請參閱 [管理 Amazon Q Developer 中的加密方法](manage-encryption.md)。

若要設定客戶受管金鑰來加密 Amazon Q Developer 中的資料，管理員需要使用 許可 AWS KMS。所需的 KMS 許可包含在範例 IAM 政策 [允許管理員使用 Amazon Q Developer 主控台](id-based-policy-examples-admins.md#q-admin-setup-admin-users) 中。

若要使用以客戶自管金鑰加密的功能，使用者須具備允許 Amazon Q 存取客戶自管金鑰的許可。如需授與所需許可的政策，請參閱 [允許 Amazon Q 存取客戶自管金鑰](id-based-policy-examples-users.md#id-based-policy-examples-allow-q-access-encryption)。

如果您在使用 Amazon Q Developer 時看到與 KMS 授權相關的錯誤，您可能需要更新許可才能允許 Amazon Q 建立授權。若要自動設定所需的許可，請前往 Amazon Q Developer 主控台，然後在頁面頂端的橫幅中選擇**更新許可**。

# Amazon Q Developer 服務改善
<a name="service-improvement"></a>

為了協助 Amazon Q Developer 提供最相關的資訊，我們可能會使用 Amazon Q 中的特定內容，例如您向 Amazon Q 提出的問題及其回應，藉此改善服務。此頁面說明我們會使用哪些內容，以及如何選擇退出。

## 用於改善服務的 Amazon Q Developer 免費方案內容
<a name="content-use"></a>

我們可能會使用 Amazon Q Developer 免費方案中的特定內容來改善服務。例如，Amazon Q 可能會使用此內容，針對常見問題提供更適合的回應、修正 Amazon Q 操作問題、進行除錯或進行模型訓練。

例如， AWS 可能用於改善服務的內容包括您對 Amazon Q 的問題，以及 Amazon Q 產生的回應和程式碼。

我們不會使用 Amazon Q Developer 專業方案或 Amazon Q Business 的內容來改善服務。

**注意**  
Amazon Q Developer for GitHub (預覽版) 目前不會使用您的內容來改善服務。如果未來啟用此功能，我們會適時通知您，並提供讓您選擇退出此類使用的方式。

## 如何選擇退出
<a name="opt-out"></a>

您選擇退出讓 Amazon Q Developer 免費方案使用內容改善服務的方式，取決於您使用 Amazon Q 的環境。

對於 AWS 管理主控台、 AWS Console Mobile Application、 AWS 網站和聊天應用程式中，設定 AI 服務選擇退出政策 AWS Organizations。如需詳細資訊，請參閱《AWS Organizations 使用者指南》**中的 [AI 服務退出政策](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html)。

在 IDE 中，針對 Amazon Q Developer 免費方案，請調整 IDE 中的設定。如需詳細資訊，請參閱[在 IDE 和命令列中選擇退出資料共用](opt-out-IDE.md)。

# 在 IDE 和命令列中選擇退出資料共用
<a name="opt-out-IDE"></a>

此頁面說明如何選擇不使用在您使用 Amazon Q 的 IDE 或命令列中共用資料，包括第三方 IDEs AWS 和編碼環境。如需 Amazon Q 如何使用此資料的相關資訊，請參閱 [Amazon Q Developer 服務改善](service-improvement.md)。

## 選擇退出共用用戶端遙測
<a name="opt-out-IDE-telemetry"></a>

您的用戶端遙測會將您的服務使用情況量化。例如， AWS 可能會追蹤您接受或拒絕建議。您的用戶端遙測不包含實際程式碼。

### IDE 中收集的遙測
<a name="IDE-telemetry"></a>

若要進一步了解 Amazon Q 在 IDE 中收集的遙測資料，請參閱 `aws-toolkit-common` Github 儲存庫中的 [commonDefinitions.json](https://github.com/aws/aws-toolkit-common/blob/main/telemetry/definitions/commonDefinitions.json) 文件。

如需有關您使用 Amazon Q 的每個 IDE 所收集遙測資料的詳細資訊，請參閱下列 GitHub 儲存庫中的資源文件：
+ [適用於 VS Code 的 Amazon Q 延伸模組](https://github.com/aws/aws-toolkit-vscode/blob/master/packages/core/src/shared/telemetry/vscodeTelemetry.json)
+ [適用於 JetBrains 的 Amazon Q 外掛程式](https://github.com/aws/aws-toolkit-jetbrains/blob/main/plugins/core/jetbrains-community/resources/telemetryOverride.json)
+ [適用於 Eclipse 的 Amazon Q 外掛程式](https://github.com/aws/amazon-q-eclipse/blob/main/plugin/codegen-resources/definitions/commonDefinitions.json)
+ [AWS Visual Studio Toolkit 搭配 Amazon Q](https://github.com/aws/aws-toolkit-visual-studio/blob/main/Telemetry/vs-telemetry-definitions.json)

### Q CLI 中收集的遙測
<a name="w2aac21c13c19b5b7b1"></a>

若要進一步了解 Q CLI 所收集的遙測資料，請參閱 `amazon-q-developer-cli` Github 儲存庫中的 [telemetry\$1definitions.json](https://github.com/aws/amazon-q-developer-cli/blob/main/crates/chat-cli/telemetry_definitions.json) 文件。

### 命令列工具中收集用於轉換的遙測
<a name="w2aac21c13c19b5b9b1"></a>

遙測集合有助於 AWS 了解 Q 命令列轉換工具的執行方式、了解功能的使用方式，以及改善我們的服務。對於命令列上的轉換，我們會收集有關您工具版本和 Maven 外掛程式版本的遙測。

**注意**  
請勿在自由格式的文字欄位中加入個人身分識別資訊 (PII) 或是其他機密或敏感資訊。

選擇您的 IDE，以取得選擇退出共用用戶端遙測的說明。

------
#### [ Visual Studio 程式碼 ]

若要在 VS Code 中選擇退出共用您的遙測資料，請使用此程序：

1. 在 VS Code 中開啟**設定**。

1. 如果您使用 VS Code 工作空間，請切換到**工作空間**子索引標籤。在 VS Code 中，工作空間設定會覆寫使用者設定。

1. 在「設定」搜尋列中，輸入 `Amazon Q: Telemetry`。

1. 取消勾選此方塊。

**注意**  
每個開發人員都要在自己的 IDE 中做出此決定。如果您將 Amazon Q 納入企業中使用，您的管理員將無法為您變更此設定。

------
#### [ JetBrains ]

若要在 JetBrains 中選擇退出共用您的遙測資料，請使用此程序：

1. 在您的 JetBrains IDE 中，開啟**偏好設定** (在 Mac 上位於**設定**下)。

1. 在左側導覽列中，選擇**工具**，然後選擇 **AWS**。

1. 取消選取**傳送用量指標至 AWS** 。

![\[JetBrains 中的設定面板\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/JB-usage.png)


**注意**  
每個開發人員都要在自己的 IDE 中做出此決定。如果您將 Amazon Q 納入企業中使用，您的管理員將無法為您變更此設定。

------
#### [ Eclipse ]

若要在 Eclipse IDE 中選擇退出共用您的遙測資料，請使用此程序：

1. 在 Eclipse IDE 中開啟**設定**。

1. 從左側導覽列選擇 **Amazon Q**。

1. 取消勾選**傳送用量指標至 AWS** 旁的方塊。

1. 選擇 **Apply (套用)** 來儲存您的變更。

**注意**  
每個開發人員都要在自己的 IDE 中做出此決定。如果您將 Amazon Q 納入企業中使用，您的管理員將無法為您變更此設定。

------
#### [ Visual Studio ]

若要選擇退出在 AWS Toolkit for 中分享您的遙測資料Visual Studio，請使用此程序：

1. 在**工具**下，選擇**選項**。

1. 在**選項**窗格中，選擇 **AWS Toolkit**，然後選擇**一般**。

1. 取消選取**允許 AWS 工具組收集用量資訊**。

**注意**  
每個開發人員都要在自己的 IDE 中做出此決定。如果您將 Amazon Q 納入企業中使用，您的管理員將無法為您變更此設定。

------
#### [ AWS Cloud9 ]

1. 從 IDE AWS Cloud9 內，選擇視窗頂端的 AWS Cloud9 標誌，然後選擇**偏好設定**。

1. 在**偏好設定**索引標籤中，選擇 **AWS Toolkit**。

1. 在 **AWS：用戶端遙測**旁，將開關切換到關閉位置。



**注意**  
此設定會影響您是否共用用戶端 AWS Cloud9 遙測，而不只是針對 Amazon Q。

------
#### [ Lambda ]

當您使用 Amazon Q 搭配 Lambda 時，Amazon Q 不會與 AWS共用您的用戶端遙測。

------
#### [ SageMaker AI Studio ]

1. 從 SageMaker AI Studio 視窗頂端，選擇**設定**。

1. 從**設定**下拉式清單中，選擇**進階設定編輯器**。

1. 在 Amazon Q 下拉式清單中，勾選或取消勾選**與 Amazon Q 共用用量資料**旁的方塊。

------
#### [ JupyterLab ]

1. 從 JupyterLab 視窗頂端，選擇**設定**。

1. 從**設定**下拉式清單中，選擇**進階設定編輯器**。

1. 在 Amazon Q 下拉式清單中，勾選或取消勾選**與 Amazon Q 共用用量資料**旁的方塊。

------
#### [ AWS Glue Studio Notebook ]

1. 從 AWS Glue Studio Notebook 視窗底部選擇 **Amazon Q**。

1. 從快顯功能表中，切換**與 AWS共用遙測**旁的開關。

**注意**  
暫停共用用戶端遙測僅在目前的 AWS Glue Studio 筆記本期間有效。

------
#### [ Command line ]

在命令列工具的**偏好設定**下，切換**遙測**。

------
#### [ Transformations on the command line ]

命令列工具預設為收集遙測，以用於轉換。若要停用此功能，請完成下列程序。

**若要更新遙測偏好設定**

1. 執行 `qct configure` 並提供請求的組態詳細資訊，或按 Enter 鍵使用現有組態。

1. 當系統提示您是否允許遙測收集時，請輸入 AWS `N`以防止 收集遙測資料。

1. 如果您想要重新啟用遙測收集，則再次執行 `qct configure`，並在出現提示時輸入 `Y`。

------

## 選擇退出共用您的內容
<a name="opt-out-IDE-content"></a>

如需內容 AWS 使用的資訊，請參閱 [Amazon Q Developer 服務改善](service-improvement.md)。

------
#### [ Visual Studio 程式碼 ]

在 Amazon Q Developer 專業方案中，Amazon Q 不會收集您的內容。

在 Amazon Q Developer 免費方案中，若要在 VS Code 中選擇退出共用您的內容，請使用下列程序。

1. 在 VS Code 中開啟**設定**。

1. 如果您使用 VS Code 工作空間，請切換到**工作空間**子索引標籤。在 VS Code 中，工作空間設定會覆寫使用者設定。

1. 在「設定」搜尋列中，輸入 `Amazon Q: Share Content`。

1. 取消勾選此方塊。

------
#### [ JetBrains ]

在 Amazon Q Developer 專業方案中，Amazon Q 不會收集您的內容。

在 Amazon Q Developer 免費方案中，若要在 JetBrains 中選擇退出共用 Amazon Q 資料，請使用下列程序。

1. 請務必使用最新版本的 JetBrains。

1. 在您的 JetBrains IDE 中，開啟**偏好設定** (在 Mac 上位於**設定**下)。

1. 在左側導覽列中，選擇**工具** --> **AWS** --> **Amazon Q**。

1. 在**資料共用**下，取消選取**共用 Amazon Q 內容 AWS**。

![\[在 VS Code 中共用 Amazon Q 資料的選項。\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/images/JB-content.png)


------
#### [ Eclipse ]

在 Amazon Q Developer 專業方案中，Amazon Q 不會收集您的內容。

在 Amazon Q Developer 免費方案中，若要在 Eclipse IDE 中選擇退出共用 Amazon Q 資料，請使用下列程序。

1. 請務必使用最新版本的 Eclipse IDE。

1. 在 Eclipse IDE 中，開啟**設定**。

1. 在左側導覽列中，選擇**Amazon Q**。

1. 取消勾選**與 AWS共用 Amazon Q 內容**旁的方塊。

1. 選擇 **Apply (套用)** 來儲存您的變更。

------
#### [ Visual Studio ]

在 Amazon Q Developer 專業方案中，Amazon Q 不會收集您的內容。

在 Amazon Q Developer 免費方案中，若要在 Visual Studio 中選擇退出共用您的內容，請使用下列程序。

前往**工具** -> **選項** -> **AWS Toolkit** -> **Amazon Q**

將**與 AWS共用 Amazon Q 內容**切換至 **True** 或 **False**。

------
#### [ AWS Cloud9 ]

當您搭配 使用 Amazon Q 時 AWS Cloud9，Amazon Q 不會與 共用您的內容 AWS。

**注意**  
 AWS Cloud9 設定確實包含與 共用 Amazon Q 內容的切換開關 AWS，但該切換無法運作。

------
#### [ Lambda ]

當您使用 Amazon Q 搭配 Lambda 時，Amazon Q 不會與 AWS共用您的內容。

**注意**  
Lambda 設定確實包含與 共用 Amazon Q 內容的切換開關 AWS，但該切換無法運作。

------
#### [ SageMaker AI Studio ]

當您使用 Amazon Q 搭配 SageMaker AI Studio 時，Amazon Q 不會與 AWS共用您的內容。

------
#### [ JupyterLab ]

1. 從 JupyterLab 視窗頂端，選擇**設定**。

1. 從**設定**下拉式清單中，選擇**進階設定編輯器**。

1. 在 Amazon Q 下拉式清單中，勾選或取消勾選**與 Amazon Q 共用內容**旁的方塊。

------
#### [ AWS Glue Studio Notebook ]

當您搭配 AWS Glue Studio 筆記本使用 Amazon Q 時，Amazon Q 不會與 共用您的內容 AWS。

------
#### [ Command line ]

在命令列工具的**偏好設定**下，切換**共用 Amazon Q 內容 AWS**。

------
#### [ Transformations on the command line ]

當您使用 Amazon Q 命令列工具進行轉換時，Amazon Q 不會與 共用您的內容 AWS。

------

# Amazon Q Developer 中的跨區域處理
<a name="cross-region-processing"></a>

下列各節說明如何使用跨區域推論和跨區域呼叫來提供 Amazon Q Developer 服務。

## 跨區域推論
<a name="cross-region-inference"></a>

Amazon Q Developer 採用 Amazon Bedrock 技術，並使用跨區域推論將流量分散到不同的 AWS 區域 ，以增強大型語言模型 (LLM) 推論效能和可靠性。利用跨區域推論可實現以下目標：
+ 在高需求期間提高輸送量和彈性
+ 提升效能 
+ 取得新推出的 Amazon Q Developer 功能，這些功能依賴 Amazon Bedrock 上託管的最強大 LLM

跨區域推論請求會保留在 中 AWS 區域 ，而該 是資料最初所在地理位置的一部分。例如，從在美國建立的 Amazon Q Developer 設定檔提出的請求會保留 AWS 區域 在美國的 內。有些 Amazon Q Developer 功能和整合可能會在 Q Developer 設定檔建立所在位置以外的區域執行推論。如需詳細資訊，請參閱 [Amazon Q Developer 跨區域推論支援的區域](#inference-regions)。

雖然跨區域推論不會變更資料儲存的位置，但您的請求和輸出結果可能會移到資料原本所在的區域之外。所有資料在 Amazon 的安全網路上傳輸時，都會經過加密。使用跨區域推論無需額外付費。

跨區域推論不會影響資料儲存的位置。如需有關使用 Amazon Q Developer 時資料儲存位置的資訊，請參閱 [Amazon Q Developer 的資料保護](data-protection.md)。

### Amazon Q Developer 跨區域推論支援的區域
<a name="inference-regions"></a>

下表說明根據發出請求的地理位置而定，您的請求可能會路由傳送到哪些區域。


****  

|  **支援的 Amazon Q Developer 地理位置**  |  **推論區域**  | 
| --- | --- | 
| 美國 |  美國東部 (維吉尼亞北部) (us-east-1) 美國西部 (奧勒岡) (us-west-2) 美國東部 (俄亥俄) (us-east-2)  | 
| 歐洲 |  歐洲 (法蘭克福) (eu-central-1) 歐洲 (愛爾蘭) (eu-west-1) 歐洲 (巴黎) (eu-west-3) 歐洲 (斯德哥爾摩) (eu-north-1)  | 
| 亞太區域\$1 |  亞太地區 (孟買) (ap-south-1) 亞太區域 (首爾) (ap-northeast-2) 亞太地區 (新加坡) (ap-southeast-1) 亞太地區 (雪梨) (ap-southeast-2) 亞太區域 (東京) (ap-northeast-1)  | 

\$1只有在亞太地區 (首爾) 區域中使用 Amazon Q 生成式 SQL 時，才支援在亞太區域進行跨區域推論。

如需可使用 Amazon Q Developer 的完整區域清單，請參閱 [Amazon Q Developer 支援的區域](regions.md)。

## 跨區域呼叫
<a name="cross-region-calls"></a>

您對 Amazon Q Developer 提出的某些請求可能需要跨區域呼叫。跨區域呼叫是由 Amazon Q 從一個 AWS 區域 到另一個 的 API 呼叫 AWS 區域。當您的請求需要從與目前區域不同的區域擷取資訊時，Amazon Q 就會進行跨區域呼叫。例如，當您向 Amazon Q 詢問位於不同區域 AWS 的資源相關問題時，它會進行跨區域呼叫來存取您的資源，並擷取相關資料以回應您的問題。此外，如果來自 Amazon Q 的回應需要來自全球 AWS 服務端點的資訊，Amazon Q 可能會在儲存資料的 區域之外進行呼叫。如需全域服務的詳細資訊，請參閱*AWS 故障隔離界限 AWS 白皮書*中的[全域服務](https://docs.aws.amazon.com/whitepapers/latest/aws-fault-isolation-boundaries/global-services.html)。

如果您想要停用 Amazon Q Developer 發出的跨區域呼叫，您可以建立政策來阻止 Amazon Q 代表您進行 API 呼叫。如此一來，您就無法存取需要 Amazon Q 代表您進行 API 呼叫的功能，即使 Amazon Q 是在您目前的區域內進行呼叫也一樣。如需阻止 Amazon Q 代表您進行 API 呼叫的 IAM 政策 (包括跨區域呼叫)，請參閱 [拒絕 Amazon Q 許可代表您執行動作](id-based-policy-examples-users.md#id-based-policy-examples-deny-actions)。

# Amazon Q Developer 的身分和存取管理
<a name="security-iam"></a>

 AWS Identity and Access Management (IAM) 是 AWS 服務 ，可協助管理員安全地控制對 AWS resources 的存取。 IAM 管理員可控制誰可以*經過身分驗證* （登入） 和*授權* （具有許可） 來使用 Amazon Q Developer 資源。 IAM 是您可以免費使用 AWS 服務 的 。

**Topics**
+ [目標對象](#security-iam-audience)
+ [使用身分驗證](#security-iam-authentication)
+ [使用政策管理存取權](#security-iam-access-manage)
+ [Amazon Q Developer 如何搭配 IAM 運作](security-iam-service-with-iam.md)
+ [使用政策管理 Amazon Q Developer 的存取權](security_iam_manage-access-with-policies.md)
+ [管理對 Amazon Q Developer 的存取權以進行第三方整合](security_iam_manage-access-with-kms-policies.md)
+ [Amazon Q Developer 許可參考](security_iam_permissions.md)
+ [AWS Amazon Q Developer 的 受管政策](managed-policy.md)
+ [針對 Amazon Q Developer 和使用者訂閱使用服務連結角色](using-service-linked-roles.md)

## 目標對象
<a name="security-iam-audience"></a>

使用 的方式 IAM 會有所不同，取決於您在 Amazon Q 中執行的工作。

 **服務使用者** ‒ 如果您使用 Amazon Q 執行任務，您的管理員會為您提供您需要的憑證和許可。隨著您為了執行作業而使用的 Amazon Q 功能數量變多，您可能會需要額外的許可。瞭解存取許可的管理方式可協助您向管理員請求正確的許可。

 **服務管理員** − 如果您在公司負責管理 Amazon Q 資源，建議您掌握 Amazon Q 的完整存取權。您的任務是決定服務使用者應該存取哪些 Amazon Q 功能和資源。您接著必須將請求提交給您的 IAM 管理員，來變更您服務使用者的許可。檢閱此頁面上的資訊，以了解 的基本概念 IAM。若要進一步了解貴公司如何 IAM 搭配 Amazon Q 使用 ，請參閱 [Amazon Q 的運作方式 IAM](security-iam-service-with-iam.md)。

 ** IAM 管理員**：如果您是 IAM 管理員，建議您進一步了解如何撰寫政策以管理 Amazon Q 的存取權。如果您是 IAM 管理員，請考慮了解如何撰寫政策以管理 IAM 使用者存取 服務的詳細資訊。如需 Amazon Q 的特定資訊，請參閱 [Amazon Q 的AWS 區域 受管政策](managed-policy.md)。

## 使用身分驗證
<a name="security-iam-authentication"></a>

身分驗證是您 AWS 使用身分憑證登入 的方式。您必須擔任 IAM 角色，以 AWS 帳戶 根使用者、 IAM 使用者或 身分*進行身分驗證* （登入 AWS)。

您可以使用透過身分來源提供的登入資料，以聯合身分 AWS 形式登入 。 AWS IAM Identity Center (IAM Identity Center) 使用者、您公司的單一登入身分驗證，以及您的 Google或 Facebook登入資料是聯合身分的範例。當您以聯合身分身分登入時，您的管理員先前會使用 IAM 角色設定聯合身分。當您使用聯合 AWS 身分存取 時，您會間接擔任角色。

根據您的使用者類型，您可以登入 AWS 管理主控台 或 AWS 存取入口網站。如需登入 的詳細資訊 AWS，請參閱*AWS 登入 《 使用者指南*》中的[如何登入您的 AWS 帳戶](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) 。

無論您使用何種身分驗證方法，您可能還需要提供額外的安全性資訊。例如， AWS 建議您使用多重驗證 (MFA) 來提高帳戶的安全性。如需更多資訊，請參閱 *AWS IAM Identity Center 使用者指南*中的[多重要素驗證](https://docs.aws.amazon.com/singlesignon/latest/userguide/enable-mfa.html)和 *IAM 使用者指南*中的[在 AWS中使用多重要素驗證 (MFA)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html)。

### AWS 帳戶根使用者
<a name="security-iam-authentication-rootuser"></a>

第一次建立 時 AWS 帳戶，您會從單一登入身分開始，該身分可完整存取帳戶中的所有 AWS 服務 和資源。此身分稱為 AWS 帳戶根使用者 ，可透過使用您用來建立帳戶的電子郵件地址和密碼登入來存取。強烈建議您不要以根使用者處理日常作業。保護您的根使用者憑證，並將其用來執行只能由根使用者執行的任務。如需這些任務的完整清單，瞭解需以根使用者登入的任務，請參閱《* IAM 使用者指南*》中的[需要根使用者憑證的任務](https://docs.aws.amazon.com/accounts/latest/reference/root-user-tasks.html)。

### 聯合身分
<a name="security-iam-authentication-federateduser"></a>

最佳實務是， 要求人類使用者，包括需要管理員存取權的使用者，使用 聯合身分提供者 AWS 服務 來使用臨時憑證來存取 。

聯合身分是來自您的企業使用者目錄、Web 身分提供者、 AWS Directory Service、Identity Center 目錄，或使用透過身分來源提供的 AWS 服務 登入資料存取的任何使用者。當聯合身分存取時 AWS 帳戶，它們會擔任 角色，而角色會提供臨時登入資料。

對於集中式存取權管理，我們建議您使用 AWS IAM Identity Center。您可以在 IAM Identity Center 中建立使用者和群組，也可以連接並同步到您自己的身分來源中的一組使用者 AWS 帳戶 和群組，以便在所有 和應用程式中使用。如需 IAM Identity Center 的詳細資訊，請參閱 *AWS IAM Identity Center 使用者指南*中的[什麼是 IAM Identity Center？](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)。

### IAM 使用者 和 群組
<a name="security-iam-authentication-iamuser"></a>

* [IAM 使用者](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html) * 是您 中的身分 AWS 帳戶 ，具有單一人員或應用程式的特定許可。如果可能，我們建議依賴臨時登入資料，而不是建立擁有密碼和存取金鑰等長期登入資料 IAM 使用者 的人員。但是如果特定使用案例需要擁有長期憑證的 IAM 使用者，建議您輪換存取金鑰。如需更多資訊，請參閱《*IAM 使用者指南*》中的[為需要長期憑證的使用案例定期輪換存取金鑰](https://docs.aws.amazon.com//IAM/latest/UserGuide/best-practices.html#rotate-credentials)。

[IAM 群組](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)是指定 集合的身分 IAM 使用者。您無法以群組身分登入。您可以使用群組來一次為多名使用者指定許可。群組可讓管理大量使用者許可的程序變得更為容易。例如，您可以擁有名為 *IAMAdmins* 的群組，並授予該群組管理 IAM 資源的許可。

使用者與角色不同。使用者只會與單一人員或應用程式建立關聯，但角色的目的是在由任何需要它的人員取得。使用者擁有永久的長期憑證，但角色僅提供臨時憑證。如需詳細資訊，請參閱《IAM 使用者指南》**中的[建立 IAM 使用者 (而非角色) 的時機](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html#id_which-to-choose)。

### IAM 角色
<a name="security-iam-authentication-iamrole"></a>

*[IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)*是 中具有特定許可 AWS 帳戶 的身分。IAM 角色類似於 ， IAM 使用者 但不與特定人員相關聯。您可以切換 IAM 角色 AWS 管理主控台 ，[暫時在 中擔任 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)。您可以透過呼叫 AWS Command Line Interface (AWS CLI) 或 AWS API 操作或使用自訂 URL 來擔任角色。如需使用角色的方法之詳細資訊，請參閱《*IAM 使用者指南*》中的[使用 IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html)。

 IAM 具有臨時登入資料的 角色在下列情況下非常有用：
+  **聯合身分使用者存取** – 如需向聯合身分指派許可，請建立角色，並為角色定義許可。當聯合身分進行身分驗證時，該身分會與角色建立關聯，並獲授予由角色定義的許可。如需有關聯合角色的相關資訊，請參閱 [IAM 使用者指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp.html)中的*為第三方身分提供者建立角色*。如果您使用 IAM Identity Center，則需要設定許可集。為控制身分驗證後可以存取的內容，IAM Identity Center 將許可集與 IAM中的角色相關聯。如需有關許可集的資訊，請參閱 [AWS IAM Identity Center 使用者指南](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html)中的*許可集*。
+  **暫時 IAM 使用者 許可** – IAM 使用者 可以擔任 IAM 角色，暫時接受特定任務的不同許可。
+  **跨帳戶存取權** − 您可以使用 IAM 角色，允許不同帳戶中的某人 (受信任的主體) 存取您帳戶的資源。角色是授予跨帳戶存取權的主要方式。但是，針對某些 AWS 服務，您可以將政策直接連接到資源 (而非使用角色做為代理)。如需跨帳戶存取權的角色與資源型政策之間有何差異的詳細資訊，請參閱《IAM 使用者指南》**中的 [IAM 角色與資源型政策的差異](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_compare-resource-policies.html)。
+  **跨服務存取** – 有些 AWS 服務 使用其他 中的功能 AWS 服務。服務可能會使用呼叫主體的許可、使用服務角色或使用服務連結角色來執行此作業。
  +  **委託人許可** – 當您使用 IAM 使用者 或 角色在 中執行動作時 AWS，您會被視為委託人。政策能將許可授予主體。當您使用某些服務時，您可能會執行一個動作，然後在不同的服務中觸發另一個動作。在此情況下，您必須具有執行這兩個動作的許可。
  +  **服務角色** – 服務角色是服務擔任以代表您執行動作 IAM 的角色。 IAM 管理員可以從 IAM內建立、修改和刪除服務角色。如需詳細資訊，請參閱 *IAM 使用者指南*中的[建立角色以委派許可給 AWS 服務服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。
  +  **服務連結角色** – 服務連結角色是一種連結至 的服務角色。 AWS 服務服務可以擔任代表您執行動作的角色。服務連結角色會出現在您的 中 AWS 帳戶 ，並由服務擁有。 IAM 管理員可以檢視，但不能編輯服務連結角色的許可。
+  **在 上執行 Amazon EC2 的應用程式 ** – 您可以使用 IAM 角色來管理在 Amazon EC2 執行個體上執行之應用程式的臨時登入資料，以及提出 AWS CLI 或 AWS API 請求。這是在 Amazon EC2 執行個體內存放存取金鑰的較好方式。若要將 IAM 角色指派給 Amazon EC2 執行個體並將其提供給其所有應用程式，您可以建立連接至執行個體的執行個體描述檔。執行個體描述檔包含 角色，並可讓在 Amazon EC2 執行個體上執行的程式取得臨時登入資料。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[使用 IAM 角色將許可授予在 Amazon EC2 執行個體上執行的應用程式](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html)。

如需是否使用 IAM 角色的詳細資訊，請參閱《*IAM 使用者指南*》中的[何時建立 IAM 角色 （而非使用者）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html#id_which-to-choose_role)。

## 使用政策管理存取權
<a name="security-iam-access-manage"></a>

您可以透過建立政策並將其連接到身分或資源 AWS 來控制 AWS 中的存取。政策是 中的物件，當與身分或資源相關聯時， AWS 會定義其許可。當委託人 （使用者、根使用者或角色工作階段） 發出請求時， 會 AWS 評估這些政策。政策中的許可決定是否允許或拒絕請求。大多數政策會以 JSON 文件 AWS 形式存放在 中。如需 JSON 政策文件結構和內容的詳細資訊，請參閱《*IAM 使用者指南*》中的 [JSON 政策概觀](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json)。

管理員可以使用 AWS JSON 政策來指定誰可以存取內容。也就是說，哪個**主體**在什麼**條件**下可以對什麼**資源**執行哪些**動作**。

每個 IAM 實體 （使用者或角色） 都從沒有許可開始。根據預設，使用者什麼都不做，甚至無法變更自己的密碼。若要授予使用者執行動作的許可，管理員必須將許可政策附加到使用者。或者，管理員可以將使用者新增到具備預定許可的群組。當管理員將許可授予群組時，該群組中的所有使用者都會獲得這些許可。

 IAM 無論您用來執行操作的方法為何， 政策都會定義動作的許可。例如，假設您有一個允許 `iam:GetRole` 動作的政策。具有該政策的使用者可以從 AWS 管理主控台 AWS CLI、 或 AWS API 取得角色資訊。

### 身分型政策
<a name="security-iam-access-manage-id-based-policies"></a>

身分型政策是您可以連接到身分的 JSON 許可政策文件，例如 IAM 使用者、 角色或 群組。這些政策可控制身分在何種條件下能對哪些資源執行哪些動作。如需如何建立身分型政策的詳細資訊，請參閱《IAM 使用者指南》**中的[建立 IAM 政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

身分型政策可進一步分類成*內嵌政策*或*受管政策*。內嵌政策會直接嵌入單一使用者、群組或角色。受管政策是獨立的政策，您可以連接到 中的多個使用者、群組和角色 AWS 帳戶。受管政策包括 AWS 受管政策和客戶受管政策。如需如何在受管政策與內嵌政策之間選擇的詳細資訊，請參閱《IAM 使用者指南》**中的[在受管政策和內嵌政策間選擇](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#choosing-managed-or-inline)。

### 資源型政策
<a name="security-iam-access-manage-resource-based-policies"></a>

資源型政策是附加到資源 (如 Amazon S3 儲存貯體) 的 JSON 政策文件。服務管理員可使用這些政策來定義指定委託人 (帳戶成員、使用者或角色) 可以在什麼情況下對該資源執行什麼動作。資源型政策是內嵌政策。不存在受管的資源型政策。

### 存取控制清單 (ACL)
<a name="security-iam-access-manage-acl"></a>

存取控制清單 (ACL) 是可控制哪些主體 (帳戶成員、使用者或角色) 擁有存取某資源之許可的政策類型。ACL 類似於以資源為基礎的政策，雖然它們不使用 JSON 政策文件格式。 Amazon S3 AWS WAF， 和 Amazon VPC 是支援 ACLs的服務範例。如需 ACL 的詳細資訊，請參閱《Amazon S3 使用者指南》**中的[存取控制清單 (ACL) 概觀](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)。

### 其他政策類型
<a name="security-iam-access-manage-other-policies"></a>

 AWS 支援其他較不常見的政策類型。這些政策類型可設定較常見政策類型授予您的最大許可。
+  **許可界限** – 許可界限是一種進階功能，您可以在其中設定身分型政策可授予 IAM 實體 (IAM 使用者 或角色） 的最大許可。您可以為實體設定許可界限。所產生的許可會是實體的身分類型政策和其許可界限的交集。會在 `Principal` 欄位中指定使用者或角色的資源型政策則不會受到許可界限限制。任何這些政策中的明確拒絕都會覆寫允許。如需許可界限的詳細資訊，請參閱《*IAM 使用者指南*》中的 [IAM 實體的許可界限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)。
+  **服務控制政策 SCPs)** – SCPs是 JSON 政策，可指定 中組織或組織單位 (OU) 的最大許可 AWS Organizations。 AWS Organizations 是一種用於分組和集中管理您企業擁有 AWS 帳戶 的多個 的服務。如果您啟用組織中的所有功能，則可以將 SCPs 套用至任何或所有帳戶。SCP 會限制成員帳戶中實體的許可，包括每個 AWS 帳戶 根使用者。如需 Organizations 和 SCP 的詳細資訊，請參閱 *AWS Organizations 使用者指南*中的 [SCP 運作方式](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_about-scps.html)。
+  **工作階段政策** – 工作階段政策是一種進階政策，您可以在透過編寫程式的方式建立角色或聯合使用者的暫時工作階段時，作為參數傳遞。所產生工作階段的許可會是使用者或角色的身分型政策和工作階段政策的交集。許可也可以來自資源型政策。所有這類政策中的明確拒絕都會覆寫該允許。如需詳細資訊，請參《*IAM 使用者指南*》中的[工作階段政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)。

### 多種政策類型
<a name="security-iam-access-manage-multiple-policies"></a>

當多種類型的政策套用到請求時，產生的許可會更複雜而無法理解。若要了解如何 AWS 決定是否在涉及多個政策類型時允許請求，請參閱《*IAM 使用者指南*》中的[政策評估邏輯](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)。

# Amazon Q Developer 如何搭配 IAM 運作
<a name="security-iam-service-with-iam"></a>

在您使用 IAM 管理對 Amazon Q Developer 的存取權之前，請先了解哪些 IAM 功能可以與 Amazon Q Developer 搭配使用。






**您可以搭配 Amazon Q Developer 使用的 IAM 功能**  

| IAM 功能 | Amazon Q 支援 | 
| --- | --- | 
|  [身分型政策](#security-iam-service-with-iam-id-based-policies)  |   是  | 
|  [資源型政策](#security_iam_service-with-iam-resource-based-policies)  |   否   | 
|  [政策動作](#security_iam_service-with-iam-id-based-policies-actions)  |   是  | 
|  [政策資源](#security_iam_service-with-iam-id-based-policies-resources)  |   否   | 
|  [政策條件索引鍵](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   否   | 
|  [ACL](#security_iam_service-with-iam-acls)  |   否   | 
|  [ABAC(政策中的標籤)](#security_iam_service-with-iam-tags)  |   否   | 
|  [臨時憑證](#security_iam_service-with-iam-roles-tempcreds)  |   是  | 
|  [主體許可](#security_iam_service-with-iam-principal-permissions)  |   是  | 
|  [服務角色](#security_iam_service-with-iam-roles-service)  |   否   | 
|  [服務連結角色](#security_iam_service-with-iam-roles-service-linked)  |  是  | 

若要全面了解 Amazon Q 和其他 如何與大多數 IAM 功能 AWS 服務 搭配使用，請參閱《[AWS 服務 IAM 使用者指南》中的 與 IAM 搭配使用](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。 **

## Amazon Q 身分型政策
<a name="security-iam-service-with-iam-id-based-policies"></a>

**支援身分型政策：**是

身分型政策是可以附加到身分 (例如 IAM 使用者、使用者群組或角色) 的 JSON 許可政策文件。這些政策可控制身分在何種條件下能對哪些資源執行哪些動作。如需了解如何建立身分型政策，請參閱《*IAM 使用者指南*》中的[透過客戶管理政策定義自訂 IAM 許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

使用 IAM 身分型政策，您可以指定允許或拒絕的動作和資源，以及在何種條件下允許或拒絕動作。如要瞭解您在 JSON 政策中使用的所有元素，請參閱 *IAM 使用者指南*中的 [IAM JSON 政策元素參考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)。

### Amazon Q 的身分型政策範例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



若要檢視 Amazon Q Developer 身分型政策的範例，請參閱 [Amazon Q Developer 的身分型政策範例](security_iam_id-based-policy-examples.md)。

## Amazon Q 中的資源型政策
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**支援資源型政策：**否 

資源型政策是附加到資源的 JSON 政策文件。資源型政策的最常見範例是 IAM *角色信任政策*和 Amazon S3 *儲存貯體政策*。在支援資源型政策的服務中，服務管理員可以使用它們來控制對特定資源的存取權限。對於附加政策的資源，政策會定義指定的主體可以對該資源執行的動作以及在何種條件下執行的動作。您必須在資源型政策中[指定主體](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)。委託人可以包含帳戶、使用者、角色、聯合身分使用者或 AWS 服務。

如需啟用跨帳戶存取權，您可以在其他帳戶內指定所有帳戶或 IAM 實體作為資源型政策的主體。如需詳細資訊，請參閱《*IAM 使用者指南*》中的 [IAM 中的快帳戶資源存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)。

## Amazon Q 的政策動作
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**支援政策動作：**是

管理員可以使用 AWS JSON 政策來指定誰可以存取內容。也就是說，哪個**主體**在什麼**條件**下可以對什麼**資源**執行哪些**動作**。

JSON 政策的 `Action` 元素描述您可以用來允許或拒絕政策中存取的動作。政策會使用動作來授予執行相關聯動作的許可。



若要查看 Amazon Q 動作的清單，請參閱 [使用政策管理 Amazon Q Developer 的存取權](security_iam_manage-access-with-policies.md)。

Amazon Q 中的政策動作會在動作之前使用下列前綴：

```
q
```

若要在單一陳述式中指定多個動作，請用逗號分隔動作。

```
"Action": [
      "q:action1",
      "q:action2"
         ]
```





您也可以使用萬用字元 (\$1) 來指定多個動作。例如，若要指定開頭是 `Get` 文字的所有動作，請包含以下動作：

```
"Action": "q:Get*"
```

若要檢視 Amazon Q Developer 身分型政策的範例，請參閱 [Amazon Q Developer 的身分型政策範例](security_iam_id-based-policy-examples.md)。

## Amazon Q 的政策資源
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**支援政策資源：**否 

管理員可以使用 AWS JSON 政策來指定誰可以存取內容。也就是說，哪個**主體**在什麼**條件**下可以對什麼**資源**執行哪些**動作**。

`Resource` JSON 政策元素可指定要套用動作的物件。最佳實務是使用其 [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) 來指定資源。若動作不支援資源層級許可，使用萬用字元 (\$1) 表示該陳述式適用於所有資源。

```
"Resource": "*"
```





若要檢視 Amazon Q Developer 身分型政策的範例，請參閱 [Amazon Q Developer 的身分型政策範例](security_iam_id-based-policy-examples.md)。

## Amazon Q 的政策條件金鑰
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**支援服務特定政策條件金鑰：**否 

管理員可以使用 AWS JSON 政策來指定誰可以存取內容。也就是說，哪個**主體**在什麼**條件**下可以對什麼**資源**執行哪些**動作**。

`Condition` 元素會根據定義的條件，指定陳述式的執行時機。您可以建立使用[條件運算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)的條件運算式 (例如等於或小於)，來比對政策中的條件和請求中的值。若要查看所有 AWS 全域條件索引鍵，請參閱《*IAM 使用者指南*》中的[AWS 全域條件內容索引鍵](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。

若要檢視 Amazon Q Developer 身分型政策的範例，請參閱 [Amazon Q Developer 的身分型政策範例](security_iam_id-based-policy-examples.md)。

## Amazon Q 中的 ACL
<a name="security_iam_service-with-iam-acls"></a>

**支援 ACL：**否 

存取控制清單 (ACL) 可控制哪些主體 (帳戶成員、使用者或角色) 擁有存取某資源的許可。ACL 類似於資源型政策，但它們不使用 JSON 政策文件格式。

## 使用 Amazon Q 進行 ABAC
<a name="security_iam_service-with-iam-tags"></a>

**支援 ABAC (政策中的標籤)：**否 

屬性型存取控制 (ABAC) 是一種授權策略，依據稱為標籤的屬性來定義許可。您可以將標籤連接至 IAM 實體 AWS 和資源，然後設計 ABAC 政策，以便在委託人的標籤符合資源上的標籤時允許操作。

如需根據標籤控制存取，請使用 `aws:ResourceTag/key-name`、`aws:RequestTag/key-name` 或 `aws:TagKeys` 條件索引鍵，在政策的[條件元素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)中，提供標籤資訊。

如果服務支援每個資源類型的全部三個條件金鑰，則對該服務而言，值為 **Yes**。如果服務僅支援某些資源類型的全部三個條件金鑰，則值為 **Partial**。

如需 ABAC 的詳細資訊，請參閱《*IAM 使用者指南*》中的[使用 ABAC 授權定義許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)。如要查看含有設定 ABAC 步驟的教學課程，請參閱《*IAM 使用者指南*》中的[使用屬性型存取控制 (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)。

## 搭配 Amazon Q 使用臨時憑證
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**支援臨時憑證：**是

臨時登入資料提供 AWS 資源的短期存取權，並在您使用聯合或切換角色時自動建立。 AWS 建議您動態產生臨時登入資料，而不是使用長期存取金鑰。如需詳細資訊，請參閱《*IAM 使用者指南*》中的 [IAM 中的臨時安全憑證](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)與[可與 IAM 搭配運作的AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。

## Amazon Q 的跨服務主體許可
<a name="security_iam_service-with-iam-principal-permissions"></a>

**支援轉寄存取工作階段 (FAS)：**是

 轉送存取工作階段 (FAS) 使用呼叫 的委託人許可 AWS 服務，並結合 請求 AWS 服務 向下游服務提出請求。如需提出 FAS 請求時的政策詳細資訊，請參閱[轉發存取工作階段](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html)。

## Amazon Q 的服務角色
<a name="security_iam_service-with-iam-roles-service"></a>

**支援服務角色：**否 

 服務角色是服務擔任的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)，可代您執行動作。IAM 管理員可以從 IAM 內建立、修改和刪除服務角色。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[建立角色以委派許可給 AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。

**警告**  
變更服務角色的許可可能會中斷 Amazon Q 功能。只有在 Amazon Q 提供指引時，才能編輯服務角色。

## Amazon Q 的服務連結角色
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**支援服務連結角色：**是

 服務連結角色是連結至 的一種服務角色 AWS 服務。服務可以擔任代表您執行動作的角色。服務連結角色會出現在您的 中 AWS 帳戶 ，並由服務擁有。IAM 管理員可以檢視，但不能編輯服務連結角色的許可。

如需建立或管理 Amazon Q 服務連結角色的詳細資訊，請參閱 [針對 Amazon Q Developer 和使用者訂閱使用服務連結角色](using-service-linked-roles.md)。

# 使用政策管理 Amazon Q Developer 的存取權
<a name="security_iam_manage-access-with-policies"></a>

**注意**  
此頁面上的資訊與存取 Amazon Q Developer 有關。如需管理 Amazon Q Business 存取權的相關資訊，請參閱《Amazon Q Business 使用者指南》**中的[適用於 Amazon Q Business 的身分型政策範例](https://docs.aws.amazon.com/amazonq/latest/business-use-dg/security_iam_id-based-policy-examples.html)。  
本主題中的政策和範例專屬於 AWS 管理主控台、 AWS Documentation AWS Console Mobile Application AWS 網站和聊天應用程式中的 Amazon Q。與 Amazon Q 整合的其他服務可能需要不同的政策或設定。第三方 IDE 中的 Amazon Q 最終使用者不需要使用 IAM 政策。如需詳細資訊，請參閱包含 Amazon Q 功能或整合的服務文件。

根據預設，使用者和角色未具備使用 Amazon Q 的許可。IAM 管理員可以藉由將許可授與 IAM 身分來管理對 Amazon Q Developer 及其功能的存取權。

管理員授予使用者存取權的最快速方法是透過 AWS 受管政策。您可以將 `AmazonQFullAccess` 政策附加至 IAM 身分，以授與 Amazon Q Developer 及其功能的完整存取權。如需此政策的詳細資訊，請參閱 [AWS Amazon Q Developer 的 受管政策](managed-policy.md)。

若要管理 IAM 身分可以透過 Amazon Q Developer 執行的特定動作，管理員可以建立自訂政策來定義使用者、群組或角色擁有的許可。您也可以使用服務控制政策 (SCP) 來控制組織中可使用的 Amazon Q 功能。

如需可使用政策控制的所有 Amazon Q 許可清單，請參閱 [Amazon Q Developer 許可參考](security_iam_permissions.md)。

**Topics**
+ [政策最佳實務](#security_iam_policy-best-practices)
+ [指派許可](#setting-up-assign-permissions)
+ [使用服務控制政策 (SCP) 管理存取權](#service-control-policies)
+ [Amazon Q Developer 的身分型政策範例](security_iam_id-based-policy-examples.md)

## 政策最佳實務
<a name="security_iam_policy-best-practices"></a>

身分型政策會判斷您帳戶中的某個人員是否可以建立、存取或刪除 Amazon Q Developer 資源。這些動作可能會讓您的 AWS 帳戶產生費用。當您建立或編輯身分型政策時，請遵循下列準則及建議事項：
+ **開始使用 AWS 受管政策並邁向最低權限許可** – 若要開始將許可授予您的使用者和工作負載，請使用將許可授予許多常見使用案例的 *AWS 受管政策*。它們可在您的 中使用 AWS 帳戶。我們建議您定義特定於使用案例 AWS 的客戶受管政策，進一步減少許可。如需更多資訊，請參閱《*IAM 使用者指南*》中的 [AWS 受管政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)或[任務職能的AWS 受管政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)。
+ **套用最低權限許可** – 設定 IAM 政策的許可時，請僅授予執行任務所需的許可。為實現此目的，您可以定義在特定條件下可以對特定資源採取的動作，這也稱為*最低權限許可*。如需使用 IAM 套用許可的更多相關資訊，請參閱《*IAM 使用者指南*》中的 [IAM 中的政策和許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)。
+ **使用 IAM 政策中的條件進一步限制存取權** – 您可以將條件新增至政策，以限制動作和資源的存取。例如，您可以撰寫政策條件，指定必須使用 SSL 傳送所有請求。如果透過特定 例如 使用服務動作 AWS 服務，您也可以使用條件來授予其存取權 CloudFormation。如需詳細資訊，請參閱《*IAM 使用者指南*》中的 [IAM JSON 政策元素：條件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)。
+ **使用 IAM Access Analyzer 驗證 IAM 政策，確保許可安全且可正常運作** – IAM Access Analyzer 驗證新政策和現有政策，確保這些政策遵從 IAM 政策語言 (JSON) 和 IAM 最佳實務。IAM Access Analyzer 提供 100 多項政策檢查及切實可行的建議，可協助您撰寫安全且實用的政策。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[使用 IAM Access Analyzer 驗證政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html)。
+ **需要多重要素驗證 (MFA)** – 如果您的案例需要 IAM 使用者或 中的根使用者 AWS 帳戶，請開啟 MFA 以提高安全性。如需在呼叫 API 操作時請求 MFA，請將 MFA 條件新增至您的政策。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[透過 MFA 的安全 API 存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html)。

如需 IAM 中最佳實務的相關資訊，請參閱《*IAM 使用者指南*》中的 [IAM 安全最佳實務](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)。

## 指派許可
<a name="setting-up-assign-permissions"></a>

若要提供存取權，請新增權限至您的使用者、群組或角色：
+ 中的使用者和群組 AWS IAM Identity Center：

  建立權限合集。請按照《*AWS IAM Identity Center 使用者指南*》中的[建立權限合集](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)說明進行操作。
+ 透過身分提供者在 IAM 中管理的使用者：

  建立聯合身分的角色。遵循《*IAM 使用者指南*》的[為第三方身分提供者 (聯合) 建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html)中的指示。
+ IAM 使用者：
  + 建立您的使用者可擔任的角色。請按照《*IAM 使用者指南*》的[為 IAM 使用者建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)中的指示。
  + (不建議) 將政策直接附加至使用者，或將使用者新增至使用者群組。請遵循《*IAM 使用者指南*》的[新增許可到使用者 (主控台)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) 中的指示。

## 使用服務控制政策 (SCP) 管理存取權
<a name="service-control-policies"></a>

服務控制政策 (SCP) 是一種組織政策類型，可用來管理您的組織中的許可。您可以建立 SCP 來指定部分或所有 Amazon Q 動作的許可，以藉此方式控制組織中可使用哪些 Amazon Q Developer 功能。

如需使用 SCP 在組織中控制存取權的詳細資訊，請參閱《AWS Organizations 使用者指南》**中的[建立、更新和刪除服務控制政策](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_create.html)和[附加與分離服務控制政策](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_attach.html)。

### 範例 SCP：拒絕存取歐盟區域以外的 Amazon Q
<a name="example-scp-deny-q-outside-eu"></a>

下列 SCP 會拒絕對歐洲 (法蘭克福) 區域 (eu-central-1) 以外任何使用 Amazon Q Developer 的存取。

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

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyAmazonQDeveloperOutsideEU",
      "Effect": "Deny",
      "Action": [
         "codewhisperer:GenerateRecommendations",
         "q:SendMessage",
         "q:GenerateCodeFromCommands",
         "sqlworkbench:GetQSqlRecommendations"
         ],
      "Resource": "*",
      "Condition": {
        "StringNotEquals": 
        {"aws:RequestedRegion": [ "eu-central-1"] }
      }
    }
  ]
}
```

------

### 範例 SCP：拒絕存取 Amazon Q
<a name="example-scp-deny-q-access"></a>

以下 SCP 會拒絕對 Amazon Q Developer 的存取。

**注意**  
拒絕存取 Amazon Q 不會停用主控台、 AWS 網站、 AWS 文件頁面或 AWS 中的 Amazon Q 圖示或聊天面板 AWS Console Mobile Application。

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

****  

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

------

# Amazon Q Developer 的身分型政策範例
<a name="security_iam_id-based-policy-examples"></a>

以下 IAM 政策範例可控制各種 Amazon Q Developer 動作的許可。使用這些範例可允許或拒絕您的使用者、角色或群組存取 Amazon Q Developer。

**注意**  
下列範例政策會授與 Amazon Q Developer 功能的許可，但使用者可能需要額外的許可，才能透過 Amazon Q Developer 專業方案訂閱存取 Amazon Q。如需詳細資訊，請參閱[允許使用者透過 Amazon Q Developer 專業方案訂閱存取 Amazon Q](id-based-policy-examples-users.md#id-based-policy-examples-allow-subs-access)。

您可以依原內容使用這些政策，也可以針對您要使用的個別 Amazon Q 功能新增許可。如需設定搭配 Amazon Q 的 IAM 許可的詳細資訊，請參閱 [使用政策管理 Amazon Q Developer 的存取權](security_iam_manage-access-with-policies.md)。

如需可使用政策控制的所有 Amazon Q 許可清單，請參閱 [Amazon Q Developer 許可參考](security_iam_permissions.md)。

**Topics**
+ [管理員許可](id-based-policy-examples-admins.md)
+ [使用者許可](id-based-policy-examples-users.md)

# 管理員許可
<a name="id-based-policy-examples-admins"></a>

下列政策允許 Amazon Q Developer 管理員在 Amazon Q 訂閱管理主控台和 Amazon Q Developer 主控台中執行管理任務。

如需啟用 Amazon Q Developer 功能以供使用的政策，請參閱 [使用者許可](id-based-policy-examples-users.md)。

## 允許管理員使用 Amazon Q 主控台
<a name="q-admin-setup-admin-users-sub"></a>

下列範例政策會授與使用者在 Amazon Q 主控台中執行動作的許可。Amazon Q 主控台可讓您設定 Amazon Q 與 AWS IAM Identity Center 和 的整合 AWS Organizations。大多數其他與 Amazon Q Developer 相關的任務都必須在 Amazon Q Developer 主控台中完成。如需詳細資訊，請參閱[允許管理員使用 Amazon Q Developer 主控台](#q-admin-setup-admin-users)。

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

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

****  

```
{
   "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:CreateInstance",
            "sso:CreateApplication",
            "sso:PutApplicationAuthenticationMethod",
            "sso:PutApplicationAssignmentConfiguration",
            "sso:PutApplicationGrant",
            "sso:PutApplicationAccessScope",
            "sso:DescribeApplication",
            "sso:DeleteApplication",
            "sso:GetSSOStatus",
            "sso:CreateApplicationAssignment",
            "sso:DeleteApplicationAssignment",
            "sso:UpdateApplication"
         ],
         "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 主控台
<a name="q-admin-setup-admin-users"></a>

下列範例政策會授與使用者存取 Amazon Q Developer 主控台的許可。在 Amazon Q Developer 主控台中，管理員會執行大多數與 Amazon Q Developer 相關的組態任務，包括與訂閱、程式碼參考、自訂和聊天外掛程式相關的任務。此政策也包括建立和設定客戶自管 KMS 金鑰的許可。

有少數 Amazon Q Developer 專業方案任務管理員必須透過 Amazon Q 主控台才能完成 (而非 Amazon Q Developer 主控台)。如需詳細資訊，請參閱[允許管理員使用 Amazon Q 主控台](#q-admin-setup-admin-users-sub)。

**注意**  
若要建立自訂或外掛程式，您的 Amazon Q Developer 專業方案管理員將需要額外的許可。  
如需自訂所需的許可，請參閱自訂的先決條件一節。
如需外掛程式所需的許可，請參閱 [允許管理員設定外掛程式](#id-based-policy-examples-admin-plugins)。

您需要兩項政策之一，才能使用 Amazon Q Developer 主控台。您需要的政策取決於您是第一次設定 Amazon Q Developer，還是設定舊版 Amazon CodeWhisperer 設定檔。

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

若是 Amazon Q Developer 的新管理員，請使用下列政策：

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sso:ListInstances",
        "sso:CreateInstance",
        "sso:CreateApplication",
        "sso:PutApplicationAuthenticationMethod",
        "sso:PutApplicationGrant",
        "sso:PutApplicationAssignmentConfiguration",
        "sso:ListApplications",
        "sso:GetSharedSsoConfiguration",
        "sso:DescribeInstance",
        "sso:PutApplicationAccessScope",
        "sso:DescribeApplication",
        "sso:DeleteApplication",
        "sso:CreateApplicationAssignment",
        "sso:DeleteApplicationAssignment",
        "sso:UpdateApplication",
        "sso:DescribeRegisteredRegions",
        "sso:GetSSOStatus"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:ListRoles"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "identitystore:DescribeUser"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "sso-directory:GetUserPoolInfo",
        "sso-directory:DescribeUsers",
        "sso-directory:DescribeGroups",
        "sso-directory:SearchGroups",
        "sso-directory:SearchUsers",
        "sso-directory:DescribeDirectory"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "signin:ListTrustedIdentityPropagationApplicationsForConsole",
        "signin:CreateTrustedIdentityPropagationApplicationForConsole"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "user-subscriptions:ListClaims",
        "user-subscriptions:ListApplicationClaims",
        "user-subscriptions:ListUserSubscriptions",
        "user-subscriptions:CreateClaim",
        "user-subscriptions:DeleteClaim",
        "user-subscriptions:UpdateClaim"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "organizations:DescribeAccount",
        "organizations:DescribeOrganization",
        "organizations:ListAWSServiceAccessForOrganization",
        "organizations:DisableAWSServiceAccess",
        "organizations:EnableAWSServiceAccess"
      ],
      "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": [
        "q:ListDashboardMetrics", 
        "q:CreateAssignment", 
        "q:DeleteAssignment"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:GetMetricData", 
        "cloudwatch:ListMetrics"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

對於舊版 Amazon CodeWhisperer 設定檔，下列政策將可讓 IAM 主體管理 CodeWhisperer 應用程式。

****  

```
{
  "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": [
        "q:ListDashboardMetrics",
        "cloudwatch:GetMetricData",
        "cloudwatch:ListMetrics"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

## 允許管理員建立自訂
<a name="id-based-policy-examples-allow-customizations"></a>

下列政策會授與管理員在 Amazon Q Developer 中建立和管理自訂的許可。

若要在 Amazon Q Developer 主控台中設定自訂，您的 Amazon Q Developer 管理員將需要存取 Amazon Q Developer 主控台。如需詳細資訊，請參閱[允許管理員使用 Amazon Q Developer 主控台](#q-admin-setup-admin-users)。

**注意**  
在下列政策中，IAM 服務將回報有關 `codeconnections:ListOwners` 和 `codeconnections:ListRepositories` 許可的錯誤。儘管如此，仍請建立包含這些許可的政策。許可為必要，即使發生錯誤，政策仍會運作。

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

在下列範例中，將*帳戶號碼*取代為您的 AWS 帳戶號碼。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sso-directory:DescribeUsers"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:CreateGrant"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "codewhisperer:CreateCustomization",
                "codewhisperer:DeleteCustomization",
                "codewhisperer:ListCustomizations",
                "codewhisperer:ListCustomizationVersions",
                "codewhisperer:UpdateCustomization",
                "codewhisperer:GetCustomization",
                "codewhisperer:ListCustomizationPermissions",
                "codewhisperer:AssociateCustomizationPermission",
                "codewhisperer:DisassociateCustomizationPermission"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "codeconnections:ListOwners",
                "codeconnections:ListRepositories",
                "codeconnections:ListConnections",
                "codeconnections:GetConnection"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "codeconnections:UseConnection",
            "Resource": [
                "*"
            ],
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "codeconnections:ProviderAction": [
                        "GitPull",
                        "ListRepositories",
                        "ListOwners"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject*",
                "s3:GetBucket*",
                "s3:ListBucket*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

## 允許管理員設定外掛程式
<a name="id-based-policy-examples-admin-plugins"></a>

下列範例政策會授與管理員在 Amazon Q Developer 主控台中檢視和設定第三方外掛程式的許可。

**注意**  
為了存取 Amazon Q Developer 主控台，管理員還需要 [允許管理員使用 Amazon Q Developer 主控台](#q-admin-setup-admin-users) 中定義的許可。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "q:CreatePlugin",
        "q:GetPlugin",
        "q:DeletePlugin",
        "q:ListPlugins",
        "q:ListPluginProviders",
        "q:UpdatePlugin",
        "q:CreateAuthGrant",
        "q:CreateOAuthAppConnection",
        "q:SendEvent",
        "q:UpdateAuthGrant",
        "q:UpdateOAuthAppConnection",
        "q:UpdatePlugin",
        "iam:CreateRole",
        "secretsmanager:CreateSecret"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": [
            "q.amazonaws.com"
          ]
        }
      }
    }
  ]
}
```

------

## 允許管理員設定來自某一提供者的外掛程式
<a name="id-based-policy-examples-admin-plugins-one-provider"></a>

下列範例政策會授與管理員許可，以設定來自某一提供者的外掛程式，該提供者是由外掛程式 ARN 指定，且其名稱為外掛程式提供者和萬用字元 (`*`)。若要使用此政策，請取代「資源」欄位中 ARN 的下列內容：
+ *AWS-region* – 要建立外掛程式 AWS 區域 的 。
+ *AWS-account-ID* – 您設定外掛程式的帳戶 AWS ID。
+ *plugin-provider* - 您要允許設定的外掛程式提供者名稱，例如 `CloudZero`、`Datadog` 或 `Wiz`。外掛程式提供者欄位區分大小寫。

**注意**  
為了存取 Amazon Q Developer 主控台，管理員還需要 [允許管理員使用 Amazon Q Developer 主控台](#q-admin-setup-admin-users) 中定義的許可。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCreateProviderPlugin",
            "Effect": "Allow",
            "Action": [
                "q:CreatePlugin",
                "q:GetPlugin",
                "q:DeletePlugin"
            ],
            "Resource": "arn:aws:qdeveloper:us-east-1:111122223333:plugin/plugin-provider/*"
        }
    ]
}
```

------

## 允許移轉多個網路或多個子網路
<a name="id-based-policy-examples-ezrc"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "MGNNetworkMigrationAnalyzerEC2ResourceSgTag",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateSecurityGroup"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:vpc/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
                }
            }
        },
        {
            "Sid": "MGNNetworkMigrationAnalyzerEC2RequestSgTag",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateSecurityGroup"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:security-group/*",
                "arn:aws:ec2:us-east-1:111122223333:security-group-rule/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/CreatedBy": "AWSApplicationMigrationService"
                }
            }
        },

        {
            "Sid": "MGNNetworkMigrationAnalyzerEC2SecurityGroupTags",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:security-group/*",
                "arn:aws:ec2:us-east-1:111122223333:security-group-rule/*",
                "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
                "arn:aws:ec2:us-east-1:111122223333:network-insights-path/*",
                "arn:aws:ec2:us-east-1:111122223333:network-insights-analysis/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
                    "ec2:CreateAction": [
                        "CreateSecurityGroup",
                        "CreateNetworkInterface",
                        "CreateNetworkInsightsPath",
                        "StartNetworkInsightsAnalysis"
                    ]
                }
            }
        },
        {
            "Sid": "MGNNetworkMigrationAnalyzerENIResourceTag",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:subnet/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
                }
            }
        },
        {
            "Sid": "MGNNetworkMigrationAnalyzerENISG",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:security-group/*"
            ]
        },
        {
            "Sid": "MGNNetworkMigrationAnalyzerEC2ResourceTag",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInsightsPath"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
                }
            }
        },
        {
            "Sid": "MGNNetworkMigAnalyzerEC2RequestTag",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:CreateNetworkInsightsPath",
                "ec2:StartNetworkInsightsAnalysis"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/CreatedBy": "AWSApplicationMigrationService"
                }
            }
        },
        {
            "Sid": "MGNNetworkMigrationAnalyzeNetwork",
            "Effect": "Allow",
            "Action": [
                "ec2:StartNetworkInsightsAnalysis"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

# 使用者許可
<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](command-line.md) 的使用者不需要 IAM 許可。

## 允許使用者透過 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 存取成本資料並提供成本最佳化建議
<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 區域* – 建立外掛程式 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": "*"
        }
    ]
}
```

# 管理對 Amazon Q Developer 的存取權以進行第三方整合
<a name="security_iam_manage-access-with-kms-policies"></a>

對於第三方整合，您必須使用 AWS Key Management Service (KMS) 來管理對 Amazon Q Developer 的存取，而不是身分型或資源型的 IAM 政策。

## 允許管理員使用客戶自管金鑰來更新角色政策
<a name="kms-policy-examples-allow-access"></a>

下列範例金鑰政策會授與在 KMS 主控台中所設定角色上建立金鑰政策時，使用[客戶自管金鑰 (CMK)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) 的許可。設定 CMK 時，您必須提供 [IAM 角色 ARN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns)，整合會使用此識別符來呼叫 Amazon Q。如果您已將整合 (例如 GitLab 執行個體) 上線，則必須將執行個體重新上線，所有資源才能使用 CMK 進行加密。

`kms:ViaService` 條件金鑰會將 KMS 金鑰的使用限於來自所指定 AWS 服務的請求。此外，若請求來自特定服務，它也可用來拒絕使用 KMS 金鑰的許可。使用條件金鑰可限制誰能使用 CMK 來加密或解密內容。如需詳細資訊，請參閱《AWS Key Management Service 開發人員指南》**中的 [kms:ViaService](https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-via-service)。

使用 KMS 加密內容時，您可將一組選用的金鑰值對包含在使用對稱加密 KMS 金鑰的密碼編譯操作中，以增強授權和稽核能力。加密內容可用來驗證加密資料的完整性和真實性、控制對金鑰政策和 IAM 政策中對稱加密 KMS 金鑰的存取，以及識別和分類 AWS CloudTrail 日誌中的密碼編譯操作。如需詳細資訊，請參閱《AWS Key Management Service 開發人員指南》**中的[加密內容](https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html)。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Sid0",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/rolename"
            },
            "Action": [
                "kms:GenerateDataKeyWithoutPlaintext",
                "kms:Decrypt",
                "kms:ReEncryptFrom",
                "kms:ReEncryptTo",
                "kms:GenerateDataKey",
                "kms:Encrypt"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": "q.us-east-1.amazonaws.com",
                    "kms:EncryptionContext:aws-crypto-ec:aws:qdeveloper:accountId": "111122223333"
                }
            }
        },
        {
            "Sid": "Sid1",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/rolename"
            },
            "Action": "kms:DescribeKey",
            "Resource": "*"
        }
    ]
}
```

------

# Amazon Q Developer 許可參考
<a name="security_iam_permissions"></a>

Amazon Q Developer 使用兩種類型的 API 來提供服務：
+ 使用者和管理員許可，可在政策中用來控制 Amazon Q 的使用
+ 用於提供服務的其他 API，無法在政策中用來控制 Amazon Q 的使用

本節提供有關 Amazon Q Developer 所使用 API 及其功能的資訊。

**Topics**
+ [Amazon Q Developer 許可](#qdev-permissions)
+ [Amazon Q 使用者訂閱許可](#subscriptions-permissions)
+ [其他 Amazon Q Developer API](#other-permissions)

## Amazon Q Developer 許可
<a name="qdev-permissions"></a>

當您設定[使用 Amazon Q 中的身分進行驗證](security-iam.md#security-iam-authentication)並編寫可附加到 IAM 身分 (身分型政策) 的許可政策時，可以使用下列許可作為參考。

下表說明您可以在政策中允許或拒絕存取的 Amazon Q Developer 許可。

**重要**  
若要與 Amazon Q 聊天，IAM 身分需要下列動作的許可：  
`StartConversation`
`SendMessage`
`GetConversation` (僅限主控台)
`ListConversations` (僅限主控台)
如果附加政策未明確允許其中一個動作，則當您嘗試與 Amazon Q 聊天時會傳回 IAM 許可錯誤。

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


**Amazon Q Developer 許可**  

| 名稱 | 所授予之許可的描述 | 與 Amazon Q 聊天時需要？ | 
| --- |--- |--- |
| 使用者許可 | 
| --- |
| q:DeleteConversation |  刪除與 Amazon Q 的對話  |  是  | 
| qdeveloper:ExportArtifact |  從 Amazon Q 匯出成品  |  否  | 
| codewhisperer:GenerateRecommendations |  在 Amazon Q AWS 中取得編碼環境的程式碼建議  |  否  | 
| q:GenerateCodeFromCommands |  在 Amazon Q 中從 CLI 命令產生程式碼  |  否  | 
| q:GetConversation |  取得與 Amazon Q 的特定對話關聯的個別訊息  |  是 (僅限主控台)  | 
| q:GetIdentityMetaData |  允許 Amazon Q 提取應用程式身分相關中繼資料  |  否  | 
| q:GetTroubleshootingResults |  取得 Amazon Q 的疑難排解結果   |  否  | 
| qdeveloper:ImportArtifact |  將成品匯入 Amazon Q  | No | 
| q:ListConversations |  列出與特定 Amazon Q 使用者相關聯的個別對話  | Yes (in console only) | 
| q:PassRequest |  允許 Amazon Q 執行 IAM 身分有權執行的動作  | No | 
| q:SendMessage |  將訊息傳送至 Amazon Q  |  是  | 
| qdeveloper:StartAgentSession |  使用 Amazon Q 啟動代理程式工作階段  |  否  | 
| q:StartConversation |  與 Amazon Q 展開對話  |  是  | 
| q:StartTroubleshootingAnalysis |  啟動 Amazon Q 進行疑難排解分析  |  否  | 
| q:StartTroubleshootingResolutionExplanation |  啟動 Amazon Q 進行疑難排解解決方案說明  |  否  | 
| qdeveloper:TransformCode |  使用 Amazon Q 轉換程式碼  |  否  | 
| q:UsePlugin |  從 Amazon Q 聊天存取外掛程式  |  否  | 
| q:UpdateConversation |  更新與 Amazon Q 的對話  |  是  | 
| q:UpdateTroubleshootingCommandResult |  允許 Amazon Q 分析資源以對主控台錯誤進行故障診斷  |  否  | 
| 管理員許可 | 
| --- |
| codewhisperer:CreateCustomization |  從資料來源建立 Amazon Q 自訂  |  否  | 
| codewhisperer:DeleteCustomization |  刪除 Amazon Q 自訂  |  否  | 
| codewhisperer:GetCustomization |  取得有關 Amazon Q 自訂的詳細資訊  |  否  | 
| codewhisperer:ListCustomizations |  根據狀態列出 Amazon Q 自訂  |  否  | 
| codewhisperer:ListProfiles |  列出 Amazon Q 設定檔  |  否  | 
| codewhisperer:ListTagsForResource |  在主控台中列出與 Amazon Q 資源相關聯的所有標籤  |  否  | 
| codewhisperer:TagResource |  新增或建立 Amazon Q 資源的標籤  |  否  | 
| codewhisperer:UnTagResource |  從 Amazon Q 資源移除標籤  |  否  | 
| codewhisperer:UpdateCustomization |  啟用或停用 Amazon Q 自訂  |  否  | 
| codewhisperer:ListCustomizationVersions |  列出 Amazon Q 自訂的版本  |  否  | 
| codewhisperer:UpdateProfile |  更新 Amazon Q 設定檔  |  否  | 
| q:CreateAssignment |  為 Amazon Q Developer 設定檔建立使用者或群組指派  |  否  | 
| q:CreateAuthGrant |  在 Amazon Q 註冊第三方應用程式使用者  |  否  | 
| q:CreateOAuthAppConnection |  在 Amazon Q 註冊第三方 OAuth 應用程式  |  否  | 
| q:CreatePlugin |  在 Amazon Q 中建立和設定第三方外掛程式  |  否  | 
| q:DeleteAssignment |  刪除 Amazon Q Developer 設定檔的使用者或群組指派  |  否  | 
| q:DeletePlugin |  刪除 Amazon Q 中已設定的外掛程式  |  否  | 
| q:GetPlugin |  檢視特定 Amazon Q 外掛程式的相關資訊  |  否  | 
| q:ListPlugins |  檢視 Amazon Q 中已設定的外掛程式  |  否  | 
| q:ListPluginProviders |  檢視 Amazon Q 中可用的外掛程式  |  否  | 
| q:ListTagsForResource |  在主控台中列出與 Amazon Q 資源相關聯的所有標籤  |  否  | 
| q:TagResource |  新增或建立 Amazon Q 資源的標籤  |  否  | 
| q:SentEvent |  從第三方應用程式將事件傳送到 Amazon Q 進行處理  |  否  | 
| q:UntagResource |  從 Amazon Q 資源移除標籤  |  否  | 
| q:UpdateAuthGrant |  使用 Amazon Q 更新第三方應用程式使用者  |  否  | 
| q:UpdateOAuthAppConnection |  使用 Amazon Q 更新第三方 OAuth 應用程式  |  否  | 
| q:UpdatePlugin |  更新第三方整合外掛程式的功能啟用控制  |  否  | 

### 使用 q:PassRequest
<a name="passrequest"></a>

`q:PassRequest` 是一種 Amazon Q 許可，可讓 Amazon Q 代表您呼叫 AWS APIs。當您將 `q:PassRequest` 許可新增至 IAM 身分時，Amazon Q 就會取得許可，能夠呼叫 IAM 身分具有呼叫許可的任何 API。例如，如果 IAM 角色具有 `s3:ListAllMyBuckets` 許可和 `q:PassRequest` 許可，那麼擔任該 IAM 角色的使用者要求 Amazon Q 列出其 Amazon S3 儲存貯體時，Amazon Q 就能呼叫 `ListAllMyBuckets` API。

您可以建立 IAM 政策來限制 `q:PassRequest` 許可的範圍。例如，您可以阻止 Amazon Q 執行特定動作，或僅允許 Amazon Q 針對服務執行動作的子集。您也可以指定 Amazon Q 代表您執行動作時，可以呼叫哪些區域。

如需控制使用 `q:PassRequest` 的 IAM 政策範例，請參閱下列身分型政策範例：
+ [允許 Amazon Q 在聊天中代表您執行動作](id-based-policy-examples-users.md#id-based-policy-examples-allow-actions)
+ [拒絕 Amazon Q 代表您執行特定動作的許可](id-based-policy-examples-users.md#id-based-policy-examples-deny-some-actions)
+ [允許 Amazon Q 代表您執行特定動作的許可](id-based-policy-examples-users.md#id-based-policy-examples-allow-some-actions)
+ [允許 Amazon Q 許可在特定區域中代表您執行動作](id-based-policy-examples-users.md#id-based-policy-examples-allow-actions-some-regions)
+ [拒絕 Amazon Q 許可代表您執行動作](id-based-policy-examples-users.md#id-based-policy-examples-deny-actions)

## Amazon Q 使用者訂閱許可
<a name="subscriptions-permissions"></a>

Amazon Q Developer 管理員必須具有下列許可，才能為其組織中的使用者和群組建立和管理訂閱。

下列術語有助於了解訂閱許可的功能：

**使用者**  
 AWS IAM Identity Center 以唯一使用者 ID 表示的個別使用者。

**Group (分組)**  
 AWS IAM Identity Center 由唯一群組 ID 表示的使用者集合。

**訂閱**  
訂閱會與單一 Identity Center 使用者綁定，使其有權使用 Amazon Q 功能。訂閱不會授權使用者使用 Amazon Q 功能。例如，如果 Adam 已訂閱 Amazon Q Developer 專業方案，他就有權使用 Amazon Q Developer 功能，但是在管理員授與所需的許可之前，他無法存取這些功能。


**Amazon Q 使用者訂閱許可**  

| 名稱 | 動作說明 | 
| --- | --- | 
| user-subscriptions:CreateClaim | 建立使用者訂閱 | 
| user-subscriptions:DeleteClaim | 刪除使用者訂閱 | 
| user-subscriptions:ListApplicationClaims | 列出特定應用程式的所有使用者訂閱 | 
| user-subscriptions:ListClaims | 列出所有使用者訂閱 | 
| user-subscriptions:ListUserSubscriptions | 列出特定使用者的所有使用者訂閱 | 
| user-subscriptions:UpdateClaim | 更新使用者訂閱 | 

## 其他 Amazon Q Developer API
<a name="other-permissions"></a>

下表顯示 IDE 中 Amazon Q 的功能所使用的 API。這些 APIs不會用於控制對 Amazon Q 功能的存取，但當使用者存取相關聯的功能時，它們會出現在管理帳戶中的 AWS CloudTrail 日誌中。

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


**提供服務的 Amazon Q Developer API**  

| 名稱 | 動作說明 | 
| --- | --- | 
| codewhisperer:AllowVendedLogDeliveryForResource | 讓 Amazon Q Developer 以非同步方式將日誌發佈至 Amazon CloudWatch | 
| codewhisperer:CreateTaskAssistConversation | 與 Amazon Q Developer Agent for software development 展開對話 | 
| codewhisperer:CreateUploadUrl | 建立 URL，以上傳在 IDE 中使用 Amazon Q 進行開發時要使用的程式碼檔案 | 
| codewhisperer:DeleteTaskAssistConversation | 刪除與 Amazon Q Developer Agent for software development 的對話 | 
| codewhisperer:ExportResultArchive | 匯出 Amazon Q Developer 輸出的封存以供下載 | 
| codewhisperer:GenerateAssistantResponse | 傳回在 IDE 中 Amazon Q 於聊天中的回應 | 
| codewhisperer:GenerateCompletions | 取得內嵌程式碼建議 | 
| codewhisperer:GenerateTaskAssistPlan | 從 Amazon Q Developer Agent for software development 產生實作計畫 | 
| codewhisperer:GetCodeAnalysis | 取得進行中安全掃描的狀態 | 
| codewhisperer:GetTaskAssistCodeGeneration | 取得 Amazon Q Developer Agent for software development 產生的程式碼 | 
| codewhisperer:GetTransformation | 從 Amazon Q Developer Agent for code transformation 傳回程式碼轉換 | 
| codewhisperer:GetTransformationPlan | 從 Amazon Q Developer Agent for software development 傳回轉換計畫 | 
| codewhisperer:ListAvailableCustomizations | 傳回已建立且可供使用的自訂清單 | 
| codewhisperer:ListCodeAnalysisFindings | 傳回已掃描的檔案中所有安全問題的清單 | 
| codewhisperer:ListFeatureEvaluations | 列出 Amazon Q Developer 用戶端功能的相關組態 | 
| codewhisperer:SendTelemetryEvent | 將遙測資訊傳送至 IDE 中 AWS Amazon Q 的使用情況 | 
| codewhisperer:StartTaskAssistCodeGeneration | 使用 Amazon Q Developer Agent for software development 開始產生程式碼 | 
| codewhisperer:StartCodeAnalysis | 啟動安全掃描 | 
| codewhisperer:StartTransformation | 使用 Amazon Q Developer Agent for code transformation 啟動轉換 | 
| codewhisperer:StopTransformation | 使用 Amazon Q Developer Agent for code transformation 停止轉換 | 

# AWS Amazon Q Developer 的 受管政策
<a name="managed-policy"></a>

 AWS 受管政策是由 建立和管理的獨立政策 AWS。 AWS 受管政策旨在為許多常用案例提供許可，以便您可以開始將許可指派給使用者、群組和角色。

管理員授予使用者存取權的最快速方法是透過 AWS 受管政策。下列適用於 Amazon Q Developer 的 AWS 受管政策可以連接到 IAM 身分：
+ `AmazonQFullAccess` 提供與 Amazon Q Developer 互動的完整存取權，包括管理員存取權。
+ `AmazonQDeveloperAccess` 提供與 Amazon Q Developer 互動的完整存取權，但不包括管理員存取權。

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

請記住， AWS 受管政策可能不會授予特定使用案例的最低權限許可，因為這些許可可供所有 AWS 客戶使用。我們建議您定義特定於使用案例的[客戶管理政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)，以便進一步減少許可。

您無法變更 AWS 受管政策中定義的許可。如果 AWS 更新 AWS 受管政策中定義的許可，則更新會影響政策連接的所有委託人身分 （使用者、群組和角色）。當新的 AWS 服務 啟動或新的 API 操作可供現有服務使用時， AWS 最有可能更新 AWS 受管政策。

如需詳細資訊，請參閱 *IAM 使用者指南*中的 [AWS 受管政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)。

## AmazonQFullAccess
<a name="amazonq-policy-fullaccess"></a>

`AmazonQFullAccess` 受管政策提供管理員存取權，可讓組織中的使用者存取 Amazon Q Developer。此外還提供與 Amazon Q Developer 互動的完整存取權，包括使用 IAM Identity Center 登入，以透過 Amazon Q Developer 專業方案訂閱存取 Amazon Q。

**注意**  
若要啟用完整存取權，以完成 Amazon Q 訂閱管理主控台和 Amazon Q Developer 專業方案主控台中的管理任務，則需要額外的許可。如需詳細資訊，請參閱[管理員許可](id-based-policy-examples-admins.md)。

若要檢視此政策的許可，請參閱 *AWS 受管政策參考*中的 [AmazonQFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonQFullAccess.html)。

## AmazonQDeveloperAccess
<a name="amazonq-policy-developeraccess"></a>

`AmazonQDeveloperAccess` 受管政策提供與 Amazon Q Developer 互動的完整存取權，但不包括管理員存取權。其中包括透過 IAM Identity Center 登入的存取權，以透過 Amazon Q Developer 專業方案訂閱存取 Amazon Q。

您可能需要額外的許可，才能使用 Amazon Q 的某些功能。請參閱您要使用之功能的主題，以了解有關許可的資訊。

若要檢視此政策的許可，請參閱 *AWS 受管政策參考*中的 [AmazonQDeveloperAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonQDeveloperAccess.html)。

## AWSServiceRoleForAmazonQDeveloper
<a name="amazonq-policy-AWSServiceRoleForAmazonQDeveloper"></a>

此 AWS 受管政策會授予使用 Amazon Q Developer 時通常需要的許可。此政策會新增至您加入 Amazon Q 時建立的 AWSServiceRoleForAmazonQDeveloper 服務連結角色。

您無法將 AWSServiceRoleForAmazonQDeveloper 附加至您的 IAM 實體。此政策會附加至[服務連結角色](using-service-linked-roles.md)，此角色可讓 Amazon Q 代表您執行動作。如需詳細資訊，請參閱[針對 Amazon Q Developer 和使用者訂閱使用服務連結角色](using-service-linked-roles.md)。



此政策會授與*管理員*許可，以允許發佈帳單/用量的指標。

**許可詳細資訊**

此政策包含以下許可。




+ `cloudwatch` - 允許主體將帳單/用量的用量指標發佈至 CloudWatch。這是必要項，可讓您在 CloudWatch 中追蹤 Amazon Q 的使用情況。



若要檢視此政策的許可，請參閱 *AWS 受管政策參考*中的 [AWSServiceRoleForAmazonQDeveloper](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSServiceRoleForAmazonQDeveloper.html)。

## AWSServiceRoleForUserSubscriptions
<a name="amazonq-policy-AWSServiceRoleForUserSubscriptions"></a>

此 AWS 受管政策會授予使用 Amazon Q Developer 時通常需要的許可。此政策會新增至您建立 Amazon Q 訂閱時，所建立的 AWSServiceRoleForUserSubscriptions 服務連結角色。

您無法將 AWSServiceRoleForUserSubscriptions 附加至您的 IAM 實體。此政策會附加至[服務連結角色](using-service-linked-roles.md)，此角色可讓 Amazon Q 代表您執行動作。如需詳細資訊，請參閱[針對 Amazon Q Developer 和使用者訂閱使用服務連結角色](using-service-linked-roles.md)。



此政策可讓 Amazon Q 訂閱存取您的 Identity Center 資源，以自動更新您的訂閱。

**許可詳細資訊**

此政策包含以下許可。




+ `identitystore` - 允許主體追蹤 Identity Center 目錄變更，以便自動更新訂閱。
+ `organizations` - 允許主體追蹤 AWS Organizations 變更，以便自動更新訂閱。
+ `sso` - 允許主體追蹤 Identity Center 執行個體變更，以便自動更新訂閱。
+ `kms` – 允許主體存取 KMS 金鑰，以使用 Identity Center 進行授權。



若要檢視此政策的許可，請參閱 *AWS 受管政策參考*中的 [AWSServiceRoleForUserSubscriptions](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSServiceRoleForUserSubscriptions.html)。

## GitLabDuoWithAmazonQPermissionsPolicy
<a name="amazonq-policy-GitLabDuoWithAmazonQPermissionsPolicy"></a>

此政策會授與連線到 Amazon Q 的許可，並利用 GitLab Duo with Amazon Q 整合中的功能。政策會新增至從 Amazon Q Developer 主控台建立的 IAM 角色，以存取 Amazon Q。您需要手動提供 IAM 角色給 GitLab 作為 Amazon Resource Name (ARN)。此政策允許下列內容：
+ **GitLab Duo 使用許可** - 允許基本操作，例如傳送事件和訊息、建立和更新身分驗證授權、產生程式碼建議、列出外掛程式，以及驗證 OAuth 應用程式連線。
+ **GitLab Duo 管理許可** - 可建立和刪除 OAuth 應用程式連線，以提供對整合設定的控制。
+ **GitLab Duo 外掛程式許可** - 授與特定許可，以建立、刪除和擷取與 GitLab Duo with Amazon Q 整合相關的外掛程式。

若要檢視此政策的許可，請參閱 *AWS 受管政策參考*中的 [GitLabDuoWithAmazonQPermissionsPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/GitLabDuoWithAmazonQPermissionsPolicy.html)。

## 政策更新
<a name="update-table"></a>

檢視自此服務開始追蹤 Amazon Q Developer AWS 受管政策更新以來的詳細資訊。如需有關此頁面變更的自動提醒，請訂閱 [Amazon Q Developer 使用者指南文件歷史記錄](doc-history.md)頁面上的 RSS 摘要。


| 變更 | 描述 | Date | 
| --- | --- | --- | 
|   [AmazonQDeveloperAccess](#amazonq-policy-developeraccess) - 更新的政策  |  已新增其他許可，以允許存取 KMS 金鑰，以向 Identity Center 授權 。  |  2025 年 10 月 29 日  | 
|   [AmazonQFullAccess](#amazonq-policy-fullaccess) - 更新的政策  |  已新增其他許可，以允許存取 KMS 金鑰，以向 Identity Center 授權 。  |  2025 年 10 月 29 日  | 
|   [AWSServiceRoleForUserSubscriptions](#amazonq-policy-AWSServiceRoleForUserSubscriptions) - 更新的政策  |  已新增其他許可，以允許存取 KMS 金鑰，以向 Identity Center 授權 。  |  2025 年 10 月 29 日  | 
|   [AmazonQDeveloperAccess](#amazonq-policy-developeraccess) - 更新的政策  |  新增了其他許可，用於管理 Amazon Q 聊天中的對話歷史記錄。  |  2025 年 5 月 14 日  | 
|   [AmazonQFullAccess ](#amazonq-policy-fullaccess) - 更新的政策  |  新增了其他許可，用於管理 Amazon Q 聊天中的對話歷史記錄。  |  2025 年 5 月 14 日  | 
|   [AmazonQFullAccess ](#amazonq-policy-fullaccess) - 更新的政策  |  新增了其他許可，用於更新第三方整合外掛程式的功能啟用控制。  |  2025 年 5 月 2 日  | 
|   [AmazonQFullAccess ](#amazonq-policy-fullaccess) - 更新的政策  |  新增了其他許可，以允許存取和啟用第三方外掛程式與 Amazon Q Developer 的互動。  |  2025 年 4 月 30 日  | 
|   [GitLabDuoWithAmazonQPermissionsPolicy](#amazonq-policy-GitLabDuoWithAmazonQPermissionsPolicy) - 更新的政策  |  新增了其他許可，以允許使用 Amazon Q Developer 更新第三方 OAuth 應用程式。  |  2025 年 4 月 30 日  | 
|   [GitLabDuoWithAmazonQPermissionsPolicy](#amazonq-policy-GitLabDuoWithAmazonQPermissionsPolicy) – 新政策  |  允許 GitLab 與 Amazon Q Developer 連線，以使用 GitLab Duo with Amazon Q 整合功能。  |  2025 年 4 月 17 日  | 
|   [AWSServiceRoleForUserSubscriptions](#amazonq-policy-AWSServiceRoleForUserSubscriptions) - 更新的政策  |  允許 Amazon Q 探索最終使用者的電子郵件驗證狀態。  |  2025 年 2 月 17 日  | 
|   [AmazonQDeveloperAccess](#amazonq-policy-developeraccess) - 更新的政策  |  新增了其他許可，以便使用 Amazon Q Developer 外掛程式。  |  2024 年 11 月 13 日  | 
|   [AmazonQFullAccess ](#amazonq-policy-fullaccess) - 更新的政策  |  新增了其他許可，用來設定和使用 Amazon Q Developer 外掛程式，以及建立和管理 Amazon Q Developer 資源的標籤。  |  2024 年 11 月 13 日  | 
|   [AmazonQDeveloperAccess](#amazonq-policy-developeraccess) - 更新的政策  |  新增了其他許可，以便使用 Amazon Q 從 CLI 命令產生程式碼。  |  2024 年 10 月 28 日  | 
|   [AmazonQFullAccess ](#amazonq-policy-fullaccess) - 更新的政策  |  新增了其他許可，以便使用 Amazon Q 從 CLI 命令產生程式碼。  |  2024 年 10 月 28 日  | 
|   [AmazonQFullAccess ](#amazonq-policy-fullaccess) - 更新的政策  |  新增了其他許可，讓 Amazon Q 能夠存取下游資源。  |  2024 年 7 月 9 日  | 
|   [AmazonQDeveloperAccess](#amazonq-policy-developeraccess) – 新政策  |  提供與 Amazon Q Developer 互動的完整存取權，但不包括管理員存取權。  |  2024 年 7 月 9 日  | 
|   [AmazonQFullAccess ](#amazonq-policy-fullaccess) - 更新的政策  |  新增了其他許可，以啟用 Amazon Q Developer 的訂閱檢查。  |  2024 年 4 月 30 日  | 
|   [AWSServiceRoleForUserSubscriptions ](#amazonq-policy-AWSServiceRoleForUserSubscriptions) – 新政策  |  允許 Amazon Q Subscriptions AWS IAM Identity Center AWS IAM Identity Center 目錄 AWS Organizations 代表您自動從 中的變更更新訂閱。  |  2024 年 4 月 30 日  | 
|   [AWSServiceRoleForAmazonQDeveloper ](#amazonq-policy-AWSServiceRoleForAmazonQDeveloper) – 新政策  |  允許 Amazon Q 代表您呼叫 Amazon CloudWatch 和 Amazon CodeGuru。  |  2024 年 4 月 30 日  | 
|   [AmazonQFullAccess](#amazonq-policy-fullaccess) – 新政策  |  提供完整存取權以便與 Amazon Q Developer 互動。  |  2023 年 11 月 28 日  | 
|  Amazon Q Developer 已開始追蹤變更  |  Amazon Q Developer 開始追蹤 AWS 受管政策的變更。  |  2023 年 11 月 28 日  | 

# 針對 Amazon Q Developer 和使用者訂閱使用服務連結角色
<a name="using-service-linked-roles"></a>

Amazon Q Developer 使用 AWS Identity and Access Management (IAM) [ 服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服務連結角色是直接連結至 Amazon Q Developer 的一種特殊 IAM 角色類型。服務連結角色由 Amazon Q Developer 預先定義，並包含該服務代表您呼叫其他 AWS 服務所需的所有許可。

**Topics**
+ [針對 Amazon Q Developer 使用服務連結角色](using-service-linked-roles-qdev.md)
+ [使用服務連結角色進行使用者訂閱](using-service-linked-roles-user-subs.md)

# 針對 Amazon Q Developer 使用服務連結角色
<a name="using-service-linked-roles-qdev"></a>

Amazon Q Developer 使用 AWS Identity and Access Management (IAM) [服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服務連結角色是直接連結至 Amazon Q Developer 的一種特殊 IAM 角色類型。服務連結角色由 Amazon Q Developer 預先定義，並包含該服務代表您呼叫其他 AWS 服務所需的所有許可。

服務連結角色可簡化 Amazon Q Developer 的設定，因為您不必手動新增必要的許可。Amazon Q Developer 會定義其服務連結角色的許可，除非另有定義，否則只有 Amazon Q Developer 可以擔任其角色。定義的許可包括信任政策和許可政策，且該許可政策無法附加至其他 IAM 實體。

您必須先刪除服務連結角色的相關資源，才能將其刪除。如此可保護您的 Amazon Q Developer 資源，避免您不小心移除資源的存取許可。

如需有關支援服務連結角色的其他 服務的資訊，請參閱[AWS 使用 IAM 的服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)，並在**服務連結角色**欄中尋找具有**是**的服務。選擇具有連結的**是**，以檢視該服務的服務連結角色文件。

了解 [AWS Amazon Q Developer 的 受管政策](managed-policy.md)。

## Amazon Q Developer 的服務連結角色許可
<a name="slr-permissions"></a>

Amazon Q Developer 使用名為 **AWSServiceRoleForAmazonQDeveloper** 的服務連結角色 - 此角色會授與 Amazon Q 許可，以存取您帳戶中的資料來計算帳單、提供在 Amazon CodeGuru 中建立和存取安全報告的存取權，以及將資料傳送至 CloudWatch。

AWSServiceRoleForAmazonQDeveloper 服務連結角色信任下列服務擔任該角色：
+ `q.amazonaws.com`

名為 AWSServiceRoleForAmazonQDeveloper 的角色許可政策允許 Amazon Q Developer 在指定的資源上完成下列動作：
+ 動作：`AWS/Q CloudWatch namespace` 上的 `cloudwatch:PutMetricData`

您必須設定許可，以允許您的使用者、群組或角色建立、編輯或刪除服務連結角色。如需詳細資訊，請參閱 *IAM 使用者指南*中的[服務連結角色許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)。

## 為 Amazon Q Developer 建立服務連結角色
<a name="create-slr"></a>

您不需要手動建立服務連結角色，當您在 中為 Amazon Q 建立設定檔時 AWS 管理主控台，Amazon Q Developer 會為您建立服務連結角色。

若您刪除此服務連結角色，之後需要再次建立，您可以在帳戶中使用相同程序重新建立角色。當您更新設定時，Amazon Q 會再次為您建立服務連結角色。

您也可以使用 IAM 主控台或 AWS CLI 來建立具有 `q.amazonaws.com` 服務名稱的服務連結角色。如需詳細資訊，請參閱《IAM 使用者指南》**中的「[建立服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role)」。如果您刪除此服務連結角色，您可以使用此相同的程序以再次建立該角色。

## 編輯 Amazon Q Developer 的服務連結角色
<a name="edit-slr"></a>

Amazon Q Developer 不允許您編輯 AWSServiceRoleForAmazonQDeveloper 服務連結角色。因為有各種實體可能會參考服務連結角色，所以您無法在建立角色之後變更角色名稱。然而，您可使用 IAM 來編輯角色描述。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[編輯服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)。

## 刪除 Amazon Q Developer 的服務連結角色
<a name="delete-slr"></a>

若您不再使用需要服務連結角色的功能或服務，我們建議您刪除該角色。如此一來，您就沒有未主動監控或維護的未使用實體。然而，在手動刪除服務連結角色之前，您必須先清除資源。

**注意**  
若 Amazon Q Developer 服務在您嘗試刪除資源時正在使用該角色，刪除可能會失敗。若此情況發生，請等待數分鐘後並再次嘗試操作。

**使用 IAM 手動刪除服務連結角色**

使用 IAM 主控台 AWS CLI、 或 AWS API 來刪除 AWSServiceRoleForAmazonQDeveloper 服務連結角色。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[刪除服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。

## Amazon Q Developer 服務連結角色支援的區域
<a name="slr-regions"></a>

Amazon Q Developer 並未在提供服務的每個區域中支援使用服務連結角色。您可以在下列區域使用 AWSServiceRoleForAmazonQDeveloper 角色。如需詳細資訊，請參閱 [AWS 區域與端點](https://docs.aws.amazon.com/general/latest/gr/rande.html)。


****  

| 區域名稱 | 區域身分 | Amazon Q Developer 的支援 | 
| --- | --- | --- | 
| 美國東部 (維吉尼亞北部) | us-east-1 | 是 | 
| 美國東部 (俄亥俄) | us-east-2 | 否 | 
| 美國西部 (加利佛尼亞北部) | us-west-1 | 否 | 
| 美國西部 (奧勒岡) | us-west-2 | 否 | 
| Africa (Cape Town) | af-south-1 | 否 | 
| 亞太地區 (香港) | ap-east-1 | 否 | 
| 亞太地區 (雅加達) | ap-southeast-3 | 否 | 
| 亞太區域 (孟買) | ap-south-1 | 否 | 
| 亞太地區 (大阪) | ap-northeast-3 | 否 | 
| 亞太區域 (首爾) | ap-northeast-2 | 否 | 
| 亞太區域 (新加坡) | ap-southeast-1 | 否 | 
| 亞太地區 (悉尼) | ap-southeast-2 | 否 | 
| 亞太區域 (東京) | ap-northeast-1 | 否 | 
| 加拿大 (中部) | ca-central-1 | 否 | 
| 歐洲 (法蘭克福) | eu-central-1 | 否 | 
| 歐洲 (愛爾蘭) | eu-west-1 | 否 | 
| 歐洲 (倫敦) | eu-west-2 | 否 | 
| 歐洲 (米蘭) | eu-south-1 | 否 | 
| Europe (Paris) | eu-west-3 | 否 | 
| Europe (Stockholm) | eu-north-1 | 否 | 
| Middle East (Bahrain) | me-south-1 | 否 | 
| 中東 (阿拉伯聯合大公國) | me-central-1 | 否 | 
| 南美洲 (聖保羅) | sa-east-1 | 否 | 
| AWS GovCloud （美國東部） | us-gov-east-1 | 否 | 
| AWS GovCloud （美國西部） | us-gov-west-1 | 否 | 

# 使用服務連結角色進行使用者訂閱
<a name="using-service-linked-roles-user-subs"></a>

使用者訂閱使用 AWS Identity and Access Management (IAM) [服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服務連結角色是直接連結至使用者訂閱的一種特殊 IAM 角色類型。服務連結角色是由使用者訂閱預先定義，內含該服務代表您呼叫其他 AWS 服務所需的所有許可。

服務連結角色可簡化使用者訂閱的設定，因為您不必手動新增必要的許可。使用者訂閱會定義其服務連結角色的許可，除非另有定義，否則僅有使用者訂閱可以擔任其角色。定義的許可包括信任政策和許可政策，且該許可政策無法附加至其他 IAM 實體。

您必須先刪除服務連結角色的相關資源，才能將其刪除。如此可保護您的使用者訂閱，避免您不小心移除資源所需的許可。

如需有關支援服務連結角色的其他 服務的資訊，請參閱[AWS 使用 IAM 的服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)，並在**服務連結角色**欄中尋找具有**是**的服務。選擇具有連結的**是**，以檢視該服務的服務連結角色文件。

## 使用者訂閱的服務連結角色許可
<a name="service-linked-role-permissions-user-subs"></a>

使用者訂閱使用名為 **AWSServiceRoleForUserSubscriptions** 的服務連結角色。此角色可讓使用者訂閱存取您的 Identity Center 資源，以自動更新您的訂閱。

AWSServiceRoleForUserSubscriptions 服務連結角色信任下列服務來擔任該角色：
+ `user-subscriptions.amazonaws.com`

名為 [AWSServiceRoleForUserSubscriptions](managed-policy.md#amazonq-policy-AWSServiceRoleForUserSubscriptions) 的角色許可政策允許使用者訂閱在指定的資源上完成下列動作：
+ 動作：`*` 上的 `identitystore:DescribeGroup`

  動作：`*` 上的 `identitystore:DescribeUser`

  動作：`*` 上的 `identitystore:IsMemberInGroups`

  動作：`*` 上的 `identitystore:ListGroupMemberships`

  動作：`*` 上的 `organizations:DescribeOrganization`

  動作：`*` 上的 `sso:DescribeApplication`

  動作：`*` 上的 `sso:DescribeInstance`

  動作：`*` 上的 `sso:ListInstances`

  動作：`*` 上的 `sso-directory:DescribeUser`

您必須設定許可，以允許您的使用者、群組或角色建立、編輯或刪除服務連結角色。如需詳細資訊，請參閱 *IAM 使用者指南*中的[服務連結角色許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)。

## 為使用者訂閱建立服務連結角色
<a name="create-service-linked-role-user-subs"></a>

您不需要手動建立服務連結角色，當您在 中建立使用者訂閱時 AWS 管理主控台，使用者訂閱會為您建立服務連結角色。

若您刪除此服務連結角色，之後需要再次建立，您可以在帳戶中使用相同程序重新建立角色。當您更新設定時，使用者訂閱會再次為您建立服務連結角色。

您也可以使用 IAM 主控台或 AWS CLI 來建立具有 `q.amazonaws.com` 服務名稱的服務連結角色。如需詳細資訊，請參閱《IAM 使用者指南》**中的「[建立服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role)」。如果您刪除此服務連結角色，您可以使用此相同的程序以再次建立該角色。

## 編輯使用者訂閱的服務連結角色
<a name="edit-service-linked-role-user-subs"></a>

使用者訂閱不允許您編輯 AWSServiceRoleForUserSubscriptions 服務連結角色。因為有各種實體可能會參考服務連結角色，所以您無法在建立角色之後變更角色名稱。然而，您可使用 IAM 來編輯角色描述。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[編輯服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)。

## 刪除使用者訂閱的服務連結角色
<a name="delete-service-linked-role-user-subs"></a>

若您不再使用需要服務連結角色的功能或服務，我們建議您刪除該角色。如此一來，您就沒有未主動監控或維護的未使用實體。然而，在手動刪除服務連結角色之前，您必須先清除資源。

**注意**  
若使用者訂閱服務在您嘗試刪除資源時正在使用該角色，刪除可能會失敗。若此情況發生，請等待數分鐘後並再次嘗試操作。

**使用 IAM 手動刪除服務連結角色**

使用 IAM 主控台 AWS CLI、 或 AWS API 來刪除 AWSServiceRoleForUserSubscriptions 服務連結角色。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[刪除服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。

## 使用者訂閱服務連結角色支援的區域
<a name="slr-regions-user-subs"></a>

Amazon Q Developer 訂閱在提供服務的所有區域中支援使用服務連結角色。如需詳細資訊，請參閱 [AWS 區域與端點](https://docs.aws.amazon.com/general/latest/gr/rande.html)。

Amazon Q Developer 訂閱並未在提供服務的每個區域中支援使用服務連結角色。您可以在下列區域使用 AWSServiceRoleForUserSubscriptions 角色。


****  

| 區域名稱 | 區域身分 | 使用者訂閱的支援 | 
| --- | --- | --- | 
| 美國東部 (維吉尼亞北部) | us-east-1 | 是 | 
| 美國西部 (奧勒岡) | us-west-2 | 是 | 
| 美國東部 (維吉尼亞北部) | us-east-1 | 是 | 
| 美國東部 (俄亥俄) | us-east-2 | 是 | 
| 美國東部 (俄亥俄) | us-east-2 | 是 | 
| 美國西部 (加利佛尼亞北部) | us-west-1 | 是 | 
| 亞太區域 (孟買) | ap-south-1 | 是 | 
| 亞太區域 (大阪) | ap-northeast-3 | 是 | 
| 亞太區域 (首爾) | ap-northeast-2 | 是 | 
| 亞太區域 (新加坡) | ap-southeast-1 | 是 | 
| 亞太區域 (雪梨) | ap-southeast-2 | 是 | 
| 亞太區域 (東京) | ap-northeast-1 | 是 | 
| 加拿大 (中部) | ca-central-1 | 是 | 
| 歐洲 (法蘭克福) | eu-central-1 | 是 | 
| 歐洲 (愛爾蘭) | eu-west-1 | 是 | 
| 歐洲 (倫敦) | eu-west-2 | 是 | 
| 歐洲 (巴黎) | eu-west-3 | 是 | 
| Europe (Stockholm) | eu-north-1 | 是 | 
| 南美洲 (聖保羅) | sa-east-1 | 是 | 

# Amazon Q Developer 的合規驗證
<a name="compliance-validation"></a>

若要了解 是否 AWS 服務 在特定合規計劃的範圍內，請參閱[AWS 服務 合規計劃範圍內](https://aws.amazon.com/compliance/services-in-scope/)然後選擇您感興趣的合規計劃。如需一般資訊，請參閱[AWS 合規計劃](https://aws.amazon.com/compliance/programs/)。

您可以使用 下載第三方稽核報告 AWS Artifact。如需詳細資訊，請參閱[下載報告 in AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html)

您使用 時的合規責任 AWS 服務 取決於資料的機密性、您公司的合規目標，以及適用的法律和法規。如需使用 時合規責任的詳細資訊 AWS 服務，請參閱 [AWS 安全文件](https://docs.aws.amazon.com/security/)。

# Amazon Q Developer 的彈性
<a name="disaster-recovery-resiliency"></a>

 AWS 全球基礎設施是以 AWS 區域 和 可用區域為基礎建置。 AWS 區域 提供多個實體隔離和隔離的可用區域，這些可用區域與低延遲、高輸送量和高備援聯網連接。透過可用區域，您可以設計與操作的應用程式和資料庫，在可用區域之間自動容錯移轉而不會發生中斷。可用區域的可用性、容錯能力和擴展能力，均較單一或多個資料中心的傳統基礎設施還高。

如需 AWS 區域 和可用區域的詳細資訊，請參閱 [AWS 全球基礎設施](https://aws.amazon.com/about-aws/global-infrastructure/)。

# Amazon Q Developer 的基礎結構安全
<a name="infrastructure-security"></a>

Amazon Q 是受管服務，受到 AWS 全球網路安全的保護。如需 AWS 安全服務以及如何 AWS 保護基礎設施的資訊，請參閱[AWS 雲端安全](https://aws.amazon.com/security/)。若要使用基礎設施安全的最佳實務來設計您的 AWS 環境，請參閱*安全支柱 AWS Well-Architected Framework* 中的[基礎設施保護](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html)。

您可以使用 AWS 發佈的 API 呼叫，透過網路存取 Amazon Q Developer。使用者端必須支援下列專案：
+ Transport Layer Security (TLS)。我們需要 TLS 1.2 並建議使用 TLS 1.3。
+ 具備完美轉送私密(PFS)的密碼套件，例如 DHE (Ephemeral Diffie-Hellman)或 ECDHE (Elliptic Curve Ephemeral Diffie-Hellman)。現代系統(如 Java 7 和更新版本)大多會支援這些模式。

# 為 Amazon Q Developer 設定防火牆、代理伺服器或資料周界
<a name="firewall"></a>

如果您使用防火牆、代理伺服器或[資料周界](https://aws.amazon.com/identity/data-perimeters-on-aws/)，則務必將前往下列 URL 和 Amazon Resource Name (ARN)的流量列入允許清單，讓 Amazon Q 如預期運作。

## 要加入允許清單的一般 URL
<a name="firewall-general-urls"></a>

在下列 URL 中：
+ 將 *idc-directory-id-or-alias* 取代為您 IAM Identity Center 執行個體的目錄 ID 或別名。如需有關 IAM Identity Center 的詳細資訊，請參閱 *AWS IAM Identity Center 使用者指南*中的[什麼是 IAM Identity Center？](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)。
+ *sso-region* 與啟用 IAM Identity Center 執行個體 AWS 的區域。如需詳細資訊，請參閱[Amazon Q Developer 支援的 IAM Identity Center 區域](q-admin-setup-subscribe-regions.md#pro-subscription-regions)。
+ *設定檔區域*，其中包含安裝 Amazon Q Developer 設定檔的 AWS 區域。如需 Amazon Q Developer 設定檔的詳細資訊，請參閱 [什麼是 Amazon Q Developer 設定檔？](subscribe-understanding-profile.md) 和 [Q Developer 主控台和 Q Developer 設定檔支援的區域](q-admin-setup-subscribe-regions.md#qdev-console-and-profile-regions)。


| URL | 用途 | 
| --- | --- | 
|  `idc-directory-id-or-alias.awsapps.com `  |  身分驗證  | 
|  `oidc.sso-region.amazonaws.com`  |  身分驗證  | 
|  `*.sso.sso-region.amazonaws.com`  |  身分驗證  | 
|  `*.sso-portal.sso-region.amazonaws.com`  |  身分驗證  | 
|  `*.aws.dev`  |  身分驗證  | 
|  `*.awsstatic.com`  |  身分驗證  | 
|  `*.console.aws.a2z.com`  |  身分驗證  | 
|  `*.sso.amazonaws.com`  |  身分驗證  | 
|  `https://codewhisperer.us-east-1.amazonaws.com`  |  Amazon Q Developer 功能  | 
|  `https://q.profile-region.amazonaws.com`  |  Amazon Q Developer 功能  | 
|  `https://idetoolkits-hostedfiles.amazonaws.com/*`  |  IDE 中的 Amazon Q Developer，組態  | 
|  `https://idetoolkits.amazonwebservices.com/*`  |  IDE 中的 Amazon Q Developer，端點  | 
|  `q-developer-integration.us-east-1.api.aws`  |  IDE 中的 Amazon Q Developer，端點  | 
|  `https://aws-toolkit-language-servers.amazonaws.com/*`  |  IDE 中的 Amazon Q Developer，語言處理  | 
|  `https://aws-language-servers.us-east-1.amazonaws.com/*`  |  IDE 中的 Amazon Q Developer，語言處理  | 
|  `https://client-telemetry.us-east-1.amazonaws.com`  |  IDE 中的 Amazon Q Developer，遙測  | 
|  `cognito-identity.us-east-1.amazonaws.com`  |  IDE 中的 Amazon Q Developer，遙測  | 

## 要列入允許清單的 Amazon S3 儲存貯體 URL 和 ARN
<a name="data-perimeters"></a>

對於某些功能，Amazon Q 會將成品上傳至 AWS 服務擁有的 Amazon S3 儲存貯體。如果您使用資料周界來控制您環境中 Amazon S3 的存取權，您可能需要明確允許存取這些儲存貯體，才能使用對應的 Amazon Q 功能。

下表列出 Amazon Q 需要存取的每個 Amazon S3 儲存貯體的 URL 和 ARN，以及使用每個儲存貯體的功能。根據您控制存取 Amazon S3 的方式，您可以使用儲存貯體 URL 或儲存貯體 ARN 將這些儲存貯體列入允許清單。

您只需要在安裝 Amazon Q Developer 設定檔的 AWS 區域中允許列出儲存貯體。如需 Amazon Q Developer 設定檔的詳細資訊，請參閱 [什麼是 Amazon Q Developer 設定檔？](subscribe-understanding-profile.md)。


| Amazon S3 儲存貯體 URL 和 ARN | 用途 | 
| --- | --- | 
|  美國東部 (維吉尼亞北部)： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/firewall.html) 歐洲 (法蘭克福)： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/firewall.html)  |  用於上傳成品供 [Amazon Q 程式碼檢閱](code-reviews.md)的 Amazon S3 儲存貯體  | 
|  美國東部 (維吉尼亞北部)： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/firewall.html) 歐洲 (法蘭克福)： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/amazonq/latest/qdeveloper-ug/firewall.html)  |  用於上傳成品供 [Amazon Q 程式碼轉換](code-transformation.md)的 Amazon S3 儲存貯體  | 

## 在 Amazon Q 中設定公司代理
<a name="corp-proxy"></a>

如果您的最終使用者是在公司代理後方工作，請強制其完成以下步驟，以便成功連線到 Amazon Q。

### 步驟 1：在 IDE 中設定代理設定
<a name="w2aac21c24b9b5"></a>

在 IDE 中指定代理伺服器的 URL。

**注意**  
不支援 SOCKS 代理和 Proxy Auto-Configuration (PAC) 檔案。您必須使用下列指示手動設定 HTTP 或 HTTPS 代理。

------
#### [ Eclipse ]

1. 在 Eclipse 中，開啟**偏好設定**，如下所示：
   + 在 Windows 或 Ubuntu 上：
     + 從 Eclipse 功能表列選擇**視窗**，然後選擇**偏好設定**。
   + 在 macOS 上：
     + 從功能表選單列選擇 **Eclipse**，然後根據您的 macOS 版本選擇**設定**或**偏好設定**。

1. 在搜尋列中，輸入 **Amazon Q** 並開啟 Amazon Q。

1. 在**代理設定**下，將 **HTTPS Proxy URL** 設定為您的公司代理 URL。

   範例: `http://proxy.company.com:8080`, `https://proxy.company.com:8443` 

1. 讓 Amazon Q 設定保持開啟，然後前往下一步。

------
#### [ JetBrains ]

在 JetBrains 中，依照 IntelliJ IDEA 文件的 [HTTP 代理](https://www.jetbrains.com/help/idea/settings-http-proxy.html)主題中的指示，手動設定代理伺服器的主機名稱和連接埠。

------
#### [ Visual Studio ]

1. 從 Visual Studio 主功能表選擇**工具**，然後選擇**選項**。

1. 從**選項**功能表展開 **AWS Toolkit**，然後選擇**代理**。

1. 在**代理**功能表中，將**主機**和**連接埠**設定為您公司的代理主機和連接埠。

   範例: `http://proxy.company.com:8080`, `https://proxy.company.com:8443` 

------
#### [ Visual Studio 程式碼 ]

1. 在 VS Code 中，按下 **CMD \$1 ,** (Mac) 或 **Ctrl \$1 ,**( Windows/Linux) 開啟 VS Code **設定**。

1. 在**設定**搜尋列中輸入 **Http: Proxy**，然後在搜尋結果中尋找它。

1. 輸入您的公司代理 URL。

   範例: `http://proxy.company.com:8080`, `https://proxy.company.com:8443` 

1. (選用) 在**設定**搜尋列中輸入 **HTTP: No Proxy**，然後在結果中尋找它。

1. 選擇**新增項目**按鈕，然後新增略過代理的網域，請使用逗號分隔各網域。

------

### 步驟 2：設定 SSL 憑證處理
<a name="proxy-configure-ssl-cert"></a>

Amazon Q 會自動偵測並使用系統上安裝的信任憑證。如果您遇到憑證錯誤，則必須完成下列程序來手動指定憑證套件。

**注意**  
以下是需要手動設定的情況。  
您在設定代理後遇到憑證相關錯誤。
您的公司代理使用的憑證不在系統的信任存放區中。
Amazon Q 無法自動偵測您的公司憑證。

------
#### [ Eclipse ]
+ 在 Eclipse 中，於 Amazon Q 設定的**代理設定**下，將 **CA Cert PEM** 設定為您公司憑證檔案的路徑。檔案副檔名必須是 `.pem`。(您無法使用 `.crt` 檔案。)

  範例路徑如下：

  `/path/to/corporate-ca-bundle.pem`

  如需取得此檔案的指示，請參閱[取得您的公司憑證](#proxy-get-corp-ca-cert)。

------
#### [ JetBrains ]

在 JetBrains 中，依照 IntelliJ IDEA 文件中[信任的根憑證](https://www.jetbrains.com/help/idea/ssl-certificates.html#manual_configuration)主題的指引，手動安裝您的公司憑證。

如需取得憑證的指示，請參閱[取得您的公司憑證](#proxy-get-corp-ca-cert)。

------
#### [ Visual Studio ]
+ 設定下列 Windows 環境變數：
  + `NODE_OPTIONS = --use-openssl-ca`
  + `NODE_EXTRA_CA_CERTS = cert-path`

  使用公司憑證檔案的路徑取代 *cert-path*。檔案副檔名必須是 `.pem`。(您無法使用 `.crt` 檔案。)

  範例路徑如下：

  `/path/to/corporate-ca-bundle.pem`

  如需取得公司憑證檔案的指示，請參閱 [取得您的公司憑證](#proxy-get-corp-ca-cert)。如需 Windows 環境變數的詳細資訊，請參閱 [Node.js 文件](https://nodejs.org/api/cli.html#cli_node_extra_ca_certs_file)。

------
#### [ Visual Studio 程式碼 ]

1. 在 VS Code 中，按下 **CMD \$1 ,** (Mac) 或 **Ctrl \$1 ,**( Windows/Linux) 開啟 VS Code **設定**。

1. 在**設定**搜尋列中輸入 **Amazon Q › Proxy: Certificate Authority**，然後在搜尋結果中尋找它。

1. 輸入公司憑證檔案的路徑。檔案的副檔名會是 `.pem` 或 `.crt`。

   範例路徑如下：

   `/path/to/corporate-ca-bundle.pem`

   如需取得此檔案的指示，請參閱 [取得您的公司憑證](#proxy-get-corp-ca-cert)。

------

### 步驟 3：重新啟動 IDE
<a name="w2aac21c24b9b9"></a>

您必須重新啟動 IDE，才能以您的變更更新 Amazon Q。

### 疑難排解
<a name="w2aac21c24b9c11"></a>

如果您已完成前幾節中的程序，但仍遇到問題，請使用下列指示進行故障診斷。

------
#### [ Eclipse ]

1. 確定您的代理 URL 格式包含 `http://` 或 `https://`。

1. 確定您的憑證檔案路徑正確且可存取。

1. 檢閱 Eclipse 錯誤日誌中的 Amazon Q 日誌。若要瀏覽至錯誤日誌，請執行下列其中一項操作：
   + 在 Eclipse 中登入 Amazon Q，選擇右上角 Q 圖示旁的向下箭頭，然後選擇**說明**、**檢視日誌**。
   + 從 Eclipse 功能表依序選擇**視窗**、**顯示檢視**、**錯誤日誌**。
**注意**  
如果您遇到下列錯誤訊息：  
`unable to verify the first certificate`，確定您已依照 [步驟 2：設定 SSL 憑證處理](#proxy-configure-ssl-cert) 中的指示手動指定憑證。
`self signed certificate`，確定您已依照 [步驟 2：設定 SSL 憑證處理](#proxy-configure-ssl-cert) 中的指示手動指定憑證。
`ECONNREFUSED`，檢查您的網際網路連線和代理資訊。

------
#### [ JetBrains ]

1. 確定您的代理 URL 格式包含 `http://` 或 `https://`。

1. 確定您的憑證檔案路徑正確且可存取。

1. 在 JetBrains 日誌檔案中檢閱您的 Amazon Q 日誌。如需尋找日誌檔案的說明，請參閱「JetBrains IDE 支援」頁面上的[尋找 IDE 日誌檔案](https://intellij-support.jetbrains.com/hc/en-us/articles/207241085-Locating-IDE-log-files)。
**注意**  
如果您遇到下列錯誤訊息：  
`unable to verify the first certificate`，確定您已依照 [步驟 2：設定 SSL 憑證處理](#proxy-configure-ssl-cert) 中的指示手動指定憑證。
`self signed certificate`，確定您已依照 [步驟 2：設定 SSL 憑證處理](#proxy-configure-ssl-cert) 中的指示手動指定憑證。
`ECONNREFUSED`，檢查您的網際網路連線和代理資訊。

------
#### [ Visual Studio ]

1. 確定您的代理 URL 格式包含 `http://` 或 `https://`。

1. 確定您的憑證檔案路徑正確且可存取。

1. 檢閱 AWS Toolkit 延伸模組的日誌，如下所示：
   + 在 Visual Studio 主功能表中，展開**延伸模組**。
   + 選擇**AWS 工具組**以展開 AWS 工具組功能表，然後選擇**檢視工具組日誌**。
   + 當 AWS Toolkit 日誌資料夾在您的作業系統中開啟時，請依日期排序檔案，並尋找任何包含目前問題相關資訊的日誌檔案。

1. 檢閱 Visual Studio 活動日誌中的 Amazon Q 日誌。如需詳細資訊，請參閱[使用活動日誌進行延伸模組故障診斷](https://devblogs.microsoft.com/visualstudio/troubleshooting-extensions-with-the-activity-log/)。
**注意**  
如果您遇到下列錯誤訊息：  
`unable to verify the first certificate`，確定您已依照 [步驟 2：設定 SSL 憑證處理](#proxy-configure-ssl-cert) 中的指示手動指定憑證。
`self signed certificate`，確定您已依照 [步驟 2：設定 SSL 憑證處理](#proxy-configure-ssl-cert) 中的指示手動指定憑證。
`ECONNREFUSED`，檢查您的網際網路連線和代理資訊。

------
#### [ Visual Studio 程式碼 ]

1. 確定您的代理 URL 格式包含 `http://` 或 `https://`。

1. 確定您的憑證檔案路徑正確且可存取。

1. 在 VS Code 的**輸出面板**中，檢閱您的 Amazon Q 日誌。
**注意**  
如果您遇到下列錯誤訊息：  
`unable to verify the first certificate`，確定您已依照 [步驟 2：設定 SSL 憑證處理](#proxy-configure-ssl-cert) 中的指示手動指定憑證。
`self signed certificate`，確定您已依照 [步驟 2：設定 SSL 憑證處理](#proxy-configure-ssl-cert) 中的指示手動指定憑證。
`ECONNREFUSED`，檢查您的網際網路連線和代理資訊。

------

#### 取得您的公司憑證
<a name="proxy-get-corp-ca-cert"></a>

若要取得您的公司憑證，請向您的 IT 團隊取得下列資訊：
+ 您的公司憑證套件，通常是 `.pem` 或 `.crt` 檔案。
+ 您的代理伺服器詳細資訊，包括主機名稱、連接埠和身分驗證方法。

或者，從瀏覽器匯出憑證：

1. 造訪您公司網域上的任何 HTTPS 網站。

1. 在位址列附近，選擇鎖定圖示或類似圖示。(圖示會隨您的瀏覽器廠商而有所不同。)

1. 將根憑證匯出至檔案。務必包含整個憑證鏈。匯出根憑證的步驟會因您使用的瀏覽器而稍有不同。請參閱瀏覽器的文件以了解詳細步驟。

# Amazon Q Developer 和介面端點 (AWS PrivateLink)
<a name="vpc-interface-endpoints"></a>

**注意**  
Amazon Q Developer 針對 [IDE 中](q-in-IDE.md)可用的功能支援介面端點。VPC 端點不支援[在 AWS 應用程式和網站上](q-on-aws.md)與 Amazon Q 聊天。同樣不支援 Amazon Q Developer 轉換 Web 體驗。

您可以藉由建立*介面 VPC 端點*的方式，在您的 VPC 與 Amazon Q Developer 之間建立私有連線。介面端點是由 [AWS PrivateLink](https://aws.amazon.com/privatelink) 提供技術支援，這項技術可讓您在沒有網際網路閘道、NAT 裝置、VPN 連線或 AWS Direct Connect 連線的情況下私密地存取 Amazon Q API。VPC 中的執行個體不需要公有 IP 位址，就能與 Amazon Q API 進行通訊。您的 VPC 與 Amazon Q 之間的網路流量都會在 Amazon 網路的範圍內。

每個介面端點都是由您子網路中的一或多個[彈性網路介面](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html)表示。

如需詳細資訊，請參閱《Amazon VPC 使用者指南》**中的[介面 VPC 端點 (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html)。

## Amazon Q VPC 端點的考量事項
<a name="vpc-endpoint-considerations"></a>

在設定 Amazon Q 的介面 VPC 端點之前，務必詳閱《Amazon VPC 使用者指南》**中的[介面端點屬性和限制](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#vpce-interface-limitations)。

Amazon Q 支援在設定與 Amazon Q 搭配運作的服務內容中，從您的 VPC 呼叫其所有 API 動作。

## 先決條件
<a name="qdev-endpoint-prereq"></a>

開始進行下方任何程序之前，務必先備妥下列各項：
+ 具有適當許可來建立和設定資源 AWS 的帳戶。
+ 已在 AWS 您的帳戶中建立 VPC。
+ 熟悉 AWS 服務，特別是 Amazon VPC 和 Amazon Q。

## 為 Amazon Q 建立介面 VPC 端點
<a name="vpc-endpoint-create"></a>

您可使用 Amazon VPC 主控台或 AWS Command Line Interface (AWS CLI) 來為 Amazon Q 服務建立 VPC 端點。如需詳細資訊，請參閱《Amazon VPC 使用者指南》**中的[建立介面端點](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint)。

使用下列服務名稱為 Amazon Q 建立的 VPC 端點：
+ com.amazonaws.*region*.q 
+ com.amazonaws.us-east-1.codewhisperer

將*區域*取代為已安裝 Amazon Q Developer 設定檔 AWS 的區域。如需詳細資訊，請參閱[Q Developer 主控台和 Q Developer 設定檔支援的區域](q-admin-setup-subscribe-regions.md#qdev-console-and-profile-regions)。

**注意**  
只有在美國東部 (維吉尼亞北部) 區域才支援 Amazon CodeWhisperer 端點 (com.amazonaws.us-east-1.codewhisperer)。

如果您為該端點啟用私有 DNS，您可以使用其區域的預設 DNS 名稱 (例如 `q.us-east-1.amazonaws.com`) 向 Amazon Q 發出 API 請求。

如需詳細資訊，請參閱《Amazon VPC 使用者指南》**中的[透過介面端點存取服務](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#access-service-though-endpoint)。

## 使用內部部署電腦連線至 Amazon Q 端點
<a name="qdev-endpoint-on-prem"></a>

本節說明使用內部部署電腦，透過 AWS VPC 中的 AWS PrivateLink 端點連線至 Amazon Q 的程序。

1. [在內部部署裝置與 VPC 之間建立 VPN 連線。](https://docs.aws.amazon.com/vpn/latest/clientvpn-user/client-vpn-user-what-is.html)

1. [為 Amazon Q 建立介面 VPC 端點。](#vpc-endpoint-create)

1. [設定傳入 Amazon Route 53 端點。](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-vpc-interface-endpoint.html)如此您就可從內部部署裝置使用 Amazon Q 端點的 DNS 名稱。

## 使用主控台內編碼環境連線至 Amazon Q 端點
<a name="qdev-endpoint-console"></a>

本節說明使用主控台內編碼環境連線至 Amazon Q 端點的程序。

在這種情況下，主控台內 IDE 是您在 AWS 主控台內存取並使用 IAM 向 驗證的 IDE。範例包括 SageMaker AI Studio 和 AWS Glue Studio。

1. [為 Amazon Q 建立介面 VPC 端點。](#vpc-endpoint-create)

1. 在主控台內編碼環境中設定 Amazon Q
   + [SageMaker AI Studio](sagemaker-setup.md)
   + [AWS Glue Studio](glue-setup.md)

1. 設定編碼環境以使用 Amazon Q 端點。
   + [SageMaker AI Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html)
   + [AWS Glue Studio](https://docs.aws.amazon.com/glue/latest/dg/start-connecting.html)

## AWS PrivateLink 從 Amazon EC2 執行個體上的第三方 IDE 連線至 Amazon Q
<a name="qdev-endpoint-ec2"></a>

本節將逐步引導您在 Amazon EC2 執行個體上安裝第三方整合式開發環境 (IDE)，例如 Visual Studio Code 或 JetBrains，並使用 AWS PrivateLink將其設定為連線至 Amazon Q。

1. [為 Amazon Q 建立介面 VPC 端點。](#vpc-endpoint-create)

1. 在 VPC 內您所需的子網路中啟動 Amazon EC2 執行個體。您可以選擇與第三方 IDE 相容的 Amazon Machine Image (AMI)。例如，您可以選取 Amazon Linux 2 AMI。

1. 連線到 Amazon EC2 執行個體。

1. 安裝和設定 IDE (Visual Studio Code 或 JetBrains)。

1. [安裝 Amazon Q 延伸模組或外掛程式。](q-in-IDE-setup.md)

1. 設定 IDE 以透過 連線 AWS PrivateLink。
   + [Visual Studio Code 中的網路連線](https://code.visualstudio.com/docs/setup/network)
   + [JetBrains 遠端開發](https://www.jetbrains.com/help/idea/remote.html)