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

Key Management Service:キーポリシーの設定

最終更新日:Jul 29, 2026

キーを管理できるユーザーと使用できるユーザーを制御するには、キーポリシーで RAM ユーザーや RAM ロールを追加または削除して、キー管理者とキーユーザーを指定します。このトピックでは、キーポリシーの設定方法について説明します。

KMS コンソールでのキーポリシーの設定

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

  2. キー タブで、対象のキーを見つけ、キー ID または 操作 列の 詳細 をクリックします。

  3. 詳細ページで、Key Policy セクションまでスクロールし、Configure Key Policy をクリックしてキーポリシーを設定し、OK をクリックします。

    1. グラフィカル編集:このモードでは、デフォルトのポリシー権限 (アクション) を使用して、事前定義されたロールに権限を付与されたプリンシパル (RAM ユーザーまたは RAM ロール) を割り当てます。

      • 管理者:このロールに割り当てられたプリンシパルは、キーに対する管理操作を実行できますが、暗号操作は実行できません。現在の Alibaba Cloud アカウント内の RAM ユーザーと RAM ロールを割り当てることができます。

      • ユーザー:このロールに割り当てられたプリンシパルは、暗号操作のためにのみキーを使用できます。現在の Alibaba Cloud アカウント内の RAM ユーザーと RAM ロールを割り当てることができます。

      • その他のアカウントユーザー

        重要
        • 別の Alibaba Cloud アカウントの RAM ユーザーまたは RAM ロールに権限を付与すると、ご利用の KMS インスタンスのアクセス管理クォータを消費します。クォータの消費量は Alibaba Cloud アカウントの数によって計算されます。権限付与を取り消した後、クォータは約 5 分後に返却されます。

        • プリンシパルがキーを使用する前に、RAM コンソールで RAM ユーザーまたはロールに対応するキー権限を設定する必要もあります。詳細については、「カスタムポリシー」、「RAM ユーザーの権限管理」、および「RAM ロールの権限の管理」をご参照ください。

        • これは、別の Alibaba Cloud アカウントの RAM ユーザーまたは RAM ロールです。クロスアカウントのプリンシパルは、暗号操作のためにのみキーを使用できます。

        • 他のアカウントのユーザー ID の追加 をクリックし、権限を付与するプリンシパルの ARN を入力します。ARN は、RAM コンソールのユーザーまたはロールの詳細ページから取得できます。

          • RAM ユーザー:フォーマット: acs:ram::<Other Alibaba Cloud account ID>:user/<ramuser>。例: acs:ram::119285303511****:user/testpolicyuser

          • RAM ロール:フォーマット: acs:ram::<Other Alibaba Cloud account ID>:role/<ramrole>。例: acs:ram::119285303511****:role/testpolicyrole

    2. 構文編集:構文エディターで権限ステートメントを直接変更または追加します。以下に設定例を示します。

      • シナリオ:この例では、Alibaba Cloud アカウント 119285303511**** に属するキーのキーポリシーを設定します。

        • 現在の Alibaba Cloud アカウント (119285303511****) は、キーの管理と使用に対するフルアクセス権を持ちます。このステートメントは変更しないことを推奨します。

        • 現在の Alibaba Cloud アカウント (119285303511****) の RAM ユーザー (key_ramuser1) にキーの管理を許可します。

        • 現在の Alibaba Cloud アカウント (119285303511****) の RAM ユーザー (key_ramuser2) と、別の Alibaba Cloud アカウント (190325303126****) の RAM ユーザー (key_ramuser3) にキーの使用を許可します。

      • 構文例

        {
            "Statement": [
                {
                    "Action": [
                        "kms:*"
                    ],
                    "Effect": "Allow",
                    "Principal": {
                        "RAM": [
                            "acs:ram::119285303511****:*"
                        ]
                    },
                    "Resource": [
                        "*"
                    ],
                    "Sid": "kms default key policy"
                },
                {
                    "Action": [
                        "kms:List*",
                        "kms:Describe*",
                        "kms:Create*",
                        "kms:Enable*",
                        "kms:Disable*",
                        "kms:Get*",
                        "kms:Set*",
                        "kms:Update*",
                        "kms:Delete*",
                        "kms:Cancel*",
                        "kms:TagResource",
                        "kms:UntagResource",
                        "kms:ImportKeyMaterial",
                        "kms:ScheduleKeyDeletion"
                    ],
                    "Effect": "Allow",
                    "Principal": {
                        "RAM": [
                            "acs:ram::119285303511****:user/key_ramuser1"
                        ]
                    },
                    "Resource": [
                        "*"
                    ]
                },
                {
                    "Action": [
                        "kms:Encrypt",
                        "kms:Decrypt",
                        "kms:GenerateDataKey",
                        "kms:GenerateAndExportDataKey",
                        "kms:AsymmetricEncrypt",
                        "kms:AsymmetricDecrypt",
                        "kms:DescribeKey",
                        "kms:DescribeKeyVersion",
                        "kms:ListKeyVersions",
                        "kms:ListAliasesByKeyId",
                        "kms:TagResource"
                    ],
                    "Effect": "Allow",
                    "Principal": {
                        "RAM": [
                            "acs:ram::119285303511****:user/key_ramuser2",
                            "acs:ram::190325303126****:user/key_ramuser3"
                        ]
                    },
                    "Resource": [
                        "*"
                    ]
                }
            ],
            "Version": "1"
        }
        説明

        上記の例では、Resource フィールドは ["*"] に設定されており、ポリシーが現在のキーに適用されることを示します。Resource を特定のキー ARN に設定して、ポリシーの範囲を制限することもできます。キー ARN のフォーマットについては、「キーポリシーの概要」をご参照ください。

