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

Key Management Service:シークレットポリシーの概要

最終更新日:Sep 10, 2026

シークレットポリシーはリソースベースのポリシーであり、どの Alibaba Cloud アカウント、RAM ユーザー、RAM ロールが Key Management Service (KMS) シークレットを管理または使用できるかを制御します。KMS インスタンス内の各シークレットには、シークレットポリシーが 1 つだけ必要です。本トピックでは、シークレットポリシーについて詳しく説明します。

シークレットポリシーと RAM ポリシーの関係

ポリシーの説明

シークレットポリシーと RAM ポリシーは、さまざまな側面から KMS シークレットへのアクセスを制御します。シークレットポリシーに RAM ユーザーまたは RAM ロールを追加した後、RAM ポリシーを設定して、これらの RAM ユーザーまたは RAM ロールの KMS シークレットの操作権限を管理することもできます。

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

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

権限評価の優先順位

image

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

    • 評価原則:「いずれかの許可で十分」 (OR ロジック) 。明示的な拒否がない場合、次のいずれかの条件が満たされるとアクセスが許可されます。

      説明

      明示的な拒否と暗黙的な拒否の詳細については、「RAM がポリシーを評価する方法」をご参照ください。

      • KMS シークレットポリシーがユーザーまたはロールを明示的に許可している。

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

    • 詳細ルール:

      KMS シークレットポリシー (リソースベース)

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

      評価結果

      許可

      未設定

      許可

      未設定

      許可

      許可

      許可

      許可

      許可

      許可

      拒否

      拒否

      拒否

      許可

      拒否

      未設定

      未設定

      拒否

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

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

      • KMS シークレットポリシーが外部のユーザーまたはロール (または外部アカウント) を明示的に許可している。

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

    • 詳細ルール:

      KMS シークレットポリシー (リソースベース)

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

      評価結果

      許可

      拒否

      拒否

      拒否

      許可

      拒否

      許可

      許可

      許可

      未設定

      未設定

      拒否

注意事項

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

  • 他の Alibaba Cloud アカウントの RAM ユーザーまたはロールを承認すると、KMS インスタンスの [Access Management Quota] が消費されます。クォータは Alibaba Cloud アカウントの数に基づいて計算されます。クロスアカウント承認を取り消し、インスタンスがそのアカウントとリソースを共有しなくなった場合、消費されたクォータがそれに応じて減少するまで約 5 分間お待ちください。

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

  • シークレットポリシーは JSON 形式である必要があり、サイズは 32,768 バイトを超えることはできません。

シークレットポリシーの構造

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

  • Version :シークレットポリシーのバージョン。バージョン 1 のみがサポートされています。

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

    • Sid

      オプション。カスタムのステートメント識別子です。識別子の長さは最大 128 文字で、大文字 (A~Z) 、小文字 (a~z) 、数字 (0~9) 、および次の特殊文字を含めることができます:_ / + = . @ -

    • Effect

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

    • Principal

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

      • 現在の Alibaba Cloud アカウント (シークレットを所有するアカウント) 。

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

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

        重要

        別の Alibaba Cloud アカウントの RAM ユーザーまたはロールを承認した後、その Alibaba Cloud アカウントを使用して、RAM サービスでシークレットを使用する権限を RAM ユーザーまたはロールに付与する必要もあります。そうしないと、RAM アイデンティティはシークレットを使用できません。

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

    • Action

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

      権限リスト

      "Action": [
                      "kms:List*",
                      "kms:Describe*",
                      "kms:PutSecretValue",
                      "kms:Update*",
                      "kms:DeleteSecret",
                      "kms:RestoreSecret",
                      "kms:RotateSecret",
                      "kms:TagResource",
                      "kms:UntagResource",
                      "kms:GetSecretValue"
                  ]
    • Resource

      必須。ポリシーが適用されるターゲットリソース。Resource の値は、現在の KMS シークレットを示す * のみです。

    • 条件

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

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

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

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

よくある質問

シークレット作成者を表示するにはどうすればよいですか。

  • コンソール: KMS コンソールにログオンします。資格情報管理 ページで、シークレット詳細ページを開き、Created By フィールドを表示します。

  • OpenAPI :DescribeSecret API を呼び出します。レスポンスの Creator フィールドは、シークレットの作成者を示します。