本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立IDE使用具有預設加密之 Amazon EBS磁碟區的 AWS Cloud9
由 Janardhan Malyala (AWS) 和 Dhrubajyoti Mukherjee (AWS) 建立
環境:生產 | 技術:管理和治理 | 工作負載:所有其他工作負載 |
AWS 服務:AWSCloud9; AWS KMS |
Summary
請注意: AWS Cloud9 不再提供給新客戶。的現有客戶 AWS Cloud9 可以繼續正常使用服務。進一步了解
預設情況下,您可以使用 加密來強制加密 Amazon Elastic Block Store (Amazon EBS) 磁碟區和 Amazon Web Services (AWS) Cloud 上的快照複本。
您可以建立使用預設加密EBS磁碟區的 AWS Cloud9 整合開發環境 (IDE)。不過,AWSCloud9 的 AWS Identity and Access Management (IAM) 服務連結角色需要存取這些EBS磁碟區的 AWS Key Management Service (AWS KMS) 金鑰。如果未提供存取權,AWSCloud9 IDE可能無法啟動,而且可能很難進行偵錯。
此模式提供將 AWS Cloud9 的服務連結角色新增至磁碟EBS區所使用的AWSKMS金鑰的步驟。此模式描述的設定可協助您成功建立和啟動 IDE,其預設使用具有加密的EBS磁碟區。
先決條件和限制
先決條件
作用中的 AWS 帳戶。
磁碟EBS區的預設加密已開啟。如需預設加密的詳細資訊,請參閱 Amazon Elastic Compute Cloud (Amazon) 文件中的 Amazon EBS加密。 EC2
用於加密磁碟EBS區的現有客戶受管KMS金鑰。
注意:您不需要為 AWS Cloud9 建立服務連結角色。當您建立 AWS Cloud9 開發環境時,AWSCloud9 會為您建立服務連結角色。
架構
技術堆疊
AWS Cloud9
IAM
AWS KMS
工具
AWS Cloud9 是整合的開發環境 (IDE),可協助您編寫、建置、執行、測試和偵錯軟體。它還可協助您將軟體發佈至 AWS Cloud。
Amazon Elastic Block Store (Amazon EBS) 提供區塊層級儲存磁碟區,可與 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體搭配使用。
AWS Identity and Access Management (IAM) 透過控制誰經過身分驗證並獲授權使用,協助您安全地管理對 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 文件中的建立環境的步驟IDE,根據您的需求選擇建立EC2環境 .Configure。 | 雲端架構師、 DevOps 工程師 |
相關資源
其他資訊
AWS KMS 金鑰政策更新
將 <aws_accountid>
取代為您的 AWS 帳戶 ID。
{ "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 環境,並在不同的帳戶中使用金鑰。