public class AccessControlList extends Object implements Serializable
IIJ GIOストレージ&アナリシスサービスのバケットとオブジェクトは、アクセスコントロール ポリシーを定義したACLを持っています。リクエストが発行された際に、IIJ GIOストレージ&アナリシスサービス ではリクエストを標準的な認証方法を用いて認証し、その後、送信者が バケットやオブジェクトにアクセスできる権限を持っているかACLをチェックします。 もし、送信者が承認されればリクエストは続行し、承認されなければエラーを返します。
ACLは認可(grant)のリストを含み、各grantは1つのgranteeと1つの権限を含みます ALCは認可する権限のみを含み、拒否する事はできません
利用を容易にするため、幾つかの一般的なACLは CannedAccessControlList
に予め定義されています。
注意: バケットとオブジェクトのACLは完全に独立しています。 オブジェクトはバケットのACLを引き継ぐことはありません。 たとえば、あなたがバケットをつくり他のユーザへ書き込み権限を与えたとしても、そのユーザが アクセス許可を与えない限りは、あなたはそのユーザのオブジェクトにアクセスすることは できません。これは匿名アクセスにおいても同様です。あなたが匿名ユーザへ書き込み 権限をバケットに与えたとしても、匿名ユーザのみがオブジェクトにアクセスすることが 出来、バケットのオーナーに明示的に権限を与えない限り、あなたはそのオブジェクトに アクセスすることは出来ません
重要: 匿名グループにバケットへの書き込み権限を与えないでください。
オブジェクトの書き込みに対するコントロールができず、課金対象となる使用容量の
コントロールもできなくなります。
詳細については、
Grantee
と Permission
を参照してください
CannedAccessControlList
,
Serialized FormConstructor and Description |
---|
AccessControlList() |
Modifier and Type | Method and Description |
---|---|
Set<Grant> |
getGrants()
このaccess control list (ACL)に含まれる
Grant オブジェクトの
セットを返します。 |
Owner |
getOwner()
リソース(バケットまたはオブジェクト)のオーナーを取得します。
|
void |
grantAllPermissions(Grant... grantsVarArg)
このaccess control list(ACL)に、
Grant オブジェクトで定義されている
権限とgranteeのペアを追加します。 |
void |
grantPermission(Grantee grantee,
Permission permission)
このaccess control list(ACL)に権限と共にgranteeを追加します。
もし、ACLが既にgranteeを含んでいた場合、そのgranteeへの権限は更新されます
|
void |
revokeAllPermissions(Grantee grantee)
このaccess control list(ACL)からgranteeを削除することで、
granteeの権限を無効にします。
|
void |
setOwner(Owner owner)
内部利用のみ
このaccess control list(ACL)のオーナーをセットします。このメソッドはライブラリ内部でのみ
使用されます。オブジェクトやバケットのオーナーは変更できません。
|
String |
toString() |
public Owner getOwner()
IIJ GIOストレージ&アナリシスサービスの全てのバケットとオブジェクトには、その バケットやオブジェクトを作成した"オーナー"が居ます。 バケットやオブジェクトのオーナーは変更する事はできません。 しかし、オブジェクトが他のユーザによって上書き(削除や再書き込み)された場合、 オブジェクトは新オーナーのものになります。
注意: オーナーもaccess control list(ACL)の対象となります。たとえば、オーナーがオブジェクトに対する
Permission.Read
アクセス権限を持っていなかった場合、オーナは
オブジェクトを読み取ることが出来ません。しかし、オブジェクトのオーナーは
常にACLへの書き込み権限(Permission.WriteAcp
)を持っており、
read出来るようにACLを変更することが出来ます。
AccessControlList
のオーナーpublic void setOwner(Owner owner)
owner
- この のオーナーpublic void grantPermission(Grantee grantee, Permission permission)
grantee
- 権限を適用するgranteepermission
- granteeへ適用する権限public void grantAllPermissions(Grant... grantsVarArg)
Grant
オブジェクトで定義されている
権限とgranteeのペアを追加します。grantsVarArg
- Grant
オブジェクトのコレクションpublic void revokeAllPermissions(Grantee grantee)
grantee
- ACLから削除するgranteepublic Set<Grant> getGrants()
Grant
オブジェクトの
セットを返します。Grant
オブジェクトの
セットCopyright © 2018. All rights reserved.