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

Key Management Service:承認情報

最終更新日:Apr 01, 2026

Resource Access Management (RAM) は、KMS API オペレーションを呼び出すことができるユーザーと、アクセスできるリソースを制御します。RAM ユーザーに KMS へのアクセスを付与するには、許可される正確なオペレーションとリソースを指定するカスタム RAM ポリシーを作成し、そのポリシーをユーザーにアタッチします。

RAM には、ビジュアル編集とドキュメント編集の 2 つの編集モードがあります。KMS の場合は、ドキュメント編集モードを使用します。ビジュアル編集では、すべての KMS リソースとすべてのオペレーションを選択することしかできず、最小権限構成をサポートしていません。

前提条件

開始する前に、次のことを確認してください。

  • RAM コンソールへの管理者アクセス権を持つ Alibaba Cloud アカウント (root ユーザー)

  • 権限を付与する RAM ユーザー

ポリシー構造

KMS RAM ポリシーステートメントには、最大 4 つの要素が含まれています。

要素必須説明
エフェクトはいAllow または Deny
アクションはいkms:<api-name> フォーマットの 1 つ以上の KMS API オペレーション
リソースはいターゲットリソースの Alibaba Cloud Resource Name (ARN)
条件いいえ時間ベースの制限などの追加の制約

付録では、サポートされているすべてのアクション、リソース ARN フォーマット、および条件キーをリストしています。

RAM ユーザーに KMS へのアクセスを付与する

