OSSのアクセス制御について
こんにちは。
前回Object Storage Service(以下OSS)の概要について書きましたが、今回はOSSのアクセス制御について書きたいと思います。
OSSのアクセス制御について
OSSのアクセス制御は、以下3つのレベルで管理できます。
- バケットレベル
入れ物に対する権限制御 - オブジェクトレベル
中身に対する権限制御 - アカウントレベル
アクセスする人に対する権限制御
バケットレベルの権限について
バケットの権限は3種類提供されています。
- 公開読み書き
すべてのユーザーがバケット内のオブジェクトに対して、読み取り、書き込み、削除ができます。
※このような操作によって発生する費用はバケットの作成者の負担になるので、この権限を使用する際には注意してくださいと公式ドキュメントに書いてあります。 - 公開読み取り
バケットの作成者だけがバケット内のオブジェクトの書き込み、削除を実行可能。
すべてのユーザーは読み取り可能。 - 非公開
バケットの作成者だけがバケット内のオブジェクトの読み取り、書き込み、削除を実行可能。
その他のユーザーは権限付与されていない限り、バケット内のオブジェクトにアクセス不可。
公開Webサーバー等は「公開読み取り」で、それ以外は「非公開」とするのが良さそうです。
オブジェクトレベルの権限について
オブジェクトの権限はバケットと同じく「公開読み書き」「公開読み取り」「非公開」の3つと、バケットから権限を継承する「デフォルト」があります。
オブジェクトに権限を明示的に設定しなかった場合は、デフォルトが適用され、バケットの権限が継承されます。
オブジェクトの権限はバケットよりも優先されます。バケットで非公開にしていて、オブジェクトに公開読み取りを設定した場合、該当のオブジェクトは公開読み取りとなります。
アカウントレベルの権限について
アカウントは3種類あります。
- Alibaba Cloud アカウント(プライマリアカウント)
リソースに対する完全な権限が与えられているアカウント。
UNIXで言う所のrootユーザー。 - RAM(Resource Access Management)アカウント
Alibaba Cloud アカウントで作成できるユーザー。
あらかじめ決められた権限セットのシステムポリシーと、自由に権限を設定できるカスタマイズアクセスポリシーがある。 - STS(Security Token Service)アカウント
Alibaba Cloud アカウント(またはRAMユーザー)用の有効期限とアクセス権限をカスタマイズしたアクセス資格情報を持ったユーザー。
実践編
読み取り専用のRAMアカウントを作成し、管理コンソールからアクセスしてみたいと思います。以下の手順を実施します。
- RAMの有効化
- グループ作成
- グループにポリシー割り当て
- ユーザー作成
- グループにユーザー割り当て
- コンソールへのログイン有効化
- RAMアカウントでログイン
- OSS確認
1.RAMの有効化
RAMを初めて使う場合、サービスを有効化する必要があります。
1-1.今すぐ有効化をクリックします。
1-2.利用規約を確認し、問題なければ同意にチェックして、今すぐ有効化をクリックします。
1-3.コンソールに移動するをクリックするか、しばらく待ちます。
2.グループ作成
今回はシステムで用意された権限を利用するため、権限付与ポリシーの作成は省略します。
2-1.グループ管理をクリックします。
2-2.新規グループをクリックします。
2-3.グループ名を設定しOKをクリックします。
3.グループにポリシー割り当て
3-1.作成したグループ名をクリックします。
3-2.権限付与ポリシーをクリックします。
3-3.権限付与ポリシーの編集をクリックします。
3-4.AliyunOSSReadOnlyAccessを選択し、>をクリックします。
3-5.OKをクリックします。
3-6.<をクリックして前の画面に戻ります。
4.ユーザー作成
4-1.ユーザーをクリックします。
4-2.新規ユーザーをクリックします。
4-3.ログイン名を設定し、このユーザーの AccessKey を自動生成にチェックして、OKをクリックします。
4-4.AK情報を保存をクリックし、AccessKeyを保存します。
5.グループにユーザー割り当て
5-1.グループに追加をクリックします。
5-2.先ほど作成したグループ名を選択し、>をクリックします。
5-3.OKをクリックします。
6.コンソールへのログイン有効化
6-1.ユーザー名をクリックします。
6-2.コンソールへのログイン有効化をクリックします。
6-3.パスワードを設定してOKをクリックします。
7.RAMアカウントでログイン
7-1.RAMの概要画面を表示し、RAM ユーザーログインと書いてあるURLをクリックします。
7-2.@の前に先ほど作成したユーザー名を入力して次へをクリックします。
7-3.パスワードを入力してログインをクリックします。
8.OSS確認
8-1.OSSをクリックします。
8-2.バケット名をクリックします。
8-3.ファイルをクリックします。
8-4.ファイル名をクリックします。
8-5.ファイルの URL を開くをクリックします。
8-6.ファイルの内容が見れることを確認します。
8-7.参考までに、権限が無いユーザーでアクセスすると、バケット名が表示されないため、バケットにアクセスすることは出来ません。
まとめ
以上、OSSのアクセス制限についてお伝えしました。
今回はRAMアカウントでのアクセスを試しましたが、他にもアクセスできる方法があるのでお試しいただければ幸いです。