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

Key Management Service:シークレットポリシーの構成

最終更新日:Mar 24, 2026

シークレットポリシーは、Resource Access Management (RAM) ユーザーおよび RAM ロールに対する権限付与を通じて、シークレットの管理者およびユーザーを定義します。本トピックでは、シークレットポリシーの構成方法について説明します。

Key Management Service (KMS) コンソールでのシークレットポリシーの構成

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

  2. 資格情報管理 タブで対象のシークレットを特定し、詳細 をクリックするか、操作 列のシークレット ID をクリックします。

  3. 詳細ページの下部にある Secret Policy エリアで、Configure Secret Policy をクリックし、設定を完了してから、OK をクリックします。

    1. グラフィック編集:このモードでは、Principal (RAM ユーザーまたは RAM ロール) はデフォルトのポリシー権限 (操作) を使用します。

      • Administrator:シークレットに対する管理操作を実行します。Get Secret Value 操作はサポートされていません。現在の Alibaba Cloud アカウント配下の RAM ユーザーと RAM ロールを選択できます。

      • User:Get Secret Value 操作のみがサポートされています。現在のプライマリアカウントに属する RAM ユーザーと RAM ロールを選択できます。

      • Cross-account User

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

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

        • 別の Alibaba Cloud アカウントに属する RAM ユーザーまたは RAM ロールを指定できます。これらのユーザー/ロールは、GetSecretValue 操作の呼び出し、およびシークレットの一覧表示と詳細表示ができます。

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

          • RAM ユーザー: フォーマットは acs:ram::<anotherAccountUserId>: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****) に、シークレットへのフルアクセス (管理と使用の権限を含む) を付与します。このステートメントは変更しないことを推奨します。

          説明

          デフォルトでは、シークレットの所有者はすべての権限を持ちます。このルールは変更できません。

        • 現在の Alibaba Cloud アカウント (119285303511****) に属する RAM ユーザー secret_ramuser1 に、シークレットの管理を許可します。

        • 現在の Alibaba Cloud アカウント (119285303511****) の RAM ユーザー secret_ramuser2 と、別の Alibaba Cloud アカウント (190325303126****) の RAM ユーザー secret_ramuser3 に、シークレットの使用を許可します。

      • ポリシーの例

        {
            "Statement": [
                {
                    "Action": [
                        "kms:*"
                    ],
                    "Effect": "Allow",
                    "Principal": {
                        "RAM": [
                            "acs:ram::119285303511****:*"
                        ]
                    },
                    "Resource": [
                        "*"
                    ],
                    "Sid": "kms default secret policy"
                },
                {
                    "Action": [
                        "kms:List*",
                        "kms:Describe*",
                        "kms:PutSecretValue",
                        "kms:Update*",
                        "kms:DeleteSecret",
                        "kms:RestoreSecret",
                        "kms:RotateSecret",
                        "kms:TagResource",
                        "kms:UntagResource"
                    ],
                    "Effect": "Allow",
                    "Principal": {
                        "RAM": [
                            "acs:ram::119285303511****:user/secret_ramuser1"
                        ]
                    },
                    "Resource": [
                        "*"
                    ]
                },
                {
                    "Action": [
                        "kms:List*",
                        "kms:Describe*",
                        "kms:GetSecretValue"
                    ],
                    "Effect": "Allow",
                    "Principal": {
                        "RAM": [
                            "acs:ram::119285303511****:user/secret_ramuser2",
                            "acs:ram::190325303126****:user/secret_ramuser3"
                        ]
                    },
                    "Resource": [
                        "*"
                    ]
                }
            ],
            "Version": "1"
        }

制限事項

  • シークレットポリシーは、Key Management Service (KMS) インスタンス内のシークレットに対してのみ構成できます。

  • シークレットポリシーの内容は、JSON 形式で記述する必要があり、その長さは 32,768 バイトを超えてはなりません。

  • シークレットポリシーで指定可能な操作は以下のとおりです:

    警告

    リストにない操作を指定しても、効果はありません。

    "Action": [
                    "kms:List*",
                    "kms:Describe*",
                    "kms:PutSecretValue",
                    "kms:Update*",
                    "kms:DeleteSecret",
                    "kms:RestoreSecret",
                    "kms:RotateSecret",
                    "kms:TagResource",
                    "kms:UntagResource",
                    "kms:GetSecretValue"
                ]
  • クロスアカウント権限付与:他の Alibaba Cloud アカウントに所属する RAM ユーザーまたは RAM ロールに、ご自身のアカウント内の KMS シークレットを利用する権限を付与するには、両方のアカウントで権限設定を行う必要があります:

    1. KMS コンソールで、対象アカウントに権限を付与するシークレットポリシーを設定します。Cross-account User をプリンシパルとするシークレットポリシーを追加してください。

    2. 対象アカウントの所有者は、RAM コンソールで当該 RAM ユーザーまたは RAM ロールに対応する権限を付与する必要があります。

デフォルトポリシーの権限(操作)

管理者

プリンシパルにシークレットの管理権限を付与しますが、その値の取得は許可しません。

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

ユーザーまたはクロスアカウントユーザー

プリンシパルに GetSecretValue 操作の呼び出し、およびシークレットの一覧表示・説明の権限を付与します。

 "Action": [
                "kms:List*",
                "kms:Describe*",
                "kms:GetSecretValue"
            ]