

這是 AWS CDK v2 開發人員指南。較舊的 CDK v1 已於 2022 年 6 月 1 日進入維護，並於 2023 年 6 月 1 日結束支援。

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

# AWS 雲端開發套件 (AWS CDK) 的安全性
<a name="security"></a>

雲端安全是 Amazon Web Services (AWS) 最重視的一環。身為 AWS 客戶，您可以受益於資料中心和網路架構，這些架構專為滿足最安全敏感組織的需求而建置。安全性是 AWS 與您之間的共同責任。[共同責任模型](https://aws.amazon.com/compliance/shared-responsibility-model/) 將此描述為雲端本身的安全和雲端內部的安全。

 **雲端的安全性** – AWS 負責保護執行 AWS 雲端中提供的所有服務的基礎設施，並為您提供可安全使用的服務。我們的安全責任是 的最高優先順序 AWS，我們的安全有效性由第三方稽核人員定期測試和驗證，作為[AWS 合規計劃](https://aws.amazon.com/compliance/programs/)的一部分。

 **雲端的安全性** – 您的責任取決於您使用 AWS 的服務，以及其他因素，包括資料的敏感度、組織的需求，以及適用的法律和法規。

 AWS CDK 透過其支援的特定 Amazon Web Services (AWS) 服務遵循[共同責任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)。如需 AWS 服務安全資訊，請參閱[AWS 服務安全文件頁面](https://docs.aws.amazon.com/security/?id=docs_gateway#aws-security)[AWS ，以及合規計劃在 AWS 合規工作範圍內的服務](https://aws.amazon.com/compliance/services-in-scope/)。

# AWS 雲端開發套件 (AWS CDK) 的身分和存取管理
<a name="security-iam"></a>

 AWS Identity and Access Management (IAM) 是一種 AWS 服務，可協助管理員安全地控制對 AWS 資源的存取。IAM 管理員可控制誰可以進行*驗證 *（登入） 和*授權* （具有許可） 來使用 AWS 資源。IAM 是一項服務 AWS ，您可以免費使用。

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

使用 AWS Identity and Access Management (IAM) 的方式會有所不同，具體取決於您在其中執行的工作 AWS。

 **服務使用者** – 如果您使用 AWS 服務來執行任務，管理員會為您提供所需的登入資料和許可。當您使用更多 AWS 功能來執行工作時，您可能需要額外的許可。了解存取許可的管理方式可協助您向管理員請求正確的許可。

 **服務管理員** – 如果您負責公司 AWS 的資源，您可能擁有 AWS 資源的完整存取權。您的任務是判斷服務使用者應存取 AWS 的服務和資源。接著，您必須將請求提交給您的 IAM 管理員，來變更您服務使用者的許可。檢閱此頁面上的資訊，了解 IAM 的基本概念。

 **IAM 管理員** – 如果您是 IAM 管理員，建議您了解如何撰寫政策以管理 AWS 服務存取權的詳細資訊。

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

身分驗證是您 AWS 使用身分憑證登入 的方式。您必須以 AWS 帳戶根使用者、IAM 使用者或擔任 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 程式設計方式存取 ， AWS 會提供 AWS CDK、軟體開發套件 (SDKs) 和命令列界面 (CLI)，以使用您的憑證以密碼編譯方式簽署您的請求。如果您不使用 AWS 工具，則必須自行簽署請求。如需使用建議方法自行簽署請求的詳細資訊，請參閱 * AWS 一般參考*中的 [Signature 第 4 版簽署程序](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)。

無論您使用何種身分驗證方法，您可能都需要提供額外的安全性資訊。例如， AWS 建議您使用多重驗證 (MFA) 來提高帳戶的安全性。若要進一步了解，請參閱《* AWS IAM Identity Center 使用者指南*》中的[多重要素驗證](https://docs.aws.amazon.com/singlesignon/latest/userguide/enable-mfa.html)和《*IAM 使用者指南*》中的[在 中使用多重要素驗證 (MFA) AWS](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/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

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

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

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

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

### 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/gs-identities-iam-users.html)。

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

* [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)*是您 AWS 帳戶中具有特定許可的身分。它類似於 IAM 使用者，但不與特定人員相關聯。您可以切換角色，暫時在 AWS 管理主控台中擔任 IAM [角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)。您可以透過呼叫 CLI AWS 或 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 。例如，當您在服務中進行呼叫時，該服務通常會在 Amazon EC2 中執行應用程式或將物件儲存在 Amazon Simple Storage Service (Amazon S3) 中。服務可能會使用呼叫主體的許可、使用服務角色或使用服務連結角色來執行此作業。
  +  **服務角色** – 服務角色是服務擔任的 [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)。
  +  **服務連結角色** – 服務連結角色是連結至 服務的一種 AWS 服務角色。服務可以擔任代表您執行動作的角色。服務連結角色會顯示在您的帳戶中 AWS ，並由服務擁有。IAM 管理員可以檢視，但不能編輯服務連結角色的許可。
+  **在 Amazon EC2 上執行的應用程式** – 您可以使用 IAM 角色來管理在 EC2 執行個體上執行之應用程式的臨時登入資料，以及提出 AWS CLI 或 AWS API 請求。這是在 EC2 執行個體內儲存存取金鑰的較好方式。若要將 AWS 角色指派給 EC2 執行個體並將其提供給其所有應用程式，您可以建立連接至執行個體的執行個體描述檔。執行個體設定檔包含該角色，並且可讓 EC2 執行個體上執行的程式取得臨時憑證。如需詳細資訊，請參閱 *IAM 使用者指南*中的[使用 IAM 角色來授予許可權給 Amazon EC2 執行個體上執行的應用程式](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html)。

如需了解是否要使用 IAM 角色或 IAM 使用者，請參閱 *IAM 使用者指南*中的[建立 IAM 角色 (而非使用者) 的時機](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html#id_which-to-choose_role)。

# AWS 雲端開發套件 (AWS CDK) 的合規驗證
<a name="compliance-validation"></a>

 AWS CDK 透過其支援的特定 Amazon Web Services (AWS) 服務遵循[共同責任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)。如需 AWS 服務安全資訊，請參閱[AWS 服務安全文件頁面](https://docs.aws.amazon.com/security/?id=docs_gateway#aws-security)，以及[AWS 合規計劃在 AWS 合規工作範圍內的服務](https://aws.amazon.com/compliance/services-in-scope/)。

 AWS 服務的安全性和合規性由第三方稽核人員評估，作為多個 AWS 合規計劃的一部分。其中包括 SOC、PCI、FedRAMP、HIPAA 等。 AWS 提供合規計劃範圍內 AWS 特定合規計劃範圍內經常更新的[AWS 服務](https://aws.amazon.com/compliance/services-in-scope/)清單。

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

如需 AWS 合規計劃的詳細資訊，請參閱[AWS 合規計劃](https://aws.amazon.com/compliance/programs/)。

您使用 AWS CDK 存取 AWS 服務的合規責任取決於資料的敏感度、組織的合規目標，以及適用的法律和法規。如果您使用 AWS 服務符合 HIPAA、PCI 或 FedRAMP 等標準， AWS 會提供資源來協助：
+  [安全與合規快速入門指南](https://aws.amazon.com/quickstart/?quickstart-all.sort-by=item.additionalFields.updateDate&quickstart-all.sort-order=desc&awsf.quickstart-homepage-filter=categories%23security-identity-compliance) – 部署指南，討論架構考量，並提供在其中部署以安全為重心和以合規為重心的基準環境的步驟 AWS。
+  [AWS 合規資源](https://aws.amazon.com/compliance/resources/) – 工作手冊和指南的集合，可能適用於您的產業和位置。
+  [AWS Config](https://aws.amazon.com/config/) – 評估資源組態是否符合內部實務、產業準則和法規的服務。
+  [AWS Security Hub](https://aws.amazon.com/security-hub/) – 內安全狀態的全方位檢視 AWS ，可協助您檢查是否符合安全產業標準和最佳實務。

# AWS 雲端開發套件 (AWS CDK) 的彈性
<a name="disaster-recovery-resiliency"></a>

Amazon Web Services (AWS) 全球基礎設施是以 AWS 區域和可用區域為基礎建置。

 AWS 區域提供多個實體分隔和隔離的可用區域，這些可用區域與低延遲、高輸送量和高備援聯網連接。

透過可用區域，您所設計與操作的應用程式和資料庫，就能夠在可用區域之間自動容錯移轉，而不會發生中斷。可用區域的可用性、容錯能力和擴充能力，均較單一或多個資料中心的傳統基礎設施還高。

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

 AWS CDK 透過其支援的特定 Amazon Web Services (AWS) 服務遵循[共同責任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)。如需 AWS 服務安全資訊，請參閱[AWS 服務安全文件頁面](https://docs.aws.amazon.com/security/?id=docs_gateway#aws-security)[AWS ，以及合規計劃在 AWS 合規工作範圍內的服務](https://aws.amazon.com/compliance/services-in-scope/)。

# AWS 雲端開發套件 (AWS CDK) 的基礎設施安全性
<a name="infrastructure-security"></a>

 AWS CDK 透過其支援的特定 Amazon Web Services (AWS) 服務遵循[共同責任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)。如需 AWS 服務安全資訊，請參閱[AWS 服務安全文件頁面](https://docs.aws.amazon.com/security/?id=docs_gateway#aws-security)，以及[AWS 合規計劃在 AWS 合規工作範圍內的服務](https://aws.amazon.com/compliance/services-in-scope/)。