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
デフォルトでは、Cloud Object Storage(COS)のリソース(バケットおよびオブジェクト)はすべてプライベートです。Tencent Cloudルートアカウント(リソース所有者)でなければバケットおよびオブジェクトへのアクセス、変更を行うことはできず、他のユーザー(サブアカウント、匿名ユーザーなど)はいずれも権限承認がなければURLから直接オブジェクトにアクセスすることはできません。
Tencent Cloudサブアカウントを作成すると、アクセスポリシーによってサブアカウントに権限を付与することができます。非Tencent Cloudユーザーにリソースを開放したい場合は、リソース(バケット、オブジェクト、ディレクトリ)のパブリック権限(パブリック読み取り)を設定することで実現できます。




アクセス制御の要素

アクセス権限の付与とは、どの人が、どのような条件下で、どのリソースに対して、具体的な操作を行うかという制御機能の組み合わせをユーザーが決定できることを指します。このため、1つのアクセス権限行為の記述には、通常プリンシパル、リソース、操作、条件(オプション)の4つの要素が含まれます。




アクセス権限の要素

Tencent Cloudのプリンシパル(Principal)

ユーザーがTencent Cloudアカウントを申請する際、システムはTencent Cloudサービスへのログインに用いるルートアカウントのIDを作成します。Tencent Cloudルートアカウントはユーザー管理機能によって、異なる職責を持つユーザーを分類し管理します。ユーザーのタイプにはコラボレーター、メッセージ受信者、サブユーザーおよびロールなどがあります。具体的な定義についてはCAMのユーザーのタイプおよび用語集のドキュメントをご参照ください。
説明:
社内のある同僚への権限承認を行いたい場合は、まずCAMコンソールでサブユーザーを作成し、バケットポリシーACLまたはユーザーポリシーのいずれかまたは複数の手段を選択し、サブユーザーの具体的な権限を設定する必要があります。

COSのリソース(Resource)

BucketおよびObjectはCOSの基本リソースです。そのうちフォルダは特殊なオブジェクトであり、フォルダを通じてフォルダ下のオブジェクトの権限承認を行うことができます。詳細については、フォルダの権限の設定をご参照ください。
また、バケットとオブジェクトにはどちらもそれらに関連するサブリソースが存在します。
バケットのサブリソースには次のものが含まれます。
aclおよびpolicy:バケットのアクセス制御情報です。
website:バケットの静的ウェブサイトホスティング設定です。
tagging:バケットのタグ情報です。
cors:バケットのクロスドメイン設定情報です。
lifecycle:バケットのライフサイクル設定情報です。
オブジェクトのサブリソースには次のものが含まれます。
acl:オブジェクトのアクセス制御情報です。
restore:アーカイブタイプのオブジェクトの復元設定です。

COSのアクション(Action)

COSではリソースに対する一連のAPI操作をご提供しています。詳細については、操作リストのドキュメントをご参照ください。

COSの条件(Condition、オプション)

オプションです。vpc、vipなどの権限発効の条件についての詳細は、CAMの発効条件をご参照ください。

プライベートの原則

説明:
デフォルトでは、Tencent Cloud COS内のリソースはすべてプライベートです。
リソース所有者(バケットのリソースを作成したTencent Cloudルートアカウント)はこのリソースに対する最高権限を有します。リソース所有者はアクセスポリシーを編集および変更することができ、第三者または匿名ユーザーに対しアクセス権限を与えることができます。
Tencent CloudのCAM(Cloud Access Management)アカウントを使用してバケット作成またはオブジェクトのアップロードを行う場合、親アカウントにあたるルートアカウントがリソース所有者となります。
バケット所有者のルートアカウントは他のTencent Cloudルートアカウントに対し、オブジェクトのアップロード権限を付与することができます(クロスアカウントアップロード)。この場合、オブジェクトの所有者は引き続きバケット所有者のルートアカウントとなります。

アクセス制御の複数の手段

COSは複数の権限設定方式をご提供してアクセス制御を実現しています。これにはバケットポリシー、ユーザーポリシー(CAMポリシー)、バケットACLおよびオブジェクトACLが含まれます。
これらはポリシー設定の出発点に基づき、リソースベースとユーザーベースの2種類の方式に分けられます。また権限承認の方式に基づき、ポリシーとACLの2種類の方式に分けられます。



分類方法1:リソースベース vs ユーザーベース


リソースを出発点とする場合:権限を具体的なリソースにバインドします。バケットポリシー、バケットACLおよびオブジェクトACLが含まれ、COSコンソールまたはCOS APIによって設定します。
ユーザーを出発点とする場合:ユーザーポリシー(CAMポリシー)では権限をユーザーにバインドします。ポリシー作成時にユーザーを入力する必要はなく、リソース、アクション、条件などを指定し、CAMコンソールで設定します。
分類方法2:ポリシー vs ACL


ポリシー:ユーザーポリシー(CAMポリシー)とバケットポリシーはどちらも完全なポリシー構文に基づいて権限承認を行うものです。権限承認の動作は各APIの対応する動作に細分化され、許可/ 拒否のエフェクトを指定することができます。
ACL:バケットACLとオブジェクトACLはどちらもアクセス制御リスト(ACL)をベースにして実装されます。ACLはリソースにバインドされた、被付与者と付与される権限を指定したリストです。整理され抽象化された権限に対応し、許可のエフェクトのみを指定することができます。

リソースベースのポリシー

