業務の中で使用しているけど、なんだか細かい部分すっ飛ばしててわからんくなってきたなー。。と、ふと思ったため学びなおしてみました。
IAMは基本無料だったと思うのでガシガシ使っていきます。
参考
IAM とは
AWS のサービスのアクション、リソース、および条件キー
IAM JSON ポリシーリファレンス
事前準備
- ポリシーをなにもアタッチしていない検証用IAM①ユーザ、検証用IAM②ユーザを作っておく
- 管理権限を持つ作業用IAMユーザを作っておく
- 検証用S3バケットを作って、なにか1つ検証用オブジェクトをアップロードしとく
(テキトーなテキストファイルとか)
簡単な基本情報
ちょこっとだけおさらい
IAMとは
- AWSへのアクセスを安全に提供する。
- 誰を認証し、誰にどのようなアクセス許可を持たせるか制御する。
基本機能
- AWSアカウントへのアクセス機能を提供(IAMユーザやIAMロールによるSAML認証ログインとかとか)
- 各種AWSリソースへのアクセス権限制御
- 各種AWSリソースからAWSリソースへのアクセス権限制御 とかとか
その他もろもろ、いっぱいあるけど一番使うのは権限の制御かなーと思う。
ポリシー作ってみる(Json)
今回はS3のリストのみ実行できる権限を有したポリシーを作成する。
ポリシー作成
- AWSアカウントに作業用ユーザでログインする。
- 左上の検索ウィンドウでIAMを検索して表示する。
- 左のリストからポリシーを選択する。
- 右側にあるポリシーの作成ボタンをクリックする。
- Jsonタブを選択する。
- 以下の内容を記載する。
s3-listonly.json
{
"Version": "2012-10-17",
"Statement": [ {
"Effect": "Allow",
"Action": [
"s3:List*"
],
"Resource": "*"
} ]
}
- 次のステップ: タグをクリック
- 次のステップ: 確認をクリック
- 名前 *に任意の値を入力
- ポリシーの作成をクリック
- 作成されたポリシーにアクセスする。
- アクセス権限タブで、権限が想定通り設定されていることを確認
IAMユーザへのアタッチ
- ポリシーの使用状況タブをクリック
- アクセス権限のアタッチをクリックする
- 事前に準備した検証用IMAユーザ①にチェックを入れポリシーのアタッチをクリックする。
動作確認
- 左上の検索ウィンドウでS3を検索して表示する。
- 左のリストからバケットを選択する。
- バケットに検証用バケットが表示されていることを確認する。
- 検証用バケットをクリックする。
- 検証用オブジェクトにチェックを入れ、ダウンロードをクリックする。
- AccessDeniedが表示されることを確認する。
結果
上記の結果からListは許可されているものの、ダウンロードする権限がないためエラーが発生していることが確認できました。
ちゃんと想定通りListのみ許可されていますね。よしよし。
次回はJsonの記載方法によるリソース毎のアクセス制御とか、細かい文法だとかチェックしてみようかな。