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
注意:
サブユーザーまたはコラボレーターにアクセスポリシーを追加する際は、必ず業務の必要性に応じて、最小権限の原則に従って権限を付与してください。サブユーザーまたはコラボレーターに対し、すべてのリソース(resource:*)またはすべてのアクション(action:*)の権限を直接与えてしまうと、権限の範囲が大きすぎるためにデータセキュリティ上のリスクが生じる場合があります。

概要

アクセスポリシーはCloud Object Storage(COS)リソースへのアクセス権限を付与するために用いられます。アクセスポリシーにはJSONをベースにしたアクセスポリシー言語を使用します。アクセスポリシー言語の権限によって、指定するプリンシパル(principal)に指定のCOSリソースに対する指定のアクションを実行させることができます。
アクセスポリシー言語はバケットポリシー(Bucket Policy)の基本要素および使用法を記述するものです。ポリシー言語の説明に関してはCAMポリシー管理をご参照ください。

アクセスポリシーの要素

アクセスポリシー言語には次の基本的な意味を持つ要素が含まれます。
プリンシパル(principal):ポリシーが権限を付与するエンティティを記述します。例えばユーザー(ルートアカウント、サブアカウント、匿名ユーザー)、ユーザーグループなどです。この要素はバケットアクセスポリシーに対して有効ですが、ユーザーアクセスポリシーには追加すべきではありません。
ステートメント(statement):1つまたは複数の権限の詳細情報を記述します。この要素にはエフェクト、アクション、リソース、条件などのいくつかの他の要素の権限または権限セットが含まれます。1つのポリシーには1つのステートメント要素しかありません。
エフェクト(effect):ステートメントによる結果が「許可」であるか「明示的な拒否」であるかを記述します。allowとdenyの2種類が含まれます。この要素は入力必須項目です。
アクションaction:許可する、または拒否するアクションを記述します。アクションはAPI(nameプレフィックスで記述)または機能セット(permidプレフィックスが付いた特定のAPIセット)とすることができます。この要素は入力必須項目です。
リソース(resource) は権限が適用されるリソースについて記述します。リソースは6セグメント式で説明されます。リソース定義の詳細は各製品によって異なります。リソースの指定方法については、作成したリソースステートメントに対応する製品ドキュメントをご参照ください。この要素は必須項目です。
条件(condition):ポリシー発効の制約条件を記述します。条件はオペレーター、アクションキーとアクション値から構成されています。条件値には時間、IPアドレスなどの情報を含めることができます。一部のサービスは、条件に対しほかの値を指定することを認めています。この要素は入力必須項目ではありません。

要素の使用法

プリンシパルの指定

プリンシパル(principal)の要素はリソースへのアクセスを許可される、または拒否されるユーザー、アカウント、サービスまたはその他のエンティティを指定するために用いられます。principalの要素はバケット内でのみ作用します。ユーザーポリシーでは指定する必要がありませんが、これはユーザーポリシーが特定のユーザーに直接付加されるものだからです。principalの指定の例は次のとおりです。
"principal":{
"qcs": [
"qcs::cam::uin/100000000001:uin/100000000001"
]
}
匿名ユーザーに権限を付与:
"principal":{
"qcs": [
"qcs::cam::anonymous:anonymous"
]
}
ルートアカウントUIN 100000000001に権限を付与:
"principal":{
"qcs": [
"qcs::cam::uin/100000000001:uin/100000000001"
]
}
サブアカウントUIN 100000000011(ルートアカウントのUINは100000000001)に権限を付与:
注意:
操作を行う前に、サブアカウントがルートアカウントのサブアカウントリストに追加されていることを確認する必要があります。
"principal":{
"qcs": [
"qcs::cam::uin/100000000001:uin/100000000011"
]
}

エフェクトの指定

リソースへのアクセス権限を明示的に付与(許可)していない場合、アクセスは暗黙的に拒否されます。リソースへのアクセスを明示的に拒否(deny)することもでき、そうした場合はユーザーがそのリソースに確実にアクセスできなくなります。これは他のポリシーがアクセス権限を付与している場合であっても同様です。許可のエフェクトを指定する例を次に挙げます。
"effect" : "allow"

アクションの指定

COSはポリシーの中で、ある特定のCOSアクションを指定することができると定義しています。指定するアクションは発行されるAPIのリクエスト操作 と完全に同じです。一部のバケット操作およびオブジェクト操作を次に列記します。その他の具体的な操作については、API操作リストのドキュメントをご参照ください。

