當您需要使用KMS加密ECS的雲端硬碟、快照、鏡像等資源時,需要先授予ECS訪問KMS密鑰的許可權。當您需要將加密鏡像、快照集共用給其他阿里雲帳號時,需先授予被共用帳號的ECS服務訪問共用帳號KMS密鑰的許可權。
加密ECS資源
ECS和KMS深度整合。當您需要對ECS的雲端硬碟、快照、鏡像等資源進行加密時,可直接選擇使用KMS的密鑰,並使用KMS提供的信封加密技術對雲資源進行資料加密。您可以選擇使用KMS提供的服務密鑰也可使用您自行建立的使用者主要金鑰進行加密。關於加密金鑰的更多說明,請參見加密金鑰。
使用服務密鑰
KMS提供了免費的服務密鑰(由雲產品自己建立和管理)供雲產品服務端加密。您可以選擇使用ECS的服務金鑰組ECS執行個體中的某些資源進行加密。由於服務密鑰由ECS自己建立,ECS可以直接使用,不需要擷取您的任何許可權。
使用使用者主要金鑰
如果您不想使用服務密鑰,也可選擇使用自行建立或管理的使用者主要金鑰,此時需要您授權允許ECS使用您提供的KMS密鑰。此授權操作的大致流程為:
在您的授權下,阿里雲會為您建立一個系統預設角色
AliyunECSDiskEncryptDefaultRole
,該角色擁有訪問KMS的許可權。ECS通過扮演該角色,使用KMS內的使用者主要金鑰。
具體授權流程如下:
首次選擇KMS的主要金鑰加密ECS資源時,例如建立加密雲端硬碟,介面會提示先授權。
單擊同意授權,系統會自動建立
AliyunECSDiskEncryptDefaultRole
角色並授予許可權。
授權完成後,即可在ECS中選擇到您在KMS已建立的使用者主要金鑰。
跨帳號共用加密資源
當您希望將加密的鏡像、快照集共用給其他阿里雲帳號或RD組織使用時,由於鏡像、快照已經被當前阿里雲帳號下的KMS祕密金鑰加密過,所以需要授權允許被共用帳號或RD組織訪問當前雲帳號KMS密鑰的許可權。授權的大致流程為:在當前共用帳號下建立系統預設角色,授權允許被共用帳號的ECS服務扮演當前共用帳號的系統預設角色,使用當前帳號的KMS服務。具體授權流程如下:
1. 建立RAM角色
根據要共用的資源(加密快照/加密鏡像),在共用資源的帳號下建立可信實體為阿里雲帳號的RAM角色,具體操作請參見建立可信實體為阿里雲帳號的RAM角色。
共用加密快照時建立的RAM角色:AliyunECSShareEncryptSnapshotDefaultRole。
共用加密鏡像時建立的RAM角色:AliyunECSShareEncryptImageDefaultRole。
2. 修改RAM角色的授信主體
在信任策略頁簽,修改信任策略,確定將加密快照、加密鏡像共用給哪些被共用帳號或RD組織的ECS服務使用。具體操作,請參見修改RAM角色的信任策略。修改後的RAM角色的信任策略內容如下:
情境一:共用給其他阿里雲帳號
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": [
"<UID1>@ecs.aliyuncs.com",
"<UID2>@ecs.aliyuncs.com"
]
}
}
],
"Version": "1"
}
其中<UID1>、<UID2>為變數,您需要修改為共用對象的阿里雲帳號ID。如果您的快照或鏡像需要共用給多個阿里雲帳號,需要添加多個共用對象的阿里雲帳號ID。
情境二:共用給RD組織
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": "*@ecs.aliyuncs.com"
},
"Condition": {
"StringEquals": {
"sts:ServiceOwnerRDId": "<資來源目錄ID>"
}
}
}
],
"Version": "1"
}
其中<資來源目錄ID>
為變數,您需要修改為共用對象的資來源目錄ID。關於如何查看資來源目錄ID的具體操作,請參見查看資來源目錄基本資料。
情境三:共用給RD組織的某個資源夾
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": "*@ecs.aliyuncs.com"
},
"Condition": {
"StringLike": {
"sts:ServiceOwnerRDPath": "<資來源目錄ID>/<Root資源夾ID>/……/<當前資源夾ID*>"
}
}
}
],
"Version": "1"
}
其中<資來源目錄ID>/<Root資源夾ID>/……/<當前資源夾ID*>
為變數,您需要修改為共用對象的資源夾RDPath。關於如何查看資源夾RDPath的具體操作,請參見查看資源夾基本資料。
3. 建立權限原則並授權
如果您的鏡像或快照是使用使用者主要金鑰加密,需要建立自訂權限原則並給RAM角色授權,允許ECS訪問和使用KMS的指定密鑰。詳細的授權操作請參見為RAM角色授權。策略資訊如下:
如果您的鏡像是通過服務祕密金鑰加密,需授予系統權限原則AliyunKMSFullAccess
許可權,策略內容請參見AliyunKMSFullAccess。
{
"Version": "1",
"Statement": [
{
"Action": "kms:List*",
"Resource": "acs:kms:<密鑰歸屬地區ID>:<密鑰歸屬使用者UID>:key",
"Effect": "Allow"
},
{
"Action": [
"kms:DescribeKey",
"kms:TagResource",
"kms:UntagResource",
"kms:Encrypt",
"kms:Decrypt",
"kms:GenerateDataKey"
],
"Resource": "acs:kms:<密鑰歸屬地區ID>:<密鑰歸屬使用者UID>:key/<關聯的KMS加密金鑰Key>",
"Effect": "Allow"
}
]
}
其中<密鑰歸屬地區ID>
、<密鑰歸屬使用者UID>
和<關聯的KMS加密金鑰Key>
為變數,您需要分別修改為KMS密鑰所在的地區ID、KMS密鑰歸屬使用者的阿里雲帳號ID和KMS密鑰的密鑰ID。
4. 將資源共用給其他阿里雲帳號
本文主要介紹加密操作涉及的許可權部分,其他內容請參見: