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

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

最終更新日:Mar 24, 2026

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

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

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

  2. キー タブで、ポリシーを設定するキーを見つけます。キー ID をクリックするか、キーに対応する 操作 列の 詳細 をクリックします。

  3. 詳細ページの下部にある Key Policy セクションで、Configure Key Policy をクリックします。設定が完了したら、OK をクリックします。

    1. グラフィック編集:このモードでは、デフォルトの権限 (操作) を持つ事前定義されたロールに Principal (RAM ユーザーまたは RAM ロール) を割り当てます。

      • Administrator:このロールを持つプリンシパルは、キーに対する管理操作を実行できます。このロールには、暗号操作の権限は含まれません。このロールは、ご利用の Alibaba Cloud アカウント内の RAM ユーザーおよび RAM ロールに割り当てることができます。

      • User:このロールを持つプリンシパルは、暗号操作にのみキーを使用できます。このロールは、ご利用の Alibaba Cloud アカウント内の RAM ユーザーおよび RAM ロールに割り当てることができます。

      • Cross-account User

        重要
        • 別の Alibaba Cloud アカウントの RAM ユーザーまたは RAM ロールに権限を付与すると、ご利用の KMS インスタンスのアクセス管理クォータが消費されます。クォータは、アクセスを許可する一意の Alibaba Cloud アカウントの数に基づいて消費されます。権限付与を取り消した場合、クォータは約 5 分後にリリースされます。

        • クロスアカウントのプリンシパルがキーを使用できるようにするには、ターゲットアカウントの RAM コンソールで、対応するユーザーまたはロールに必要な権限を付与する必要もあります。詳細については、「Key Management Service のカスタム権限ポリシー」、「RAM ユーザーの権限管理」、および「RAM ロールの権限管理」をご参照ください。

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

        • Add ARN of Cross-account User をクリックし、プリンシパルの ARN を入力します。RAM コンソールのユーザーまたはロールの詳細ページで ARN を確認できます。

          • RAM ユーザー:フォーマットは acs:ram::<他の Alibaba Cloud アカウント ID>:user/<ramuser> です。例:acs:ram::119285303511****:user/testpolicyuser

          • RAM ロール:フォーマットは acs:ram::<他の Alibaba Cloud アカウント ID>:role/<ramrole> です。例:acs:ram::119285303511****:role/testpolicyrole

    2. 文法編集:ポリシーエディターで権限ステートメントを直接変更または追加できます。次の例は、設定のサンプルを示しています。

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

        • キーの所有者 (Alibaba Cloud アカウント 119285303511****) は、キーを管理および使用するための完全なアクセス権を持っています。このデフォルトのステートメントは変更しないことを推奨します。

          説明

          デフォルトでは、キーの所有者はすべての権限を持っています。このルールは変更できません。

        • このステートメントは、同じアカウント (119285303511****) 内の RAM ユーザー key_ramuser1 がキーを管理することを許可します。

        • このステートメントは、同じアカウント (119285303511****) 内の RAM ユーザー key_ramuser2 と、別のアカウント (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"
        }

制限事項

  • キーポリシーは キー にのみ適用できます。

  • キーポリシーのコンテンツは 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"
                ]
  • クロスアカウントでのキー権限付与:クロスアカウントの RAM ユーザーまたは RAM ロールにキーの使用を許可するには、両方のアカウントで権限を設定する必要があります:

    1. KMS コンソールで、キーポリシーを設定してターゲットアカウントに使用権限を付与します。これには、Cross-account User のポリシーステートメントの追加が含まれます。

    2. ターゲットアカウントの 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"
            ]