tencent cloud

Cloud Access Management

ポリシー変数

PDF
フォーカスモード
フォントサイズ
最終更新日: 2025-12-29 17:59:09

使用シナリオ

シナリオ例:各CAMユーザーに、自身が作成したリソースへのアクセス権限を付与したい場合です。例えば、COSリソースの作成者がデフォルトでそのリソースへのアクセス権限を持つように設定したい場合です。 リソース所有者(ルートアカウント)がリソースを一つずつリソース作成者に付与する場合、権限付与のコストが高く、各種リソースごとにポリシーを作成し、作成者に付与する必要があります。このような場合、ポリシー変数を使用することでご要望を実現できます。ポリシーのリソース定義で、作成者のサブアカウント uin を記述するプレースホルダーを追加します。このプレースホルダーがポリシー変数です。認証時には、ポリシー変数はリクエスト自体のコンテキスト情報に置換されます。
作成者にリソースアクセス権限を付与するポリシーの記述方法は以下の通りです:
{
"version": "2.0",
"statement": [
{
"effect": "allow",
"action": "cmqqueue:*",
"resource": "qcs::cmqqueue::uin/1000001:queueName/uin/${uin}/*"
}
]
}
ポリシー変数は、各リソースのパスに作成者のサブアカウント uin を含みます。例えば、サブアカウント uin が125000000のサブアカウント(対応するルートアカウント uin は1000001)が、成都リージョンに queueName/uin/125000000 という名前の cmq メッセージキューを作成した場合、その対応するリソースの記述方法は
qcs::cmqqueue:ap-chengdu:uin/1000001:queueName/uin/125000000
サブアカウント uin が125000000のサブアカウントがこのリソースにアクセスする際、認証プロセスでは対応するポリシー情報のプレースホルダーがアクセス者、すなわち
qcs::cmqqueue::uin/1000001:queueName/uin/125000000
ポリシー内のリソース qcs::cmqqueue::uin/1000001:queueName/uin/125000000 はプレフィックスマッチでリソース qcs::cmqqueue:ap-chengdu:uin/1000001:queueName/uin/125000000 にアクセスできます。

ポリシー変数の位置

リソース要素の位置 :ポリシー変数は リソースの6セグメント形式 の最後のセグメントで使用できます。 条件要素の位置 :ポリシー変数は条件値の中で使用できます。
以下のポリシーは、VPC作成者がアクセス権限を持つことを表します。
{
"version":"2.0",
"statement": [
{
"effect":"allow",
"action":"name/vpc:*",
"resource":"qcs::vpc::uin/12357:vpc/*",
"condition":{"string_equal":{"qcs:create_uin":"${uin}"}}
}
]
}
説明:
COSのリソース6セグメント形式は qcs::cos:$region:uid/$appid:$bucketname-$appid/$ResourcesPath です。ここで、$ResourcesPath は具体的なリソースパスであり、かつ $ResourcesPath では上述のポリシー変数を使用できません。完全な COS ストレージバケット Bucket のリソース6セグメント形式は以下の通りです: qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/path_1/path_2/pic.jpeg

ポリシー変数一覧

現在サポートされているポリシー変数のリストは以下の通りです:
変数名
変数の意味
${uin}
現在のアクセス者のサブアカウント uin。アクセス者がルートアカウントの場合、これはルートアカウント uin と一致します。
${owner_uin}
現在のアクセス者が所属するルートアカウントの uin です。
${app_id}
現在のアクセス者が所属するルートアカウントの APPIDです。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック