すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:ECS リソースの暗号化権限の付与

最終更新日:May 16, 2026

ディスク、スナップショット、イメージの暗号化や、暗号化されたリソースのアカウント間での共有には、Elastic Compute Service (ECS) に Key Management Service (KMS) キーへのアクセス権を付与する必要があります。

ECS リソースの暗号化

ECS は、ディスク、スナップショット、イメージに対して KMS のエンベロープ暗号化を使用します。利用可能なキータイプは 2 種類あります。

キータイプ 管理者 必要な権限設定
サービスキー Alibaba Cloud (無料) なし — ECS が自動的に使用します
カスタマーマスターキー (CMK) お客様 はい — RAM ロールを介して ECS にアクセス権を付与する必要があります

サービスキーの使用

Alibaba Cloud は、サービスキーを無料で作成、管理します。ECS は権限設定なしでこれらを直接使用します。

image

CMK の使用

CMK を使用するには、ECS に CMK へのアクセス権限を付与する必要があります。承認フローは次のとおりです。

  1. Alibaba Cloud は、お客様のアカウントに、KMS リソースにアクセスする権限を持つ AliyunECSDiskEncryptDefaultRole という名前のシステム Resource Access Management (RAM) ロールを作成します。

  2. ECS はこの RAM ロールを引き受け、KMS 内のお客様の CMK にアクセスします。

image

承認の確認:

  1. ECS リソースを暗号化するために初めて CMK を選択すると (たとえば、暗号化ディスクを作成する場合)、「[If you want to select more keys, grant permissions to the RAM role]」というメッセージが表示されます。

    image

  2. [承認ポリシーの確認] をクリックします。システムが AliyunECSDiskEncryptDefaultRole を作成し、必要な権限を付与します。

    image

確認後、コンソールで ECS リソースを設定する際に、KMS から任意の CMK を選択できるようになります。

暗号化されたリソースのアカウント間での共有

暗号化されたイメージまたはスナップショットを別のアカウントまたはリソースディレクトリと共有するには、共有先に、共有元の KMS キーへのアクセス権を付与する必要があります。これらの手順は、共有元のアカウントで実行してください。

前提条件

以下を確認してください。

  • 共有元のアカウントに暗号化されたイメージまたはスナップショットがあること

  • 共有元のアカウントで RAM ロールを作成および管理する権限があること

ステップ 1:RAM ロールの作成

共有元のアカウントで、共有先のアカウントを信頼されたエンティティとして RAM ロールを作成します。詳細については、「信頼できる Alibaba Cloud アカウントの RAM ロールの作成」をご参照ください。

リソースタイプに一致するロール名を使用してください。

リソースタイプ RAM ロール名
暗号化されたスナップショット AliyunECSShareEncryptSnapshotDefaultRole
暗号化されたイメージ AliyunECSShareEncryptImageDefaultRole

ステップ 2:信頼ポリシーの変更

RAM ロールの [信頼ポリシー] タブでポリシーを更新し、共有先を指定します。詳細については、「RAM ロールの信頼ポリシーの変更」をご参照ください。

共有シナリオに応じてポリシーを選択してください。

シナリオ 1:他の Alibaba Cloud アカウントとの共有

{
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "<UID1>@ecs.aliyuncs.com",
          "<UID2>@ecs.aliyuncs.com"
        ]
      }
    }
  ],
  "Version": "1"
}

<UID1><UID2> を共有先のアカウント ID に置き換えます。アカウントごとに 1 つのエントリを追加します。

シナリオ 2:リソースディレクトリとの共有

{
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Effect": "Allow",
      "Principal": {
        "Service": "*@ecs.aliyuncs.com"
      },
      "Condition": {
        "StringEquals": {
          "sts:ServiceOwnerRDId": "<ID of the resource directory>"
        }
      }
    }
  ],
  "Version": "1"
}

<ID of the resource directory> をリソースディレクトリの ID に置き換えます。詳細については、「リソースディレクトリの基本情報の表示」をご参照ください。

シナリオ 3:リソースディレクトリ内の特定のフォルダーとの共有

{
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Effect": "Allow",
      "Principal": {
        "Service": "*@ecs.aliyuncs.com"
      },
      "Condition": {
        "StringLike": {
          "sts:ServiceOwnerRDPath": "<ID of the resource directory>/<Root folder ID>/.../<Current folder ID*>"
        }
      }
    }
  ],
  "Version": "1"
}

<ID of the resource directory><Root folder ID><Current folder ID> を実際の値に置き換えます。詳細については、「フォルダーの基本情報の表示」をご参照ください。

ステップ 3:RAM ロールへのポリシーのアタッチ

ポリシーは暗号化キーのタイプによって異なります。

  • サービスキー: AliyunKMSFullAccess システムポリシーをアタッチします。詳細については、「AliyunKMSFullAccess」をご参照ください。

  • CMK: カスタムポリシーを作成してアタッチします。詳細については、「RAM ロールの権限の管理」をご参照ください。

カスタムポリシーテンプレート:

{
  "Version": "1",
  "Statement": [
    {
      "Action": "kms:List*",
      "Resource": "acs:kms:<region-id>:<account-id>:key",
      "Effect": "Allow"
    },
    {
      "Action": [
        "kms:DescribeKey",
        "kms:TagResource",
        "kms:UntagResource",
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:GenerateDataKey"
      ],
      "Resource": "acs:kms:<region-id>:<account-id>:key/<cmk-id>",
      "Effect": "Allow"
    }
  ]
}

プレースホルダーを置き換えます。

プレースホルダー 説明
<region-id> CMK が存在するリージョン
<account-id> CMK を所有している Alibaba Cloud アカウント
<cmk-id> ECS リソースの暗号化に使用する CMK

ステップ 4:リソースの共有

暗号化されたリソースを共有先に共有します。