tencent cloud

Cloud Object Storage

最新情報とお知らせ
製品アップデート情報
製品のお知らせ
製品概要
製品概要
機能概要
応用シナリオ
製品の優位性
基本概念
リージョンとアクセスドメイン名
仕様と制限
製品の課金
課金概要
課金方式
課金項目
無料利用枠
記帳例
請求書の確認とダウンロード
お支払い遅れについて
よくある質問
クイックスタート
コンソールクイックスタート
COSBrowserクイックスタート
ユーザーガイド
リクエストの作成
バケット
オブジェクト
データ管理
バッチ処理
グローバルアクセラレーション
監視とアラーム
運用管理センター
データ処理
インテリジェントツールボックス使用ガイド
データワークフロー
アプリ統合
ツールガイド
ツール概要
環境のインストールと設定
COSBrowserツール
COSCLIツール
COSCMDツール
COS Migrationツール
FTP Serverツール
Hadoopツール
COSDistCpツール
HDFS TO COSツール
オンラインツール (Onrain Tsūru)
セルフ診断ツール
実践チュートリアル
概要
アクセス制御と権限管理
パフォーマンスの最適化
AWS S3 SDKを使用したCOSアクセス
データディザスタリカバリバックアップ
ドメイン名管理の実践
画像処理の実践
COSオーディオビデオプレーヤーの実践
データセキュリティ
データ検証
COSコスト最適化ソリューション
サードパーティアプリケーションでのCOSの使用
移行ガイド
サードパーティクラウドストレージのデータをCOSへ移行
データレークストレージ
クラウドネイティブデータレイク
メタデータアクセラレーション
データアクセラレーター GooseFS
データ処理
データ処理概要
画像処理
メディア処理
コンテンツ審査
ファイル処理
ドキュメントプレビュー
トラブルシューティング
RequestId取得の操作ガイド
パブリックネットワーク経由でのCOSへのファイルアップロード速度の遅さ
COSへのアクセス時に403エラーコードが返される
リソースアクセス異常
POST Objectの一般的な異常
セキュリティとコンプライアンス
データ災害復帰
データセキュリティ
クラウドアクセスマネジメント
よくある質問
よくあるご質問
一般的な問題
従量課金に関するご質問
ドメインコンプライアンスに関するご質問
バケット設定に関する質問
ドメイン名とCDNに関するご質問
ファイル操作に関するご質問
権限管理に関するご質問
データ処理に関するご質問
データセキュリティに関するご質問
署名付きURLに関するご質問
SDKクラスに関するご質問
ツール類に関するご質問
APIクラスに関するご質問
Agreements
Service Level Agreement
プライバシーポリシー
データ処理とセキュリティ契約
連絡先
用語集

アクセスポリシーの評価フロー

PDF
フォーカスモード
フォントサイズ
最終更新日: 2024-06-26 11:09:29
COSバケットおよびバケット内のリソースにアクセスする際は権限承認を経てからアクセスする必要があります。Tencent Cloudの権限システムでは、リソースが所属するルートアカウントはデフォルトでバケットおよびバケット内のリソースに対しすべての管理権限を有します。CAMユーザー(その他のルートアカウント、コラボレーター、サブアカウント)および匿名ユーザーなどのその他のタイプのユーザーは、ルートアカウントによる権限承認を経てからでなければアクセスできません。
アカウントのアクセスポリシーには、ユーザーグループポリシー、ユーザーポリシー、バケットアクセス制御リスト(ACL)、バケットポリシー(Policy)などの異なるポリシータイプがあります。アクセスポリシーの評価においては、次のいくつかの重要な要素があります。
1. ユーザーのID認証:ユーザーがCOS上のリソースにアクセスする場合、次の2つの状況があります。
リクエスト署名がある場合、COSはリクエスト署名からユーザーのアカウント情報を解析した後、リクエストをCAMに転送してID認証を行います。
署名のないリクエストの場合は、匿名ユーザーと認識され、認証の次の段階に進みます。
2. アクセスポリシーの種類:アクセスポリシーにはユーザーグループ、ユーザー、バケットなどの複数のタイプが含まれます。アクセスポリシーの順序はアクセスポリシーの種類によって決定されます。
3. ポリシーのコンテキスト情報:ユーザーのリソースアクセスリクエストを処理する際は、ユーザーグループポリシー、ユーザーポリシー、バケットポリシーなどの複数のポリシーに記録された権限の詳細に基づいて総合的に判断し、リクエストを許可するかどうかを最終的に決定します。