制限事項

  • キーポリシーは キー でのみサポートされます。

  • キーポリシーは JSON フォーマットである必要があり、長さは 32,768 バイトを超えることはできません。

  • キーポリシーでは、次のアクションを指定できます:

    警告

    このリストにないアクションは有効になりません。

     "Action": [
                    "kms:List*",
                    "kms:Describe*",
                    "kms:Create*",
                    "kms:Enable*",
                    "kms:Disable*",
                    "kms:Get*",
                    "kms:Set*",
                    "kms:Update*",
                    "kms:Delete*",
                    "kms:Cancel*",
                    "kms:TagResource",
                    "kms:UntagResource",
                    "kms:ImportKeyMaterial",
                    "kms:ScheduleKeyDeletion"
                    "kms:Encrypt",
                    "kms:Decrypt",
                    "kms:GenerateDataKey",
                    "kms:GenerateAndExportDataKey",
                    "kms:AsymmetricEncrypt",
                    "kms:AsymmetricDecrypt",
                    "kms:DescribeKey",
                    "kms:DescribeKeyVersion",
                    "kms:ListKeyVersions",
                    "kms:ListAliasesByKeyId",
                    "kms:TagResource"
                ]
  • クロスアカウントでのキーの権限付与: 別の Alibaba Cloud アカウントの RAM ユーザーまたは RAM ロールにご利用のアカウントのキーの使用を許可するには、両方のアカウントで権限を設定する必要があります:

    1. KMS コンソールでキーポリシーを設定し、対象のアカウントに使用権限を付与します。その他のアカウントユーザー のポリシーステートメントを追加します。

    2. 対象のアカウントは、RAM コンソールでその RAM ユーザーまたはロールに対応するキー権限を設定する必要があります。

デフォルトのポリシー権限 (アクション)

管理者

このロールに割り当てられたプリンシパルは、キーに対する管理操作を実行できますが、暗号操作は実行できません。

  "Action": [
                "kms:List*",
                "kms:Describe*",
                "kms:Create*",
                "kms:Enable*",
                "kms:Disable*",
                "kms:Get*",
                "kms:Set*",
                "kms:Update*",
                "kms:Delete*",
                "kms:Cancel*",
                "kms:TagResource",
                "kms:UntagResource",
                "kms:ImportKeyMaterial",
                "kms:ScheduleKeyDeletion"
            ]

キーユーザー/クロスアカウントキーユーザー

このロールに割り当てられたプリンシパルは、暗号操作のためにのみキーを使用できます。

 "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:GenerateAndExportDataKey",
                "kms:AsymmetricEncrypt",
                "kms:AsymmetricDecrypt",
                "kms:DescribeKey",
                "kms:DescribeKeyVersion",
                "kms:ListKeyVersions",
                "kms:ListAliasesByKeyId",
                "kms:TagResource"
            ]

よくある質問

  • キーポリシーと RAM 権限ポリシーの関係は何ですか?

    キーポリシーと RAM 権限ポリシーは、異なるディメンションから KMS キーへのアクセスを制御します。RAM ユーザーまたは RAM ロールをキーポリシーに追加した後、RAM コンソールでその RAM ユーザーまたは RAM ロールにすでに設定されている KMS の操作権限を管理するために、RAM 権限ポリシーも設定する必要があります。

    説明

    権限評価の優先順位については、「権限評価の優先順位」をご参照ください。

    • Key Policy:特定のキーにアタッチされるリソースレベルのポリシーです。どの ID (RAM ユーザー、RAM ロール、または Alibaba Cloud アカウント) がキーを管理または使用できるかを宣言します。

    • RAM 権限ポリシー:RAM ユーザーまたは RAM ロールにアタッチされる ID レベルのポリシーです。その ID がどの KMS アクションを実行できるかを宣言します。