リソースベースのポリシーにはバケットポリシー、バケットACL、オブジェクトACLの3種類が含まれます。バケットオブジェクトの次元でそれぞれアクセス制御を行うことができます。具体的には次の表をご参照ください。
次元
タイプ
記述方式
サポートするプリンシパル
サポートするリソース粒度
サポートするアクション
サポートするエフェクト
Bucket
アクセスポリシー言語(Policy)
JSON
サブアカウント、ロール、Tencent Cloudサービス、他のルートアカウント、匿名ユーザーなど
バケット、オブジェクト、プレフィックスなど
それぞれの具体的な操作
許可/明示的な拒否
Bucket
アクセス制御リスト(ACL)
XML
他のルートアカウント、サブアカウント、匿名ユーザー
バケット
整理された読み取り/書き込み権限
許可のみ
Object
アクセス制御リスト(ACL)
XML
他のルートアカウント、サブアカウント、匿名ユーザー
オブジェクト
整理された読み取り/書き込み権限
許可のみ

バケットポリシー(Bucket Policy)

バケットポリシー(Bucket Policy)はJSON言語を使用して記述され、匿名IDまたはTencent CloudのあらゆるCAMアカウントに対し、バケット、バケット操作、オブジェクトまたはオブジェクト操作への権限付与をサポートしています。Tencent Cloud COSのバケットポリシーは、そのバケット内のほとんどすべての操作の管理に用いることができます。ACLでは記述できないアクセスポリシーを、バケットポリシーを使用して管理することをお勧めします。その他の内容についてはバケットポリシーのドキュメントをご参照ください。
注意:
Tencent Cloudのルートアカウントは、そのアカウント下のリソース(バケットを含む)に対する最大の権限を有しています。バケットポリシーではほとんどすべての操作を制限できますが、ルートアカウントは常にPUT Bucket Policy操作の権限を有しており、ルートアカウントがこの操作を呼び出す際、バケットポリシーのチェックは行われません。
以下は、匿名ユーザーに対し広州にあるバケットexamplebucket-1250000000内のすべてのオブジェクトへのアクセスを許可するポリシーです。署名のチェックは必要なく、そのままバケット内のすべてのオブジェクトをダウンロード(GetObject)できます。すなわち、URLを知っている匿名ユーザーは誰でもオブジェクトをダウンロードできます(パブリック読み取り方式に類似)。
{
"Statement": [
{
"Principal": "*",
"Effect": "Allow",
"Action": ["cos:GetObject"],
"Resource": ["qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*"]
}
],
"Version": "2.0"
}

アクセス制御リスト(ACL)

アクセス制御リスト(ACL)はXML言語を使用して記述する、リソースにバインドされた、被付与者と付与される権限を指定したリストです。各バケットとオブジェクトにはそれぞれに、これらとバインドされたACLがあり、匿名ユーザーまたはその他のTencent Cloudのルートアカウントに対し、基本的な読み取り/書き込み権限を付与することができます。その他の内容については、ACLのドキュメントをご参照ください。
注意:
発行されたACLにその記述があるかどうかにかかわらず、リソースの所有者は常にリソースに対してFULL_CONTROL権限を有します。
以下はバケットACLの例です。バケット所有者(ユーザーUIN:100000000001)の完全制御権限を記述しています。
<AccessControlPolicy>
<Owner>
<ID>qcs::cam::uin/100000000001:uin/100000000001</ID>
</Owner>
<AccessControlList>
<Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="RootAccount">
<ID>qcs::cam::uin/100000000001:uin/100000000001</ID>
</Grantee>
<Permission>FULL_CONTROL</Permission>
</Grant>
</AccessControlList>
</AccessControlPolicy>
以下はオブジェクトACLの例です。オブジェクト所有者(ユーザーUIN:100000000001)の完全制御権限を記述し、すべての人が読み取り可能な(匿名ユーザーのパブリック読み取り)権限を付与しています。
<AccessControlPolicy>
<Owner>
<ID>qcs::cam::uin/100000000001:uin/100000000001</ID>
</Owner>
<AccessControlList>
<Grant>
<Grantee>
<ID>qcs::cam::uin/100000000001:uin/100000000001</ID>
</Grantee>
<Permission>FULL_CONTROL</Permission>
</Grant>
<Grant>
<Grantee>
<URI>http://cam.qcloud.com/groups/global/AllUsers</URI>
</Grantee>
<Permission>READ</Permission>
</Grant>
</AccessControlList>
</AccessControlPolicy>

ユーザーポリシー

ユーザーはCAMで、ルートアカウント下の異なるタイプのユーザーに対し、異なる権限を付与することができます。
ユーザーポリシーとバケットポリシーの最大の違いは、ユーザーポリシーはエフェクト(Effect)、アクション(Action)、リソース(Resource)、条件(Condition、オプション)のみを記述し、プリンシパル(Principal)は記述しない点です。このため、ユーザーポリシーの作成完了後、サブユーザー、ユーザーグループまたはロールに対しバインド操作を実行する必要があります。またユーザーポリシーは、匿名ユーザーへのアクションおよびリソース権限の付与はサポートしていません。
プリセットポリシーを使用した権限のバインドを行うことも、ユーザーポリシーを自ら作成した後に指定のプリンシパルにバインドすることで、アカウント下のユーザーに対するアクセス管理を実現することもできます。その他の内容については、ユーザーポリシーのドキュメントをご参照ください。
以下は、広州にあるバケットexamplebucket-1250000000のすべてのCOS操作権限を付与するポリシーです。ポリシーを保存した後、さらにCAMのサブユーザー、ユーザーグループまたはロールにバインドすることで発効します。
{
"Statement": [
{
"Effect": "Allow",
"Action": ["cos:*"],
"Resource": [
"qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*",
"qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/"
]
}
],
"Version": "2.0"
}


ヘルプとサポート

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

フィードバック