アクセスポリシーの評価フロー

アクセスポリシーの評価フロー

Tencent Cloud COSがリクエストを受信すると、最初にリクエスト送信者のIDを確認し、リクエスト送信者が関連の権限を有しているかどうかを検証します。検証のプロセスには、ユーザーポリシー、バケットアクセスポリシー、リソースベースのアクセス制御リストのチェックが含まれ、リクエストに対する認証を行います。
Tencent Cloud COSはリクエストを受信した際、最初にID認証を行い、ID認証の結果に基づいてリクエスト送信者のIDを分類します。IDのカテゴリーに応じて異なるアクションがとられる可能性があります。
1. 検証済みのTencent Cloudルートアカウント:ルートアカウントはその所属リソースに対しすべての操作権限を有します。一方、アカウントに属さないリソースについては、リソース権限の評価が必要であり、認証に合格するとリソースへのアクセスが許可されます。
2. 検証済みのCAMユーザー(サブアカウントまたはコラボレーター):ユーザーポリシーの評価 —— CAMユーザーは必ず親アカウントにあたるルートアカウントの権限承認を受けていなければ、関連のアクセスが許可されません。CAMユーザーが他のルートアカウントに属するリソースにアクセスしたい場合は、CAMユーザーが属するルートアカウントのリソース権限の評価が必要であり、認証に合格するとリソースへのアクセスが許可されます。
3. ID特性を持たない匿名ユーザー:リソース権限の評価 —— バケットアクセスポリシーまたはバケット、オブジェクトのアクセス制御リストの権限を評価し、認証に合格するとリソースへのアクセスが許可されます。
4. 上記のユーザーカテゴリー以外のリクエスト送信者:アクセスが拒否されます。

アクセスポリシーの評価根拠

Tencent Cloudの権限システムでは、アクセスポリシーの評価フローにおいて、全プロセスでポリシーのコンテキスト情報に基づいて権限の評価を行います。また同時に次のいくつかの基本原則があります。
1. デフォルトでは、すべてのリクエストが暗黙的に拒否(deny)されます。ルートアカウントはデフォルトでアカウント下のすべてのリソースのアクセス権限を有します。
2. ユーザーグループポリシー、ユーザーポリシー、バケットポリシーまたはバケット/オブジェクトのアクセス制御リストに明示的な許可が存在する場合は、このデフォルト値を上書きします。
3. いずれかのポリシーの中に明示的な拒否がある場合は、あらゆる許可を上書きします。
4. 有効な権限の範囲はIDベースのポリシー(ユーザーグループポリシー、ユーザーポリシー)とリソースベースのポリシー(バケットポリシーまたはバケット/オブジェクトのアクセス制御リスト)を合わせたものとなります。
説明:
明示的な拒否:ユーザーポリシー、ユーザーグループポリシー、バケットPolicyの中で特定のユーザーに対して明確なDenyポリシーが存在する場合。例えば、ルートアカウントがユーザーポリシーの中で、サブユーザーUIN 100000000011がGET Object操作を行うことを明確にDenyと設定している場合、そのサブユーザーはそのルートアカウント下のオブジェクトリソースをダウンロードすることはできません。
明示的な許可:ユーザーポリシー、ユーザーグループポリシー、バケットPolicy、バケットACLの中で、grant-\\*によって特定のユーザーを明確に指定し、特定のユーザーに対し明確なAllowポリシーを設けます。
すべての人を拒否:バケットPolicyの中で、Deny anyoneと明確に指定します。すべての人を拒否すると、任意の署名なしリクエストが拒否されます。署名付きリクエストに対してはIDベースのポリシーによる認証が行われます。
すべての人を許可:バケットPolicyの中で、Allow anyoneと明確に指定するか、またはバケットACLの中でpublic-\\*と明確に指定します。
有効な権限の範囲はIDベースのポリシーとリソースベースのポリシーを合わせたものとなります。1回の完全な認証において、COSは最初にユーザーのIDを解析し、ユーザーのIDに基づいて、そのユーザーがアクセス権限を持つリソースの権限チェックを行います。同時にリソースベースのポリシーに基づき、ユーザーを匿名ユーザーとみなして権限チェックを行います。2回のチェックのうち1回が成功するとアクセスが許可されます。
アクセスポリシーの評価根拠は次の図のとおりです。最初にリクエストの署名の有無に基づき、ユーザーが匿名ユーザーかどうかを評価します。ユーザーが匿名ユーザーであれば、「すべての人を拒否」または「すべての人を許可」のポリシーがないかどうかを評価し、これに基づいてアクセス許可またはアクセス拒否の判断を行います。ユーザーが正当なCAMユーザーまたはリソースを所有するルートアカウントの場合は、明示的な拒否、明示的な許可または「すべての人を許可」のポリシーがないかどうかを評価し、これに基づいてアクセス許可またはアクセス拒否の判断を行います。


