全部產品
Search
文件中心

Elastic Compute Service:加密相關的許可權說明

更新時間:Nov 15, 2024

當您需要使用KMS加密ECS的雲端硬碟、快照、鏡像等資源時,需要先授予ECS訪問KMS密鑰的許可權。當您需要將加密鏡像、快照集共用給其他阿里雲帳號時,需先授予被共用帳號的ECS服務訪問共用帳號KMS密鑰的許可權。

加密ECS資源

ECS和KMS深度整合。當您需要對ECS的雲端硬碟、快照、鏡像等資源進行加密時,可直接選擇使用KMS的密鑰,並使用KMS提供的信封加密技術對雲資源進行資料加密。您可以選擇使用KMS提供的服務密鑰也可使用您自行建立的使用者主要金鑰進行加密。關於加密金鑰的更多說明,請參見加密金鑰

使用服務密鑰

KMS提供了免費的服務密鑰(由雲產品自己建立和管理)供雲產品服務端加密。您可以選擇使用ECS的服務金鑰組ECS執行個體中的某些資源進行加密。由於服務密鑰由ECS自己建立,ECS可以直接使用,不需要擷取您的任何許可權。

image

使用使用者主要金鑰

如果您不想使用服務密鑰,也可選擇使用自行建立或管理的使用者主要金鑰,此時需要您授權允許ECS使用您提供的KMS密鑰。此授權操作的大致流程為:

  1. 在您的授權下,阿里雲會為您建立一個系統預設角色AliyunECSDiskEncryptDefaultRole,該角色擁有訪問KMS的許可權。

  2. ECS通過扮演該角色,使用KMS內的使用者主要金鑰。

具體授權流程如下:

  1. 首次選擇KMS的主要金鑰加密ECS資源時,例如建立加密雲端硬碟,介面會提示先授權

    image

  2. 單擊同意授權,系統會自動建立AliyunECSDiskEncryptDefaultRole角色並授予許可權。

    image

授權完成後,即可在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. 將資源共用給其他阿里雲帳號

本文主要介紹加密操作涉及的許可權部分,其他內容請參見: