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

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

最終更新日:Jan 20, 2025

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

注意事項

  • キーポリシーは、key Management Service (KMS) インスタンスのキーに対してのみ設定できます。 キーポリシーは、キーの作成時またはキーの作成後に設定できます。 キーの作成時にキーポリシーを設定する方法については、「キーの作成」をご参照ください。 このトピックでは、キーの作成後にキーポリシーを設定する方法について説明します。

  • キーポリシーの内容は32,768バイトを超えることはできません。また、JSON形式である必要があります。

  • KMSコンソールでキーポリシーを設定するときは、デフォルトポリシーを使用するか、カスタムポリシーを設定できます。 カスタムポリシーを構成する場合、RAMユーザーまたはロールをキーの管理者およびユーザーとして設定し、クロスアカウントユーザーを設定できます。 たとえば、キーに基づいて暗号化または復号化操作をユーザーのみが実行できるように、より洗練されたkyeポリシーを設定する場合は、API操作を呼び出すことができます。

    次の一覧では、キーポリシーで設定できる操作について説明します。 リストにない操作を構成した場合、設定は有効になりません。

     "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ロールにキーの使用を許可する場合は、KMSコンソールでキーポリシーを設定し、RAMコンソールで権限ポリシーを設定する必要があります。 詳細については、「RAMを使用したKMSリソースへのアクセスの管理」、「RAMユーザーへの権限の付与」、および「RAMロールへの権限の付与」をご参照ください。

前提条件

ソフトウェア保護キーまたはハードウェア保護キーがKMSインスタンスに作成されます。 詳細については、「キーの作成」をご参照ください。

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

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

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

  3. 詳細ページの Key Policy タブで、Configure Key Policy をクリックします。 キーポリシーパネルで、ポリシーを設定します。 そして、[OK] をクリックします。

    キーポリシーパネルでは、キーの管理者、ユーザー、およびクロスアカウントのユーザーを設定できます。

    • 管理者はキーを管理でき、キーを使用して暗号操作を実行することはできません。 現在のAlibaba CloudアカウントのRAMユーザーとRAMロールをキーの管理者として選択できます。

      キーのSet administrators of the key

      次の例では、key_ramuser1 RAMユーザーとkey_ramrole1 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"
                  ],
                  "Effect": "Allow",
                  "Principal": {
                      "RAM": [
                          "acs:ram::119285303511****:user/key_ramuser1",
                          "acs:ram::119285303511****:role/key_ramrole1"
                      ]
                  },
                  "Resource": [
                      "*"
                  ]
              }
    • ユーザーは、暗号操作を実行するためにのみキーを使用できます。 現在のAlibaba CloudアカウントのRAMユーザーとRAMロールをキーのユーザーとして選択できます。

      キーのユーザーの設定

      次の例では、key_ramuser2 RAMユーザーとkey_ramrole2 RAMロールがキーを使用して暗号化操作を実行できます。

              {
                  "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::119285303511****:role/key_ramrole2"
                      ]
                  },
                  "Resource": [
                      "*"
                  ]
              }
    • クロスアカウントユーザーは、キーを使用して暗号化操作を実行できます。 クロスアカウントユーザーは、RAMユーザーまたは他のAlibaba CloudアカウントのRAMロールにすることができます。

      重要

      キーを使用する権限を他のAlibaba CloudアカウントのRAMユーザーまたはRAMロールに付与した場合、Alibaba Cloudアカウントの数に基づいてKMSインスタンスのアクセス管理クォータが消費されます。 承認をキャンセルする場合は、約5分待ってからクォータを確認してください。 消費されたクォータが返されます。

      • RAMユーザー: RAMユーザーの名前は、acs:ram ::<userId>:user/<ramuser> 形式です。 例: acs:ram::119285303511 ****:user/testpolicyuser

      • RAMロール: RAMロールの名前は、acs:ram ::<userId>:role/<ramrole> 形式です。 例: acs:ram::119285303511 ****:role/testpolicyrole

      クロスアカウントユーザーの設定

      次の例では、別のAlibaba Cloudアカウント (190325303126 ****) のkey_ramuser3 RAMユーザーがキーを使用して暗号化操作を実行できます。

              {
                  "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::190325303126****:user/key_ramuser3"
                      ]
                  },
                  "Resource": [
                      "*"
                  ]
              }