バケットポリシー、ユーザーポリシー、バケットACL、オブジェクトACLの違い
ユーザーポリシー、バケットポリシー、バケットACL、オブジェクトACLの間の違いについては表1のとおりです。
ユーザーポリシーはユーザーベースの権限承認方式であり、バケットポリシー、バケットACL、オブジェクトACLはリソースベースの権限承認方式です。
ユーザーポリシーとバケットポリシーの権限承認はアクセスポリシー言語に基づいて行われ、権限制御の柔軟性の程度がより高くなっています。権限はそれぞれのアクション(action)について具体的に付与され、なおかつ権限のエフェクト(effect)をdenyまたはallowとすることができます。バケットACLとオブジェクトACLはどちらもアクセス制御リスト(ACL)をベースにした権限承認であり、権限制御の柔軟性の程度は相対的に低く、より簡単に使用することができますが、サポートされる権限は基本的な読み取り/書き込み権限のみです。
ユーザーポリシーは匿名ユーザーへの権限承認をサポートしていません。バケットポリシー、バケットACL、オブジェクトACLは匿名ユーザーへの権限承認をサポートしています。
ユーザーポリシーはCloud Access Management(CAM)コンソールで設定し、バケットポリシー、バケットACL、オブジェクトACLはCloud Object Storage(COS)コンソールで設定します。
表1 権限承認方式の違いの比較
|
分類 |
| ユーザーベースの権限承認 | リソースベースの権限承認 | リソースベースの権限承認 | リソースベースの権限承認 |
権限制御の柔軟性の程度 |
| 柔軟性が高い | 柔軟性が高い | 柔軟性が低い | 柔軟性が低い |
コンソール設定 |
| CAMコンソール | COSコンソール | COSコンソール | COSコンソール |
アクセス制御要素 | ユーザー | このアカウントが管理するすべてのCAM ID(サブアカウント、ロールなど) | サブアカウント、ルートアカウント、匿名ユーザー | サブアカウント、他のルートアカウント、匿名ユーザー | サブアカウント、他のルートアカウント、匿名ユーザー |
|
|
|
|
| サブアカウントのTencent Cloudサービス、ロールなど |
|
| クロスアカウント権限承認を行う場合は先にコラボレーターとしての追加が必要 | クロスアカウント権限承認を直接サポート |
|
|
| エフェクト | 許可+拒否 | 許可+拒否 | 許可のみ | 許可のみ |
| リソース | すべてのリソース、COSのすべてのバケット、指定のバケット(プレフィックス、オブジェクトなど) | 指定のバケット(プレフィックス、オブジェクトなど) | バケット全体 | 指定のオブジェクト |
| アクション | 具体的な各アクション | 具体的な各アクション(バケット作成、バケットリストアップを除く) | 簡略化された読み取り/書き込み権限 | 簡略化された読み取り/書き込み権限 |
| 条件 | サポートしています | サポートしています | サポートしていません | サポートしていません |
適切な権限承認方式を選択するにはどうすればよいですか。
表1に列記した違いから、それぞれの権限承認方式の優劣を判断し、お客様ご自身の必要性に応じて適切な権限承認方式をご選択いただくことができます。
ただし、どの方式を選択する場合でも、できる限り統一性を保つことをお勧めします。バケットポリシー、ユーザーポリシー、ACLの数が増えるにつれて、権限の維持管理が難しくなります。
ACLを選択するのはどのような場合ですか。
注意:
匿名ユーザーにアクセスを開放すること(パブリック読み取り)はハイリスクな操作であり、トラフィックが不正使用される危険性があります。やむを得ずパブリック読み取りを使用する場合は、リンク不正アクセス防止の設定によってセキュリティ保護を実行できます。 バケットとオブジェクトに簡単なアクセス権限のみを設定したい場合、または匿名ユーザーにアクセスを開放したい場合はACLを選択できます。ただし、より多くの状況下では、バケットポリシーまたはユーザーポリシーの方が柔軟性が高いため、これらを優先的に使用することをお勧めします。
簡単なアクセス権限のみを設定する場合。
コンソールでアクセス権限をすばやく設定する場合。
あるオブジェクト、ディレクトリまたはバケットへのアクセスをすべての匿名インターネットユーザーに開放したい場合は、ACLによる操作の方が便利です。
各アカウント下に設定できるACLの数は1000個までです。この上限を超える場合はバケットポリシーまたはユーザーポリシーを代わりに選択してください。
ユーザーポリシーを選択するのはどのような場合ですか。
ユーザーが行えることについてお知りになりたい場合は、ユーザーポリシーを推奨します。CAMユーザーを検索し、その所属するユーザーグループの権限を確認することで、ユーザーが何を行うことができるかを知ることができます。次のようなケースで推奨されます。
バケット作成、バケットリストアップなどの、COSサービスレベルの権限を設定したい場合。
ルートアカウント下のすべてのCOSバケットおよびオブジェクトを使用したい場合。
ルートアカウント下の大量のCAMユーザーに同等の権限を付与したい場合。
バケットポリシーを選択するのはどのような場合ですか。
そのCOSバケットに誰がアクセス可能かをお知りになりたい場合は、バケットポリシーの使用をお勧めします。バケットを検索し、バケットポリシーをチェックすることで、アクセス可能な人が誰かを知ることができます。次のようなケースで推奨されます。
特定のバケットについて単独で権限を付与する場合。
ACLと異なり、権限は特定のアクション(action)について具体的に付与され、権限のエフェクト(effect)をdenyまたはallowとする必要があります。
ユーザーポリシーと異なり、バケットポリシーはクロスアカウント権限承認および匿名ユーザーへの権限承認をサポートしています。
この記事はお役に立ちましたか?