ポリシーのコンテキスト情報

ポリシーのコンテキスト情報とは、ポリシーに記録される権限の詳細を指します。最小権限の原則の下で、ユーザーはポリシーの中で次の情報を明確に指定する必要があります。
プリンシパル(principal):どのサブユーザー(ユーザーIDの入力が必要)、コラボレーター(ユーザーIDの入力が必要)、匿名ユーザーまたはユーザーグループに権限を付与したいかを明確に指定する必要があります。一時キーを使用してアクセスする場合、この項の指定は不要です。
ステートメント(statement):次のいくつかのパラメータに、対応するパラメータを明確に入力します。
エフェクト(effect):このポリシーが「許可」であるか「明示的な拒否」であるかを明確に述べる必要があります。allowとdenyの2種類が含まれます。
アクション(action):このポリシーが許可または拒否するアクションを明確に述べる必要があります。アクションは単一のAPIのアクションまたは複数のAPIアクションのセットとすることができます。
リソース(resource):このポリシーが権限を承認する具体的なリソースを明確に述べる必要があります。リソースは6セグメント式で記述します。リソース範囲の指定は、exampleobject.jpgなどの指定されたファイル、またはexamplePrefix/*などの指定されたディレクトリとすることができます。業務上の必要がない限り、すべてのリソースにアクセスする権限(ワイルドカード*)をユーザーにみだりに付与しないでください。
条件(condition):ポリシー発効の制約条件を記述します。条件はオペレーター、アクションキーとアクション値から構成されています。条件値には時間、IPアドレスなどの情報を含めることができます。
ポリシーの作成は一定のポリシー構文に従って行う必要があります。アクセスポリシーの言語概要を参照し、業務上の必要性に応じて作成することができます。ユーザーポリシーおよびバケットポリシーの作成例については、ユーザーポリシー構文の構造およびバケットポリシーの例をそれぞれご参照ください。

アクセスポリシーの評価の例

ルートアカウントUIN 100000000001がサブアカウントUIN 100000000011にユーザープリセットポリシーをバインドし、このサブアカウントにルートアカウント下のリソースを読み取り専用として許可したとします。このユーザーポリシーの詳細は次のとおりです。このユーザーポリシーはこのサブアカウントに対し、すべてのListGetHead操作およびOptionsObject操作の実行を許可しています。
{
"version": "2.0",
"statement": [
{
"action": [
"cos:List*",
"cos:Get*",
"cos:Head*",
"cos:OptionsObject"
],
"resource": "*",
"effect": "allow"
}
]
}
また、ルートアカウントはあるプライベート読み取り/書き込みバケットexamplebucket-1250000000に次のバケットポリシーを追加しました。
{
"Statement": [
{
"Principal": {
"qcs": [
"qcs::cam::anyone:anyone"
]
},
"Effect": "Deny",
"Action": [
"name/cos:GetObject"
],
"Resource": [
"qcs::cos:ap-guangzhou:uid/100000000011:examplebucket-1250000000/*"
]
}
],
"version": "2.0"
}
このバケットポリシーはすべてのユーザーのオブジェクトダウンロード実行(GetObject)の操作を明示的に拒否しています。このため、アクセスポリシー評価のフローにおいては、次が行われます。
1. このサブアカウントが署名パラメータによってGetObjectをリクエストした場合、このリクエストが表すユーザーのIDが対応するユーザーポリシーとマッチした場合、アクセスポリシーの評価検証は合格となります。
2. このサブアカウントが署名のないパラメータによってGetObjectをリクエストした場合、システムによって匿名のリクエストと判断され、バケットポリシーによってアクセスが拒否されます。

ヘルプとサポート

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

フィードバック