1
0

More than 1 year has passed since last update.

AWS IAM実験記。aws-cloud-tech課題

Posted at

私はIAMがわかっていない。
I am not friendly with IAM.
ということで実験しよう。

くろかわさんのIAM講座でなんとなくイメージはできてるぞよ。

1. IAMユーザの巻

  • 1.1 ユーザAを作成し、S3のAll権限付与
  • 1.2 ユーザBを作成し、S3の読み込み権限付与
  • 1.3 ユーザAでログインしてS3バケット作成&アップロード
  • 1.4 ユーザBでログインしてS3バケット作成できないこと&アップロードできないことを確認

1.1 ユーザAを作成し、S3のAll権限付与

まずはとりあえず ユーザAを作成してみよう。
tech-testA で作成。
スクリーンショット 2021-11-17 12.55.30.png

次、付与する権限はAmazonS3FullAccessでGOGO
スクリーンショット 2021-11-17 12.56.01.png

タグは とりあえずユーザ名と同じのにを設定。
スクリーンショット 2021-11-17 12.56.19.png

確認画面

スクリーンショット 2021-11-17 12.58.57.png

できあがり

スクリーンショット 2021-11-17 12.59.08.png

1.2 ユーザBを作成し、S3の読み込み権限付与

作り方はAと同じなので、記載は省略。

でけた結果。 AmazonS3ReadOnlyAccessのポリシーをアタッチ。
スクリーンショット 2021-11-17 17.09.46.png

1.3 ユーザAでログインしてS3バケット作成&アップロード

ではーー、ユーザAでログインしてみるっす。AはS3のフルアクセス。
スクリーンショット 2021-11-17 17.19.47.png

ちなみに、VPCを覗いてみると
スクリーンショット 2021-11-17 17.20.29.png

再試行しますか?とでて、S3の権限しか与えてないからだね。それにしても、なんかメッセージ荒いなw

では、次S3バケット作成
スクリーンショット 2021-11-17 17.21.42.png

無事に作れましたOKOK
スクリーンショット 2021-11-17 17.22.05.png

ファイルアップロードするべ。昨日の晩飯。もっかいたべたい。
IMG_20211116_194715.jpg

アップロード成功。いいねいいね
スクリーンショット 2021-11-17 17.22.58.png

1-4. ユーザBでログインしてS3バケット作成できないこと&アップロードできないことを確認

ユーザB(S3のreadonly権限のみ付与)でログインして、S3バケット作成じゃ。
スクリーンショット 2021-11-17 17.41.46.png

作成ボタンを押すと、、Access Denied !で失敗! いい感じ!
スクリーンショット 2021-11-17 17.42.03.png

先ほどユーザAで作ったS3バケットとアップロードしたファイルにアクセスはできる
スクリーンショット 2021-11-17 17.44.54.png

じゃこのバケットに、ユーザBでアップロードしてみよう。
スクリーンショット 2021-11-17 17.46.17.png

アップロードボタンを押すと、、、、
ド派手にエラー!いい感じ!
スクリーンショット 2021-11-17 17.46.25.png


2. IAMグループの巻

2-1.グループ1を作成し、S3のAll権限を付与
2-2.グループ2を作成し、S3の読み込み権限を付与
2-3.ユーザC,ユーザDを作成し、グループ1に配属
2-4.ユーザE,ユーザFを作成し、グループ2に配属
2-5. ユーザC,ユーザDがS3に書き込めることを確認
2-6. ユーザE、ユーザFがS3に書き込めないことを確認する。

2-1. グループ1を作成し、S3のAll権限を付与

ユーザグループのメニューを開いて、グループ1をつくる。
「個のユーザグループ」? どういう訳や。
スクリーンショット 2021-11-17 18.01.14.png

スクリーンショット 2021-11-17 18.01.35.png

ポリシーはS3フルアクセス
スクリーンショット 2021-11-17 18.01.53.png

作成完了。
スクリーンショット 2021-11-17 18.02.04.png

2-2.グループ2を作成し、S3の読み込み権限を付与

お次は同様にグループ2を作成。S3の読み込み権限飲み付与。
スクリーンショット 2021-11-17 18.03.41.png

2-3.ユーザC,ユーザDを作成し、グループ1に配属させる

ではーユーザCを作成じゃ。
スクリーンショット 2021-11-17 18.11.57.png

ここで、アクセス許可の設定でさっき作った、グループ1に追加!
スクリーンショット 2021-11-17 18.12.12.png