バケットの操作

説明
対応するAPIインターフェース
name/cos:GetService
GET Service
name/cos:GetBucket
GET Bucket (List Objects)
name/cos:PutBucket
PUT Bucket
name/cos:DeleteBucket
DELETE Bucket

オブジェクト操作

説明
対応するAPIインターフェース
name/cos:GetObject
GET Object
name/cos:PutObject
PUT Object
name/cos:HeadObject
HEAD Object
name/cos:DeleteObject
DELETE Object
アクション許可の指定の例を次に示します。
"action":[
"name/cos:GetObject",
"name/cos:HeadObject"
]

リソースの指定

リソース(resource)要素は単一または複数の操作オブジェクト(COSバケットまたはオブジェクトなど)を記述します。すべてのリソースには下記の6セグメント式の記述方法を使用することができます。
qcs:project_id:service_type:region:account:resource
パラメータの説明は次のとおりです。
パラメータ
説明
入力必須かどうか
qcs
qcloud serviceの略称であり、Tencent Cloudのクラウドサービスであることを表します。
はい
project_id
プロジェクト情報を記述します。CAMのレガシーロジックとの互換性のためにのみ使用されます。
オプション
service_type
「COS」のような、製品の略称を記述します。
はい
region
リージョンの情報を説明します。Tencent Cloud COSがサポートするアベイラビリティリージョンをご参照ください。
はい
account
リソース所有者のルートアカウント情報を記述します。現在、リソース所有者の記述方式は2種類をサポートしています。1つはuin方式、すなわちルートアカウントのUINアカウントであり、uin/${OwnerUin}で表され、uin/100000000001のようになります。もう1つはuid方式、すなわちルートアカウントのAPPIDであり、uid/${appid}で表され、uid/1250000000のようになります。現在、COSのリソース所有者はすべてuid方式を使用して記述され、ルートアカウントの開発者APPIDとなります。
はい
resource
具体的なリソースの詳細を記述します。COSサービスではバケットのXML APIアクセスドメイン名を使用して記述します。
はい
バケットexamplebucket-1250000000を指定する例を次に挙げます。
"resource": ["qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*"]
バケットexamplebucket-1250000000内の/folder/フォルダ下の全オブジェクトを指定する例を次に挙げます。
"resource": ["qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/*"]
バケットexamplebucket-1250000000内のオブジェクト、/folder/exampleobjectを指定する例を次に挙げます。
"resource": ["qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/folder/exampleobject"]

条件の指定

アクセスポリシー言語は権限承認を受ける際の条件を指定することができます。例えばユーザーのアクセス元の制限、権限承認時間の制限などです。現在サポートされている条件オペレーターのリストおよび一般的な条件キーとその例などの情報を次に列記します。
条件オペレーター
意味
条件名
ip_equal
IP一致
qcs:ip
{"ip_equal":{"qcs:ip ":"10.121.2.0/24"}}
ip_not_equal
IP不一致
qcs:ip
{"ip_not_equal":{"qcs:ip ":["10.121.1.0/24", "10.121.2.0/24"]}}
以下は、アクセスIPが10.121.2.0/24のネットワークセグメント内という条件を満たす例です。
"ip_equal":{"qcs:ip ":"10.121.2.0/24"}
以下は、アクセスIPが101.226.100.185および101.226.100.186であるという条件を満たす例です。
"ip_equal":{
"qcs: ip": [
"101.226.100.185",
"101.226.100.186"
]
}

実際の例

ルートアカウントが匿名ユーザーを許可し、アクセス元のIPが101.226.100.185または101.226.100.186であった場合、華南リージョンのバケットexamplebucket-1250000000内のオブジェクトに対し、GET(ダウンロード)およびHEAD操作を実行し、認証は必要ありませんでした。その他の事例については、権限設定の関連事例をご参照ください。
{
"version": "2.0",
"principal":{
"qcs": [
"qcs: : cam: : anonymous: anonymous"
]
},
"statement":[
{
"action":[
"name/cos: GetObject",
"name/cos: HeadObject"
],
"condition":{
"ip_equal":{
"qcs: ip": [
"101.226.100.185",
"101.226.100.186"
]
}
},
"effect": "allow",
"resource":[
"qcs: : cos: ap-guangzhou: uid/1250000000: examplebucket-1250000000.ap-guangzhou.myqcloud.com/*"
]
}
]
}


ヘルプとサポート

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

フィードバック