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

ApsaraDB RDS:RDSからKMSへのアクセス権限の付与

最終更新日:Aug 26, 2026

ApsaraDB RDS で TDE (透過的データ暗号化) を使用するには、RDS サービスが Key Management Service (KMS) を呼び出すことを許可する必要があります。これには、Resource Access Management (RAM) コンソールで 2 つのステップが必要です。まず、必要な KMS 権限を定義するポリシーを作成し、次に RDS を信頼するサービスロールを作成して、そのロールにポリシーをアタッチします。

前提条件

開始する前に、以下が準備できていることを確認してください。

  • RAM コンソールにアクセスできる Alibaba Cloud アカウント

仕組み

この権限付与には、連携して動作する 2 つの RAM オブジェクトが必要です。

  • ポリシー (AliyunRDSInstanceEncryptionRolePolicy): RDS が実行を許可される KMS アクションを定義します。このポリシーは、KMS キーへの読み取りおよびタグ管理アクセス (kms:List*kms:DescribeKeykms:TagResourcekms:UntagResource) を付与し、暗号化操作 (kms:Encryptkms:Decryptkms:GenerateDataKey) を acs:rds:instance-encryption: true タグが付与されたキーに限定します。これにより、RDS は RDS 暗号化用に指定されたキーのみを使用できるようになります。

  • サービスロール (AliyunRDSInstanceEncryptionDefaultRole): RDS サービスを信頼する RAM ロールです。このロールにポリシーをアタッチすることで、RDS はロールを偽装し、ユーザーに代わって KMS を呼び出すことができます。

ポリシーの作成

  1. [ポリシー] ページに移動します。

  2. [ポリシーの作成] をクリックします。

  3. [JSON] タブで、既存のコンテンツを以下に置き換えます。

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "kms:List*",
                    "kms:DescribeKey",
                    "kms:TagResource",
                    "kms:UntagResource"
                ],
                "Resource": [
                    "acs:kms:*:*:*"
                ],
                "Effect": "Allow"
            },
            {
                "Action": [
                    "kms:Encrypt",
                    "kms:Decrypt",
                    "kms:GenerateDataKey"
                ],
                "Resource": [
                    "acs:kms:*:*:*"
                ],
                "Effect": "Allow",
                "Condition": {
                    "StringEqualsIgnoreCase": {
                        "kms:tag/acs:rds:instance-encryption": "true"
                    }
                }
            }
        ]
    }
  4. [OK] をクリックします。表示されるダイアログで、以下のパラメーターを設定し、[OK] をクリックします。

    パラメーター 説明
    名前 AliyunRDSInstanceEncryptionRolePolicy
    [説明] 説明を入力します。例: RDSからKMSへのアクセス権限を付与

RAM ロールの作成と権限付与

ポリシーを作成した後、サービスロールを作成し、そのロールにポリシーをアタッチします。

  1. [ロール] ページに移動します。

  2. [ロールの作成] をクリックします。

  3. [Alibaba Cloud サービス] を選択し、[次へ] をクリックします。

  4. 以下のパラメーターを設定し、[OK] をクリックします。

    パラメーター 説明
    ロールタイプ [通常のサービスロール]
    [RAM ロール名] AliyunRDSInstanceEncryptionDefaultRole
    [備考] ロールの説明を入力します。
    信頼できるサービスの選択 [RDS]
  5. 「ロールが作成されました」というメッセージが表示されたら、[RAM ロールに権限を追加] をクリックします。

    確認ページを閉じてしまった場合は、[ロール] ページに移動し、AliyunRDSInstanceEncryptionDefaultRole を見つけて、[操作] 列の [権限の付与] をクリックします。
  6. [権限の付与] パネルで、AliyunRDSInstanceEncryptionRolePolicy を選択して [選択済みのポリシー] セクションに追加します。

  7. [権限を付与] をクリックします。

これで、RDS はこのロールを使用して KMS にアクセスできるようになりました。ご利用のデータベースエンジンのクラウドディスク暗号化設定に戻り、TDE 設定を完了します。