権限の管理
権限によって、bucket 内のデータを一覧表示、読み取り、変更できるユーザーを制御します。FPT Object Storage では、Bucket ACL、Object ACL、Bucket Policy の 3 つのレイヤーを使用できます。
| レイヤー | 適用対象 | 用途 |
|---|---|---|
| Bucket ACL | bucket | 誰でも bucket 内の object を一覧表示できるようにするか、bucket を非公開のままにします。 |
| Object ACL | 1 つの object | 個々の object を公開または非公開にします。 |
| Bucket Policy | bucket とその object | すべての object を公開する、特定の bucket へのアクセスを SubUser に付与するなど、詳細なルールを定義します。Object ACL よりも優先されます。 |
Bucket ACL を設定する
Bucket ACL には 2 つのモードがあります。
- Private: 認証済みかつ権限を持つユーザーのみが bucket にアクセスまたは管理できます。
- Public: インターネット上の匿名ユーザーを含む誰もが bucket を読み取り、object の一覧をすべて表示できます。
Bucket ACL は object 自体には適用されません。匿名ユーザーが object を開けるようにするには、Object ACL または Bucket Policy を使用してください。
- 対象 bucket の Action 列で Config をクリックします。
- Public または Private を選択します。
Object ACL を設定する
Object ACL には 2 つのモードがあります。
- Private: 匿名ユーザーは object にアクセスできません。認証済みかつ権限を持つユーザーのみが表示できます。
- Public: 匿名ユーザーを含む誰もが、URL を通じて object を読み取れます。
- Object Storage Management で、ファイルを含む bucket を開きます。
- ファイルの場所に移動し、Action 列で Edit Permission をクリックします。
- Read permission で Public または Private を選択し、Update をクリックします。
Bucket Policy は Object ACL よりも優先されます。Bucket Policy ですべての object を公開している場合、Object ACL の設定に関係なく、すべての object を誰でも読み取れます。
Bucket Policy を設定する
Bucket Policy は、bucket とその object に対して誰がどの操作を実行できるかを定義する、S3 互換の JSON ドキュメントです。IP アドレス、時間、操作の種類(GET、PUT、DELETE)などの条件に基づいて、アクセスを許可または拒否するルールを設定できます。他の組織との bucket の共有、特定の bucket へのアクセスの SubUser への付与、アクセスの制限などに使用します。
AWS Policy Generator でポリシーを作成し、FPT Object Storage に適用できます。
次のポリシーは、すべてのユーザー("Principal": "*")に、bucket example-bucket 内のすべての object の読み取り(s3:GetObject)を許可します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": "*",
"Action": ["s3:GetObject"],
"Resource": "arn:aws:s3:::example-bucket/*"
}
]
}
Bucket Policy は、宣言された bucket にのみ適用されます。たとえば、bucket-1 のポリシーに bucket-2 のルールを含めることはできません。
- 対象 bucket の Action 列で Config をクリックします。
- エディターモードを選択します。JSON 形式のポリシーがすでにある場合は JSON Editor を、ステップごとに作成する場合は Visual Editor を選択します。
- ポリシーを入力し、新しいポリシーの場合は Create を、既存のポリシーの場合は Update をクリックします。
保存する前に、すべてのポリシーを確認してください。Principal や Resource が誤っていると、閲覧権限のないユーザーにデータが公開される可能性があります。