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

Key Management Service:キーポリシーの概要

最終更新日:Jul 29, 2026

キーポリシーとは、どの Alibaba Cloud アカウント、RAM ユーザー、および RAM ロールが KMS キーを管理または使用できるかを制御するリソースベースのポリシーです。KMS インスタンス内の各キーには、1 つのキーポリシーを必ず 1 つだけ設定する必要があります。このトピックでは、キーポリシーの詳細情報を説明します。

キーポリシーと RAM ポリシーの関係

ポリシーの説明

キーポリシーと RAM ポリシーは、異なる観点から KMS キーへのアクセスを制御します。RAM ユーザーまたは RAM ロールをキーポリシーに追加した後、これらの RAM ユーザーまたは RAM ロールの KMS 操作権限を管理するために、RAM ポリシーを設定することもできます。

  • [Key Policy]:特定のキーにアタッチされるリソースベースのポリシーです。どのアイデンティティ (RAM ユーザー、RAM ロール、または Alibaba Cloud アカウント) がキーを管理または使用できるかを指定します。詳細については、「キーポリシーの設定」をご参照ください。

  • RAM ポリシー:RAM ユーザーまたは RAM ロールにアタッチされるアイデンティティベースのポリシーです。アイデンティティが実行できる KMS 操作を指定します。詳細については、「RAM ユーザー権限の管理」、「RAM ロールの権限管理」、および「カスタムポリシー」をご参照ください。

権限評価の優先順位image

  • 現在のアカウント (キー作成者アカウント) 配下の RAM ユーザーまたは RAM ロール:

    • 評価原則:"Any Allow is sufficient" (OR ロジック)。次のいずれかの条件が満たされ、かつ明示的な拒否がない場合にアクセスが許可されます。

      説明

      明示的な拒否および暗黙的な拒否の詳細については、「RAM によるポリシー評価の仕組み」をご参照ください。

      • KMS キーポリシーで、ユーザーまたはロールが明示的に許可されている。

      • RAM ポリシーで、ユーザーまたはロールが明示的に許可されている。

    • 詳細ルール:

      KMS キーポリシー (リソースベース)

      RAM ポリシー (アイデンティティベース)

      評価結果

      許可

      未設定

      許可

      未設定

      許可

      許可

      許可

      許可

      許可

      許可

      拒否

      拒否

      拒否

      許可

      拒否

      未設定

      未設定

      拒否

  • 別のアカウント (クロスアカウント) 配下の RAM ユーザーまたは RAM ロール:

    • 評価原則:"Both must allow" (AND ロジック)。次の両方の条件が満たされた場合にのみアクセスが許可されます。

      • KMS キーポリシーで、外部のユーザーまたはロール (または外部アカウント) が明示的に許可されている。

      • RAM ポリシーで、外部のユーザーまたはロールによる KMS 操作の呼び出しが明示的に許可されている。

    • 詳細ルール:

      KMS キーポリシー (リソースベース)

      RAM ポリシー (アイデンティティベース)

      評価結果

      許可

      拒否

      拒否

      拒否

      許可

      拒否

      許可

      許可

      許可

      未設定

      未設定

      拒否

使用上の注意

  • キーポリシーは、KMS インスタンス内のキーにのみ適用されます。キーの作成時にキーポリシーを設定することも、後から変更することもできます。詳細については、「キーの作成」および「キーポリシーの設定」をご参照ください。

  • 他の Alibaba Cloud アカウントの RAM ユーザーまたはロールを承認すると、Alibaba Cloud アカウント数に基づいて算出される KMS インスタンスの 使用中のマルチアカウント数 クォータを使用します。クロスアカウントの承認を取り消し、そのアカウントとインスタンス間でリソース共有がなくなった場合は、クォータを確認する前に約 5 分お待ちください。クォータが解放されます。

  • キーポリシーは、KMS サービスエンドポイント経由でキーにアクセスする場合のアクセス制御にのみ適用されます。KMS インスタンスエンドポイント経由でキーにアクセスする場合、アクセスはアプリケーションアクセスポイント (AAP) に設定されたアクセス許可ポリシーに依存します。

  • キーポリシーは JSON 形式で、長さは 32,768 バイトを超えることはできません。

キーポリシーの構造

完全なキーポリシーには、次の要素が含まれます:

  • Version:キーポリシーのバージョンです。現在、バージョン 1 のみがサポートされています。

  • ステートメント:キーポリシーのステートメントです。各キーポリシーには、1 つ以上のステートメントが含まれます。各ステートメントには、次のパラメーターが含まれます。

    • Sid

      任意。カスタムのステートメント識別子です。識別子は最大 128 文字で、英大文字 (A-Z)、英小文字 (a-z)、数字 (0-9)、および次の特殊文字を使用できます:_、/、+、=、.、@、-

    • エフェクト

      必須。ステートメント内のアクションを許可するか拒否するかを指定します。有効な値:Allow または Deny

    • プリンシパル

      必須。ポリシーの適用対象となるアイデンティティです。次のいずれかを指定できます:

      • キーを所有するアカウントである、現在の Alibaba Cloud アカウント。

      • 現在の Alibaba Cloud アカウント配下の RAM ユーザーまたは RAM ロール。

      • 別の Alibaba Cloud アカウント配下の RAM ユーザーまたは RAM ロール。

        重要

        別の Alibaba Cloud アカウントの RAM ユーザーまたはロールを承認した後は、それらの RAM アイデンティティを管理する Alibaba Cloud アカウントを使用して、RAM 側でキーの使用権限を付与する必要があります。そうしないと、RAM アイデンティティはキーを使用できません。

        詳細については、「カスタムポリシー」、「RAM ユーザー権限の管理」、および「RAM ロールの権限管理」をご参照ください。

    • アクション

      必須。許可または拒否する API 操作です。値は "kms:" で始まる必要があります。有効な操作は次の操作のみです。このリストにない操作は有効になりません。

      権限リスト

       "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"
                  ]
    • リソース

      必須。ポリシーの適用対象となるリソースです。値を * またはキーの ARN に設定します。* は現在の KMS キーを示します。特定のキー ARN を指定して、ポリシーのスコープを絞り込むこともできます。

    • 条件

      任意。ポリシーが有効になる条件です。条件要素 (条件ブロックとも呼ばれます) は、1 つ以上の条件句で構成されます。各条件句には、条件演算子、条件キー、および条件値が含まれます。詳細については、「アクセス許可ポリシーの要素」をご参照ください。

      形式は "Condition": {"condition operator": {"condition key": "condition value"}} です。

      • condition operator:詳細については、「条件演算子のタイプ」をご参照ください。

      • condition key および condition value:キーポリシーでサポートされる条件キーと有効な値については、「ポリシー条件キー」をご参照ください。

よくある質問

キー作成者を確認するにはどうすればよいですか?

  • コンソール: KMS コンソールにログオンします。キー管理 ページで、キーの詳細ページを開き、Created By を確認します。

  • API:DescribeKey API を呼び出します。レスポンス内の Creator フィールドがキー作成者を示します。