ステップ 1: カスタムポリシーの作成

  1. Alibaba Cloud アカウントを使用して RAM コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[権限] > [ポリシー] を選択します。

  3. [ポリシー] ページで、[ポリシーの作成] をクリックします。

  4. ポリシーの作成」ページで、「JSON」タブをクリックします。

  5. デフォルトポリシーコンテンツをカスタムポリシードキュメントに置き換えます。次の例では、特定のキーを使用して暗号化および復号する権限を RAM ユーザーに付与しますが、そのキーを管理または削除する権限は付与しません。

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "kms:Encrypt",                    // キーを使用してデータを暗号化する
            "kms:Decrypt",                    // キーを使用してデータを復号する
            "kms:GenerateDataKey"             // エンベロープ暗号化用のデータキーを生成する
          ],
          "Resource": "acs:kms:${region}:${account}:key/${key-id}"
        }
      ]
    }

    ${region}」、「${account}」、および「${key-id}」を実際の値に置き換えます。アカウント内のすべてのキーを対象とするには、acs:kms:*:${account}:key/* を使用します。

  6. [最適化]をクリックして、ポリシードキュメントを検証し、フォーマットします。(任意)

  7. [OK] をクリックします。

  8. ポリシー名と説明を入力し、[OK] をクリックします。

ステップ 2: ポリシーを RAM ユーザーにアタッチする

  1. 左側のナビゲーションウィンドウで、[アイデンティティ] > [ユーザー] を選択します。

  2. [ユーザー] ページで、対象の RAM ユーザーを見つけ、[操作] 列の [権限の追加] をクリックします。

  3. [権限の付与]」パネルで、以下のパラメーターを設定し、[権限を付与] をクリックします。

    パラメーター説明
    リソーススコープ[アカウント] を選択します。KMS はリソースグループ機能をサポートしていません。
    プリンシパル権限を付与する RAM ユーザー。選択したユーザーがデフォルトで表示されます。必要に応じて変更します。
    ポリシーステップ 1 で作成したカスタムポリシーを選択します。

付録: サポートされているリソース、アクション、および条件

リソース

KMS は 6 つのリソースタイプを定義します。ターゲットリソースの ARN を使用して、RAM ポリシーの Resource 要素を設定します。

キーの ARN を見つけるには:

  1. KMS コンソールにログインします。上部のナビゲーションバーで、リージョンを選択します。左側のナビゲーションウィンドウで、[リソース] > [キー] を選択します。

  2. [キー] タブでキーを見つけ、[操作] 列の [詳細] をクリックします。 詳細ページに ARN が表示されます。

    Key details

${region}${account} を、実際のリージョンと Alibaba Cloud アカウント ID に置き換えます。${region} は、アスタリスク (*) ワイルドカードをサポートし、サポートされているすべてのリージョンを対象に指定できます。
リソースタイプARN
キーコンテナacs:kms:${region}:${account}:key
シークレットコンテナacs:kms:${region}:${account}:secret
エイリアスコンテナacs:kms:${region}:${account}:alias
キーacs:kms:${region}:${account}:key/${key-id}
シークレットacs:kms:${region}:${account}:secret/${secret-name}
エイリアスacs:kms:${region}:${account}:alias/${alias-name}

ワイルドカードの例

キーの場合:

  • acs:kms:${region}:${account}:key/* — アカウント内の特定のリージョンにあるすべてのキー

  • acs:kms:*:${account}:key/* — アカウント内のすべてのリージョンにあるすべてのキー

シークレットの場合:

  • acs:kms:${region}:${account}:secret/* — アカウント内の特定のリージョンにあるすべてのシークレット

  • acs:kms:${region}:${account}:secret/prefix* — 名前が prefix で始まるすべてのシークレット

アクション

KMS は、アクセス制御を必要とする各 API オペレーションに対してアクションを定義します。アクションは kms:<api-name> フォーマットに従います。

DescribeRegions オペレーションはアクセス制御を必要としません。RAM 認証に合格した後、任意の Alibaba Cloud アカウント、RAM ユーザー、または RAM ロールによって呼び出すことができます。

キー関連の API オペレーション

オペレーションアクションリソースタイプARN フォーマット
ListKeyskms:ListKeysキーコンテナacs:kms:${region}:${account}:key
CreateKeykms:CreateKeyキーコンテナacs:kms:${region}:${account}:key
DescribeKeykms:DescribeKeyキーacs:kms:${region}:${account}:key/${key-id}
UpdateKeyDescriptionkms:UpdateKeyDescriptionキーacs:kms:${region}:${account}:key/${key-id}
EnableKeykms:EnableKeyキーacs:kms:${region}:${account}:key/${key-id}
DisableKeykms:DisableKeyキーacs:kms:${region}:${account}:key/${key-id}
ScheduleKeyDeletionkms:ScheduleKeyDeletionキーacs:kms:${region}:${account}:key/${key-id}
CancelKeyDeletionkms:CancelKeyDeletionキーacs:kms:${region}:${account}:key/${key-id}
GetParametersForImportkms:GetParametersForImportキーacs:kms:${region}:${account}:key/${key-id}
ImportKeyMaterialkms:ImportKeyMaterialキーacs:kms:${region}:${account}:key/${key-id}
DeleteKeyMaterialkms:DeleteKeyMaterialキーacs:kms:${region}:${account}:key/${key-id}
ListAliasesByKeyIdkms:ListAliasesByKeyIdキーacs:kms:${region}:${account}:key/${key-id}
CreateKeyVersionkms:CreateKeyVersionキーacs:kms:${region}:${account}:key/${key-id}
DescribeKeyVersionkms:DescribeKeyVersionキーacs:kms:${region}:${account}:key/${key-id}
ListKeyVersionskms:ListKeyVersionsキーacs:kms:${region}:${account}:key/${key-id}
UpdateRotationPolicykms:UpdateRotationPolicyキーacs:kms:${region}:${account}:key/${key-id}
Encryptkms:Encryptキーacs:kms:${region}:${account}:key/${key-id}
Decryptkms:Decryptキーacs:kms:${region}:${account}:key/${key-id}
ReEncryptkms:ReEncryptFrom (ソースキー) および kms:ReEncryptTo (送信先キー)キーacs:kms:${region}:${account}:key/${key-id}
GenerateDataKeykms:GenerateDataKeyキーacs:kms:${region}:${account}:key/${key-id}
GenerateDataKeyWithoutPlaintextkms:GenerateDataKeyWithoutPlaintextキーacs:kms:${region}:${account}:key/${key-id}
ExportDataKeykms:ExportDataKeyキーacs:kms:${region}:${account}:key/${key-id}
GenerateAndExportDataKeykms:GenerateAndExportDataKeyキーacs:kms:${region}:${account}:key/${key-id}
AsymmetricSignkms:AsymmetricSignキーacs:kms:${region}:${account}:key/${key-id}
AsymmetricVerifykms:AsymmetricVerifyキーacs:kms:${region}:${account}:key/${key-id}
AsymmetricEncryptkms:AsymmetricEncryptキーacs:kms:${region}:${account}:key/${key-id}
AsymmetricDecryptkms:AsymmetricDecryptキーacs:kms:${region}:${account}:key/${key-id}
GetPublicKeykms:GetPublicKeyキーacs:kms:${region}:${account}:key/${key-id}
ListAliaseskms:ListAliasesエイリアスコンテナacs:kms:${region}:${account}:alias
CreateAliaskms:CreateAliasエイリアスとキーエイリアス: acs:kms:${region}:${account}:alias/${alias-name} および キー: acs:kms:${region}:${account}:key/${key-id}
UpdateAliaskms:UpdateAliasエイリアスとキーエイリアス: acs:kms:${region}:${account}:alias/${alias-name} および キー: acs:kms:${region}:${account}:key/${key-id}
DeleteAliaskms:DeleteAliasエイリアスとキーエイリアス: acs:kms:${region}:${account}:alias/${alias-name} および キー: acs:kms:${region}:${account}:key/${key-id}

シークレット関連の API オペレーション

オペレーションアクションリソースタイプARN
CreateSecretkms:CreateSecretシークレットコンテナacs:kms:${region}:${account}:secret
ListSecretskms:ListSecretsシークレットコンテナacs:kms:${region}:${account}:secret
DescribeSecretkms:DescribeSecretシークレットacs:kms:${region}:${account}:secret/${secret-name}
DeleteSecretkms:DeleteSecretシークレットacs:kms:${region}:${account}:secret/${secret-name}
UpdateSecretkms:UpdateSecretシークレットacs:kms:${region}:${account}:secret/${secret-name}
RestoreSecretkms:RestoreSecretシークレットacs:kms:${region}:${account}:secret/${secret-name}
GetSecretValuekms:GetSecretValue (常に) および kms:Decrypt (自己管理キーが暗号鍵として使用されている場合のみ)シークレットacs:kms:${region}:${account}:secret/${secret-name}
PutSecretValuekms:PutSecretValue (常に) および kms:GenerateDataKey (自己管理キーが暗号鍵として使用されている場合のみ)シークレットacs:kms:${region}:${account}:secret/${secret-name}
ListSecretVersionIdskms:ListSecretVersionIdsシークレットacs:kms:${region}:${account}:secret/${secret-name}
UpdateSecretVersionStagekms:UpdateSecretVersionStageシークレットacs:kms:${region}:${account}:secret/${secret-name}
GetRandomPasswordkms:GetRandomPasswordなしなし

タグ関連の API オペレーション

オペレーションアクションリソースタイプARN
ListResourceTagskms:ListResourceTagsキーまたはシークレットキー: acs:kms:${region}:${account}:key/${key-id} または シークレット: acs:kms:${region}:${account}:secret/${secret-name}
UntagResourcekms:UntagResourceキーまたはシークレットキー: acs:kms:${region}:${account}:key/${key-id} または シークレット: acs:kms:${region}:${account}:secret/${secret-name}
TagResourcekms:TagResourceキーまたはシークレットキー: acs:kms:${region}:${account}:key/${key-id} または シークレット: acs:kms:${region}:${account}:secret/${secret-name}

条件

Condition 要素はオプションです。追加の制約を適用するために RAM ポリシーに条件キーを追加します。RAM 認証は、指定されたすべての条件が満たされた場合にのみ成功します。

2 種類の条件キーがサポートされています。

  • acs:<condition-key> フォーマットの共通条件キー — たとえば、acs:CurrentTime を使用して、ポリシーを特定のタイムウィンドウに制限します。完全なリストについては、「ポリシー要素」をご参照ください。

  • kms:<condition-key> フォーマットのKMS 固有の条件キー — 完全なリストについては、「条件キー」をご参照ください。

RAM ポリシーの構文および構造について詳しくは、「ポリシーの構造および構文」をご参照ください。