バケットポリシーを使用して、他のユーザーが自分の OSS リソースにアクセスすることを許可できます。
RAM ポリシーと比較すると、バケットポリシーは、グラフィカルなコンソール上にてアクセス許可を行うことができ、バケット所有者によってアクセス許可を直接設定することができます。 次の一般的なシナリオで、バケットポリシーを使用します。
- 他のアカウントの RAM ユーザーに、OSS リソースへのアクセスを許可します。
他のアカウントの RAM ユーザーに、OSS リソースへのアクセスを許可します。
- 指定の IP アドレスまたは IP 範囲を使用して、匿名ユーザーに対して OSS リソースへのアクセスを許可します。
場合により、匿名ユーザーに指定の IP アドレスまたは IP 範囲を使用して OSS リソースへのアクセスを許可しなければならないことがあります。 たとえば、企業の機密文書は、その企業内でのみアクセスでき、他の地域からはアクセスできません。 多数の内部ユーザーがいるため、すべてのユーザーに対して RAM ポリシーを設定するには多大な労力が必要です。 この場合、バケットポリシーに基づいて IP 制限を使用してアクセスポリシーを設定し、ユーザーを簡単かつ効率的に権限付与できます。
他のアカウントの RAM ユーザーに対する、OSS リソースへのアクセス許可
- OSS コンソール にログインします。
- 左側のバケットリストで、ユーザーにアクセスを許可するバケットの名前をクリックします。
- バケットの概要ページで、[ファイル] タブをクリックし、[権限付与] をクリックします。
- [権限付与] ページで、[許可]をクリックします。
- [権限付与] ページで、Applied To を設定します。
- バケット全体: 許可ポリシーはバケット全体に適用されます。
- 指定リソース: 許可ポリシーはバケット内の指定リソースにのみ適用されます。 このオプションを選択した場合は、abc/myphoto.png など、指定したリソースのパスを入力する必要があります。 ポリシーがディレクトリに適用される場合は、パスの末尾に "abc/*" のようにアスタリスク (*) を追加する必要があります。
- アカウントは、次のオプションから選択します。
- サブアカウント: 現在のアカウントの下にある RAM ユーザーをドロップダウンリストから選択して、バケットへのアクセス許可を付与します。 このオプションを選択するには、Alibaba Cloud アカウントにてログインするか、もしくはバケットに対する管理権限および RAM コンソールに対する ListUsers 権限を持つ RAM ユーザーとして、コンソールにログインする必要があります。
- 他のアカウント: 他のアカウントにバケットアクセス権限を付与する場合、または自分のアカウントにListUsers権限がない場合は、権限を付与するアカウントの UID を入力します。
- 匿名アカウント (*): すべてのユーザーに権限を付与したい場合は、匿名アカウント (*) を選択できます。
注 ListUsers権限を RAM ユーザー に付与するには、「RAM ユーザーの権限付与」をご参照ください。- 次のコードテンプレートは、ListUsers権限を RAM ユーザーに付与するためのものです。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "ram:ListUsers" ], "Resource": [ "*" ], "Condition": {} } ] }
- Authorized Operation の設定
- Read-Only: 認証されたユーザーはリソースを表示、一覧表示、およびダウンロードできます。
- Read/Write: 認証されたユーザーはリソースを読み書きできます。
- Any Operation:認証ユーザーは、リソースに対してどんな操作も実行できます。
- None (Deny): 認証されたユーザーはリソースに対していかなる操作も実行できません。
注 1 人のユーザーに対して複数のバケットポリシーが設定されている場合、ユーザーのアクセスはこれらのポリシーの組み合わせによって決まります。 ただし、いずれかのポリシーで None (Deny) に設定されている場合、ユーザーはいかなる操作も実行できません。 たとえば、ユーザーの認証されている操作が、バケットポリシーで Read Only、別のポリシーではRead/Write に設定されている場合、ユーザーはRead OnlyアクセスとRead/Writeアクセスの組み合わせの Read/Write アクセスがあります。 ユーザーの認証されている操作が、別のポリシーで None (Deny) に設定されている場合、そのユーザーは None (Deny) アクセス権しかありません。
- (オプション) 指定された IP アドレスのみを使用して、OSS リソースにアクセスすることをユーザに許可するように、Conditions を設定します。 OSS リソースへのアクセスに使用される IP アドレスまたは IP 範囲を、許可または禁止にするため、 IP is またはIP is not を選択できます。
- 10.10.10.10 のように、IP アドレスまたは複数の IP アドレスを条件として指定できます。 複数の IP アドレスはカンマ (,) で区切ります。
- 10.10.10.1/24 のように、IP 範囲を条件として指定することもできます。
- [OK]をクリックします。
指定の IP アドレスまたは IP 範囲を使用して、匿名ユーザーに OSS リソースへのアクセスを許可
- OSS コンソールにログインします。
- 左側のバケットリストで、ユーザーにアクセスを許可するバケットの名前をクリックします。
- バケットの概要ページで、[ファイル] タブをクリックし、[許可] をクリックします。
- [権限付与]ページで、[許可]をクリックします。
- [権限付与]ページで、Applied To を設定します。
- バケット全体: 許可ポリシーはバケット全体に適用されます。
- Specified Resource: 許可ポリシーはバケット内の指定リソースにのみ適用されます。 このオプションを選択した場合は、abc/myphoto.png など、指定したリソースのパスを入力する必要があります。 ポリシーがディレクトリに適用される場合は、パスの末尾に abc/*"のようにアスタリスク (*) を追加する必要があります。
- Accounts フィールドで、[匿名ユーザー (*)] をクリックします。
警告 匿名ユーザーに OSS リソースへのアクセスを許可する場合は、IP アドレス条件を設定することを強く推奨します。 IP アドレス条件を設定しないと、リソースはどのユーザからもアクセスできるようになります。
- Authorized Operation の設定
- Read-Only: 認証されたユーザーはリソースを表示、一覧表示、およびダウンロードできます。
- Read/Write: 認証されたユーザーはリソースを読み書きできます。
- Any Operation:認証ユーザーは、リソースに対してどんな操作も実行できます。
- None (Deny): 認証されたユーザーはリソースに対していかなる操作も実行できません。
注 複数のバケットポリシーが一部のユーザーに設定されている場合、ユーザーのアクセスはこれらのポリシーの組み合わせによって決まります。 ただし、いずれかのポリシーで None (Deny) に設定されている場合、ユーザーはいかなる操作も実行できません。 たとえば、一部のユーザーに対する認証されている操作が、バケットポリシーで Read Only、別のポリシーでは Read/Write に設定されている場合、ユーザーは Read/Write アクセスと Read Only アクセスの組み合わせの Read/Write アクセスがあります。 ユーザーの認証されている操作が、別のポリシーで None (Deny) に設定されている場合、そのユーザーは None (Deny) アクセス権しかありません。
- Conditions の設定 OSS リソースへのアクセスに使用される IP アドレスまたは IP 範囲を、許可または禁止にするため、 IP is またはIP is not を選択できます。
- 10.10.10.10 のように、IP アドレスまたは複数の IP アドレスを条件として指定できます。 複数の IP アドレスはカンマ (,) で区切ります。
- 10.10.10.1/24 のように、IP 範囲を条件として指定することもできます。
- [OK]をクリックします。