本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立使用具有預設加密功能的 Amazon EBS 磁碟區的 AWS Cloud9 IDE
由賈納爾汗·馬亞拉(AWS)和德魯巴約提穆克吉(AWS)創建
環境:生產 | 技術:營運 | 工作負載:所有其他工作 |
AWS 服務:AWS Cloud9;AWS KMS |
Summary
依預設,您可以使用加密,在亞馬遜網路服務 (AWS) 雲端上強制執行 Amazon 彈性區塊存放區 (Amazon EBS) 磁碟區和快照複本的加密。
您可以建立 AWS Cloud9 整合式開發環境 (IDE),該環境使用預設情況下加密的 EBS 磁碟區。不過,AWS Cloud9 的 AWS 身分與存取管理 (IAM) 服務連結角色需要存取這些 EBS 磁碟區的 AWS Key Management Service (AWS KMS) 金鑰。如果未提供存取權,AWS Cloud9 IDE 可能會無法啟動,而且偵錯可能會很困難。
此模式提供了將 AWS Cloud9 的服務連結角色新增到 EBS 磁碟區所使用的 AWS KMS 金鑰的步驟。此模式所描述的設定可協助您成功建立並啟動使用預設為加密的 EBS 磁碟區的 IDE。
先決條件和限制
先決條件
作用中的 AWS 帳戶
EBS 磁碟區的預設加密已開啟。如需有關預設加密的詳細資訊,請參閱 Amazon 彈性運算雲端 (Amazon EC2) 文件中的 Amazon EBS 加密。
現有客戶管理的 KMS 金鑰,用於加密您的 EBS 磁碟區。
注意:您不需要為 AWS Cloud9 建立服務連結角色。當您建立 AWS Cloud9 開發環境時,AWS Cloud9 會為您建立服務連結角色。 |
架構
技術, 堆
AWS Cloud9
IAM
AWS KMS
工具
AWS Cloud9 是整合式開發環境 (IDE),可協助您撰寫程式碼、建置、執行、測試和偵錯軟體。它也可協助您將軟體發行到 AWS 雲端。
亞馬遜彈性區塊存放區 (Amazon EBS) 提供區塊層級儲存磁碟區,可與 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體搭配使用。
AWS Identity and Access Management (IAM) 可透過控制誰經過身份驗證和授權使用 AWS 資源,協助您安全地管理對 AWS 資源的存取。
AWS Key Management Service (AWS KMS) 可協助您建立和控制加密金鑰,以協助保護資料。
史诗
任務 | 描述 | 所需技能 |
---|---|---|
記錄 EBS 磁碟區的預設加密金鑰值。 | 登入 AWS 管理主控台並開啟 Amazon EC2 主控台。選擇 EC2 儀表板,然後在帳戶屬性中選擇資料保護和安全性。在 EBS 加密區段中,複製並記錄預設加密金鑰中的值。 | 雲端架構師、 DevOps 工程師 |
任務 | 描述 | 所需技能 |
---|---|---|
為 AWS Cloud9 提供 EBS 磁碟區之 KMS 金鑰的存取權。 |
如需更新金鑰政策的詳細資訊,請參閱如何變更金鑰政策 (AWS KMS 文件)。 重要事項:AWS Cloud9 的服務連結角色會在您啟動第一個 IDE 時自動建立。如需詳細資訊,請參閱 AWS Cloud9 文件中的建立服務連結角色。 | 雲端架構師、 DevOps 工程師 |
任務 | 描述 | 所需技能 |
---|---|---|
建立並啟動 AWS Cloud9 IDE。 | 開啟 AWS Cloud9 主控台,然後選擇「建立環境」。 按照 AWS Cloud9 說明文件中的建立 EC2 環境中的步驟,根據您的需求設定 IDE。 | 雲端架構師、 DevOps 工程師 |
相關資源
其他資訊
AWS KMS 金鑰政策更新
使用您的 AWS 帳戶 ID 取代 <aws_accountid>
。
{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<aws_accountid>:role/aws-service-role/cloud9.amazonaws.com/AWSServiceRoleForAWSCloud9" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<aws_accountid>:role/aws-service-role/cloud9.amazonaws.com/AWSServiceRoleForAWSCloud9" }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": "true" } } }
使用跨帳戶金鑰
如果您想要使用跨帳戶 KMS 金鑰,則必須將授權與 KMS 金鑰原則結合使用。這可讓跨帳戶存取金鑰。在您用來建立 Cloud9 環境的相同帳戶中,在終端機中執行下列命令。
aws kms create-grant \ --region <Region where Cloud9 environment is created> \ --key-id <The cross-account KMS key ARN> \ --grantee-principal arn:aws:iam::<The account where Cloud9 environment is created>:role/aws-service-role/cloud9.amazonaws.com/AWSServiceRoleForAWSCloud9 \ --operations "Encrypt" "Decrypt" "ReEncryptFrom" "ReEncryptTo" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "DescribeKey" "CreateGrant"
執行此命令之後,您可以透過 EBS 加密搭配不同帳戶中的金鑰來建立 Cloud9 環境。