加密相關(guān)的權(quán)限說明
當(dāng)您需要使用KMS加密ECS的云盤、快照、鏡像等資源時,需要先授予ECS訪問KMS密鑰的權(quán)限。當(dāng)您需要將加密鏡像、快照共享給其他阿里云賬號時,需先授予被共享賬號的ECS服務(wù)訪問共享賬號KMS密鑰的權(quán)限。
加密ECS資源
ECS和KMS深度集成。當(dāng)您需要對ECS的云盤、快照、鏡像等資源進行加密時,可直接選擇使用KMS的密鑰,并使用KMS提供的信封加密技術(shù)對云資源進行數(shù)據(jù)加密。您可以選擇使用KMS提供的服務(wù)密鑰也可使用您自行創(chuàng)建的用戶主密鑰進行加密。關(guān)于加密密鑰的更多說明,請參見加密密鑰。
使用服務(wù)密鑰
KMS提供了免費的服務(wù)密鑰(由云產(chǎn)品自己創(chuàng)建和管理)供云產(chǎn)品服務(wù)端加密。您可以選擇使用ECS的服務(wù)密鑰對ECS實例中的某些資源進行加密。由于服務(wù)密鑰由ECS自己創(chuàng)建,ECS可以直接使用,不需要獲取您的任何權(quán)限。
使用用戶主密鑰
如果您不想使用服務(wù)密鑰,也可選擇使用自行創(chuàng)建或管理的用戶主密鑰,此時需要您授權(quán)允許ECS使用您提供的KMS密鑰。此授權(quán)操作的大致流程為:
在您的授權(quán)下,阿里云會為您創(chuàng)建一個系統(tǒng)默認(rèn)角色
AliyunECSDiskEncryptDefaultRole
,該角色擁有訪問KMS的權(quán)限。ECS通過扮演該角色,使用KMS內(nèi)的用戶主密鑰。
具體授權(quán)流程如下:
首次選擇KMS的主密鑰加密ECS資源時,例如創(chuàng)建加密云盤,界面會提示先授權(quán)。
單擊同意授權(quán),系統(tǒng)會自動創(chuàng)建
AliyunECSDiskEncryptDefaultRole
角色并授予權(quán)限。
授權(quán)完成后,即可在ECS中選擇到您在KMS已創(chuàng)建的用戶主密鑰。
跨賬號共享加密資源
當(dāng)您希望將加密的鏡像、快照共享給其他阿里云賬號或RD組織使用時,由于鏡像、快照已經(jīng)被當(dāng)前阿里云賬號下的KMS密鑰加密過,所以需要授權(quán)允許被共享賬號或RD組織訪問當(dāng)前云賬號KMS密鑰的權(quán)限。授權(quán)的大致流程為:在當(dāng)前共享賬號下創(chuàng)建系統(tǒng)默認(rèn)角色,授權(quán)允許被共享賬號的ECS服務(wù)扮演當(dāng)前共享賬號的系統(tǒng)默認(rèn)角色,使用當(dāng)前賬號的KMS服務(wù)。具體授權(quán)流程如下:
1. 創(chuàng)建RAM角色
根據(jù)要共享的資源(加密快照/加密鏡像),在共享資源的賬號下創(chuàng)建可信實體為阿里云賬號的RAM角色,具體操作請參見創(chuàng)建可信實體為阿里云賬號的RAM角色。
共享加密快照時創(chuàng)建的RAM角色:AliyunECSShareEncryptSnapshotDefaultRole。
共享加密鏡像時創(chuàng)建的RAM角色:AliyunECSShareEncryptImageDefaultRole。
2. 修改RAM角色的授信主體
在信任策略頁簽,修改信任策略,確定將加密快照、加密鏡像共享給哪些被共享賬號或RD組織的ECS服務(wù)使用。具體操作,請參見修改RAM角色的信任策略。修改后的RAM角色的信任策略內(nèi)容如下:
場景一:共享給其他阿里云賬號
{
"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。關(guān)于如何查看資源目錄ID的具體操作,請參見查看資源目錄基本信息。
場景三:共享給RD組織的某個資源夾
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": "*@ecs.aliyuncs.com"
},
"Condition": {
"StringLike": {
"sts:ServiceOwnerRDPath": "<資源目錄ID>/<Root資源夾ID>/……/<當(dāng)前資源夾ID*>"
}
}
}
],
"Version": "1"
}
其中<資源目錄ID>/<Root資源夾ID>/……/<當(dāng)前資源夾ID*>
為變量,您需要修改為共享對象的資源夾RDPath。關(guān)于如何查看資源夾RDPath的具體操作,請參見查看資源夾基本信息。
3. 創(chuàng)建權(quán)限策略并授權(quán)
如果您的鏡像或快照是使用用戶主密鑰加密,需要創(chuàng)建自定義權(quán)限策略并給RAM角色授權(quán),允許ECS訪問和使用KMS的指定密鑰。詳細的授權(quán)操作請參見為RAM角色授權(quán)。策略信息如下:
如果您的鏡像是通過服務(wù)密鑰加密,需授予系統(tǒng)權(quán)限策略AliyunKMSFullAccess
權(quán)限,策略內(nèi)容請參見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/<關(guān)聯(lián)的KMS加密密鑰Key>",
"Effect": "Allow"
}
]
}
其中<密鑰歸屬地域ID>
、<密鑰歸屬用戶UID>
和<關(guān)聯(lián)的KMS加密密鑰Key>
為變量,您需要分別修改為KMS密鑰所在的地域ID、KMS密鑰歸屬用戶的阿里云賬號ID和KMS密鑰的密鑰ID。
4. 將資源共享給其他阿里云賬號
本文主要介紹加密操作涉及的權(quán)限部分,其他內(nèi)容請參見: