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
フォーカスモード
フォントサイズ
最終更新日: 2025-11-24 16:49:47
バケットポリシーは設定したバケットおよびバケット内のオブジェクトに対して機能します。バケットポリシーによってCAMサブアカウント、その他のルートアカウント、また匿名のユーザーに対しても、バケットおよびバケット内のオブジェクトの操作権限を付与することができます。

概要

注意:
Tencent Cloudのルートアカウントは、そのアカウント下のリソース(バケットを含む)に対する最大の権限を有しています。バケットポリシーではほとんどすべての操作を制限できますが、ルートアカウントは常にPUT Bucket Policy操作の権限を有しており、ルートアカウントがこの操作を呼び出す際、バケットポリシーのチェックは行われません。
バケットポリシー(Bucket Policy)はJSON言語を使用して記述し、匿名IDまたはTencent CloudのあらゆるCAMアカウントに対し、バケット、バケット操作、オブジェクトまたはオブジェクト操作の権限を付与できます。Tencent Cloud COSのバケットポリシーは、そのバケット内のほとんどすべての操作の管理に用いることができます。ACLでは記述できないアクセスポリシーを、バケットポリシーを使用して管理することをお勧めします。

ユースケース

注意:
バケット作成およびバケットリスト取得という2つのサービスレベルの操作権限は、CAMコンソールで設定する必要があります。
そのCOSバケットに誰がアクセス可能かをお知りになりたい場合は、バケットポリシーの使用をお勧めします。バケットを検索し、バケットポリシーをチェックすることで、アクセス可能な人が誰かを知ることができます。次のようなケースで推奨されます。
特定のバケットについて権限を付与する
バケットポリシーがACLに比べてより柔軟である
ユーザーポリシーと異なり、バケットポリシーがクロスアカウント権限付与および匿名ユーザーへの権限付与をサポートしている

バケットポリシーの構成

バケットポリシーはJSON言語を使用して記述します。構文は、プリンシパル(principal)、エフェクト(effect)、アクション(action)、リソース(resource)、条件(condition)などの基本要素を含めたアクセスポリシー言語の統一ルールに従います。詳細については、アクセスポリシーの言語概要をご参照ください。 このうち、バケットポリシーのリソース範囲はそのバケット内に限定されますが、バケット全体、指定されたディレクトリ、指定されたオブジェクトに対する権限を付与することができます。
注意:
バケットポリシーを追加する際は、必ず業務の必要性に応じて、最小権限の原則に従って権限を付与してください。他のユーザーに対し、すべてのリソース(resource:*)またはすべてのアクション(action:*)の権限を直接与えてしまうと、権限が大きすぎるためにデータセキュリティ上のリスクが生じる場合があります。

コンソール設定の例

説明:
COSコンソールを使用してバケットポリシーを設定する場合、ユーザーが持つバケットに関連する権限を付与する必要があります。例えば、バケットタグの取得やバケットリストアップの権限などです。
バケットポリシーのサイズ制限は20KBです。
例:サブアカウントが持つバケットの特定のディレクトリの全権限を付与します。設定情報は次のとおりです。
設定項目
設定値
エフェクト
許可
プリンシパル
サブアカウント、サブアカウントのUIN。このサブアカウントは現在のルートアカウント下のサブアカウントである必要があります。例:100000000011
リソース
特定のディレクトリのプレフィックス。例:folder/sub-folder/*
アクション
すべての操作
条件
なし
コンソールは、グラフィカル設定ポリシー設定という2種類の方式でのバケットポリシーの追加と管理をサポートしています。

グラフィカル設定

ターゲットバケットの権限管理に進み、Policy権限設定 > グラフィック設定を選択し、ポリシーの追加をクリックして、ポップアップウィンドウでポリシーの設定を行います。

ステップ1:テンプレートの選択(オプション)

COSは複数のポリシーテンプレートをご提供しており、様々な被付与者、リソース範囲の組み合わせを選択することで、お客様がバケットポリシーの設定を迅速に行えるようサポートします。テンプレートがニーズに合わない場合はこのステップをスキップするか、またはステップ2:ポリシーの設定で権限付与操作を追加または削除することができます。

ステップ2:ポリシーの設定

ステップ1で選択した被付与者、指定ディレクトリおよびテンプレートの組み合わせに対し、COSはポリシー設定において対応する操作、被付与者、リソースなどを自動的に追加します。お客様が指定ユーザー、指定ディレクトリを選択された場合は、ポリシー設定の際に具体的なユーザーUINとディレクトリを指定する必要があります。
説明:
ディレクトリに対する権限付与の場合、入力するリソースパスの後に/*を付ける必要があることにご注意ください。例えば、ディレクトリのtest権限の場合、test/*と入力する必要があります。
COSがご提供する推奨テンプレートがニーズに合わない場合は、お客様ご自身でポリシーの内容を調整し、被付与者、リソースおよびアクションを追加または削除することもできます。下図に示します。
設定項目の説明は次のとおりです。
エフェクト許可または拒否を選択できます。ポリシー構文の「allow」と「deny」に対応します。
ユーザー:すべてのユーザー(*)、ルートアカウント、サブアカウント、クラウドサービスを含む被付与者を追加、削除できます。
注意:
条件内のIPVPC IDは、同一のポリシー内に同時に設定することはできません。ポリシーを分けて追加してください。
エフェクト拒否の場合、すべてのユーザーの適用範囲は匿名ユーザーのみに限定されます。匿名ユーザーはバケットへアクセスできなくなりますので、操作は、慎重に行ってください
リソース:バケット全体または指定ディレクトリのリソースを追加できます。
アクション:権限付与が必要な操作を追加、削除します。
条件:ユーザーのアクセスIPの制限など、権限付与の際の指定条件です。その他の条件に関する詳細については、条件キーの説明と使用例をご参照ください。
注意:
条件内のIPVPC IDは、同一のポリシー内に同時に設定することはできません。ポリシーを分けて追加してください。
ご利用のCVMとCOSバケットが異なるリージョンにある場合、またはCVM以外からアクセスする場合、条件としてIPを選択し、パブリックIPアドレスを入力してください。ご利用のCVMとCOSバケットが同一リージョンにある場合は、条件としてVPC IDを選択し、VPC IDを入力してください。

ポリシー文法

グラフィカル設定を使用する場合を除き、直接JSON言語を使用してポリシーを作成することができます。
バケットポリシーを作成したら、保存をクリックします。下図の通りです。また、API または SDK を通じてバケットポリシーを追加することもできます。

JSONポリシーの例

次のポリシーの記述例は、ルートアカウントID 100000000001(APPIDは1250000000)下のサブアカウントID 100000000011に対し、北京リージョンのバケットのexamplebucket-bj下のディレクトリfolder/sub-folder内のオブジェクトについて、すべての操作の権限を許可するものです。
{
"statement": [
{
"principal": {
"qcs": [
"qcs::cam::uin/100000000001:uin/100000000011"
]
},
"effect": "allow",
"action": [
"name/cos:*"
],
"resource": [
"qcs::cos:ap-beijing:uid/1250000000:examplebucket-bj-1250000000/folder/sub-folder/*"
]
}
],
"version": "2.0"
}

操作方法

COSではコンソール、API、SDKなどの複数の方式でバケットポリシーを追加することができます。コンソールはグラフィカル設定と一般的な権限付与テンプレートをサポートしており、ポリシー言語に不慣れな場合でもすぐにポリシーを追加できるようになっています。
操作方法
説明
直感的で使いやすいWebページ
RESTful APIで直接COSをリクエスト
SDK
Android
豊富なSDKデモを提供しており、様々な開発言語に対応しています。
.NET(C#)
Go
Java
Node.js
Python

その他のバケットポリシーの例

注意:
バケットポリシーを追加する際は、必ず業務の必要性に応じて、最小権限の原則に従って権限を付与してください。他のユーザーに対し、すべてのリソース(resource:*)またはすべてのアクション(action:*)の権限を直接与えてしまうと、権限が大きすぎるためにデータセキュリティ上のリスクが生じる場合があります。
次に、サブネット、プリンシパル、VPC IDを制限するバケットポリシーの例についてご説明します。

事例1

匿名ユーザーqcs::cam::anyone:anyone)からの、サブネット10.1.1.0/24およびvpcidがaqp5jrc1のリクエストを拒否する例は以下の通りです。
注意:
この拒否ポリシーは匿名ユーザーのみに対して有効です。CAMユーザー(サブアカウント、メインアカウント)を制限したい場合は、principalフィールドに該当アカウントのArnを明示的に指定する必要があります。
{
"statement": [
{
"action": [
"name/cos:*"
],
"condition": {
"ip_equal": {
"qcs:ip": [
"10.1.1.0/24"
]
},
"string_equal": {
"vpc:requester_vpc": [
"vpc-aqp5jrc1"
]
}
},
"effect": "deny",
"principal": {
"qcs": [
"qcs::cam::anyone:anyone"
]
},
"resource": [
"qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*"
]
}
],
"version": "2.0"
}

事例2

サブアカウント(qcs::cam::uin/100000000001:uin/100000000002)がアクセス元vpcidがaqp5jrc1からアクセスする際に、特定のバケットへのアクセスを許可するポリシーの記述例は以下の通りです:
{
"statement": [
{
"action": [
"name/cos:*"
],
"condition": {
"string_equal": {
"vpc:requester_vpc": [
"vpc-aqp5jrc1"
]
}
},
"effect": "allow",
"principal": {
"qcs": [
"qcs::cam::uin/100000000001:uin/100000000002"
]
},
"resource": [
"qcs::cos:ap-beijing:uid/1250000000:examplebucket-1250000000/*"
]
}
],
"version": "2.0"
}


ヘルプとサポート

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

フィードバック