ユーザDも同様にして、完了後。こんな感じ。
スクリーンショット 2021-11-17 18.18.24.png

2-4.ユーザE,ユーザFを作成し、グループ2に配属

2-3と同じななので詳細は省略。
結果こんな感じ。
スクリーンショット 2021-11-17 18.22.54.png

2-5. ユーザC,ユーザDがS3に書き込めることを確認

まずはユーザCでS3バケット作成
スクリーンショット 2021-11-17 18.29.36.png

スクリーンショット 2021-11-17 18.29.55.png
いい感じ。

次はユーザDでS3バケット作成

スクリーンショット 2021-11-17 18.33.09.png
OKOK。ちょっと飽きてきた。

2-6. ユーザE、ユーザFがS3に書き込めないことを確認する。

ではーユーザE,ユーザFやってみます。
E作成失敗。OKOK
スクリーンショット 2021-11-17 18.36.28.png

Fも作成失敗。OKOK
スクリーンショット 2021-11-17 18.39.51.png

ということで、IAMグループの検証終了。


3. EC2にロールをアタッチ

  • 3-1 S3Full権限のロールを作成
  • 3-2. EC2Aを作成し、3-1.で作成したロールをアタッチ
  • 3-3. EC2AからS3バケットに書き込みできることを確認

3-1 S3Full権限のロールを作成

スクリーンショット 2021-11-17 23.06.05.png

スクリーンショット 2021-11-17 23.06.50.png

スクリーンショット 2021-11-17 23.07.17.png

完成
スクリーンショット 2021-11-17 23.07.36.png

3-2. EC2Aを作成し、3-1.で作成したロールをアタッチ

EC2作成。インスタンスの詳細設定画面でIAMロールを3-1で作ったS3Full権限のロールをアタッチ。
スクリーンショット 2021-11-17 23.17.34.png

一応タグで名前、 tech-test-ec2-1と命名。
スクリーンショット 2021-11-17 23.18.07.png

3-3. EC2AからS3バケットに書き込みできることを確認

インスタンスに接続する。
スクリーンショット 2021-11-17 23.21.59.png

スクリーンショット 2021-11-17 23.22.57.png

terminalこれでいけるのか?  いってみよー
スクリーンショット 2021-11-17 23.23.22.png
いけた。すげーaws。
とりあえず aws s3 ls
スクリーンショット 2021-11-17 23.24.57.png
おおーーみれてる!!

適当なファイルを作成して、tech-test-a-bucketにアップロードしみてる。
スクリーンショット 2021-11-17 23.26.29.png

スクリーンショット 2021-11-17 23.29.05.png

いけったっぽい。ほんまか?
スクリーンショット 2021-11-17 23.30.09.png
いけてるー!!

削除してみよ。
スクリーンショット 2021-11-17 23.32.05.png

スクリーンショット 2021-11-17 23.32.45.png

おおおお!!!

S3のバケットポリシー (リソースベースポリシーの一種。たぶん)の巻

- 1.1 ユーザAで作成したバケットに、ユーザC(S3のFull権限を持っている)の全ての操作をDenyするバケットポリシーを作成
- 1.2 ユーザCで1.1で作成したバケットにアクセスする。

1.1 ユーザAで新規バケットを作成し、ユーザC(S3のFull権限を持っている)の全ての操作をDenyするバケットポリシーを作成

ユーザAでログインして、test-tech-a-backetを確認。
スクリーンショット 2021-11-18 21.16.03.png

ここに、バケットポリシーを適用する(ポリシージェネレータで作った結果をはってます)

test-tech-a-backetに対し、tech-testCの全てのs3操作権限を剥奪する。
スクリーンショット 2021-11-18 21.15.44.png

- 1.2 ユーザCで1.1で作成したバケットにアクセスする。

アクセスがエラーになっている。
スクリーンショット 2021-11-18 21.12.48.png

さらにバケットにはいってみると、無事、エラーでおこられてます。。
スクリーンショット 2021-11-18 21.13.05.png

他のタブでも ちゃんと怒れてるぅぅ!
スクリーンショット 2021-11-18 21.13.50.png
スクリーンショット 2021-11-18 21.13.56.png

ということで、ざっと簡単なIAMの実験記録でした。
楽しくなってきたAWS!


この記事はAWS初学者を導く体系的な動画学習サービス
「AWS CloudTech」の課題カリキュラムで作成しました。
https://aws-cloud-tech.com

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0