Slide 1

Slide 1 text

Do you use the IAM ? 如何にIAMを使いこなすか

Slide 2

Slide 2 text

お前だれよ? • @maroon1st • JAWS-UG 横浜支部コアメンバー • 某メーカー系SIer勤務 • アプリケーションエンジニア ↓ インフラエンジニア • 好きなAWSサービス:RDS、STS(Security Token Service) • 好きなCDP:Bootstrapパターン

Slide 3

Slide 3 text

みんな IAM使ってる?

Slide 4

Slide 4 text

通常操作で AWSアカウントを使っては

Slide 5

Slide 5 text

ダメ。ゼッタイ。

Slide 6

Slide 6 text

普通の操作を rootでしないのと 同じ!

Slide 7

Slide 7 text

IAMで 何ができる? 初級編

Slide 8

Slide 8 text

IAMで何ができる?初級編 •個人にIAMユーザを作成。 •アカウント共有はしない!

Slide 9

Slide 9 text

IAMで何ができる?初級編 権限は、IAM Groupで。 • Developer権限 • Operateor権限 • 経理/管理者権限 • etc.

Slide 10

Slide 10 text

IAMで何ができる?初級編 IAM Groupはユーザ毎に最大10個。 グループ権限に工夫が必要。 注意

Slide 11

Slide 11 text

IAMで何ができる?初級編 Policy Template とか Policy Generatorで楽をしよう! http://awspolicygen.s3.amazonaws.com/policygen.html

Slide 12

Slide 12 text

IAMで 何ができる? 上級編 その1

Slide 13

Slide 13 text

IAMで何ができる?上級編 その1 社外アクセスの 制限はできる?

Slide 14

Slide 14 text

IAMで何ができる?上級編 その1 できます! 接続元のIPアドレスで アクセス制御

Slide 15

Slide 15 text

IAMで何ができる?上級編 その1 ConditionのNotIpAddressで設定! { "Statement": [ { "Effect": "Deny" "Deny" "Deny" "Deny", "Action": "*", "Resource": "*", "Condition": { " " " "NotIpAddress NotIpAddress NotIpAddress NotIpAddress" " " ": {"aws:SourceIp":"192.0.2.1" } } } ] }

Slide 16

Slide 16 text

IAMで何ができる?上級編 その1 ConditionのNotIpAddressで設定! { "Statement": [ { "Effect": "Deny" "Deny" "Deny" "Deny", "Action": "*", "Resource": "*", "Condition": { " " " "NotIpAddress NotIpAddress NotIpAddress NotIpAddress" " " ": {"aws:SourceIp":"192.0.2.1" } } } ] } EffectはDeny Conditionは NotIpAddressで設定 Allowで設定した場合、 別の権限を追加すると アクセスできてしまう。 EffectはDeny Conditionは NotIpAddressで設定 http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/AccessPolicyLa nguage_ElementDescriptions.html#Conditions_IPAddress

Slide 17

Slide 17 text

でも、最近流行の 「社内LAN撲滅運動」 の前では無意味かな?

Slide 18

Slide 18 text

IAMで 何ができる? 上級編 その2

Slide 19

Slide 19 text

IAMで何ができる?上級編 その2 一時的に発行した IAMユーザを 消し忘れる。 何とかならない?

Slide 20

Slide 20 text

IAMで何ができる?上級編 その2 できます! 削除はしないけど 有効期限設定が可能

Slide 21

Slide 21 text

IAMで何ができる?上級編 その2 ConditionのCurrentTimeで設定! { "Statement": [ { "Effect": "Deny" "Deny" "Deny" "Deny", "Action": "*", "Resource": "*", "Condition": { " " " "DateGreaterThan DateGreaterThan DateGreaterThan DateGreaterThan" " " ": { " " " "aws:CurrentTime aws:CurrentTime aws:CurrentTime aws:CurrentTime" " " ": "2013-03-16T06:00:00Z" } } } ] }

Slide 22

Slide 22 text

IAMで何ができる?上級編 その2 ConditionのCurrentTimeで設定! { "Statement": [ { "Effect": "Deny" "Deny" "Deny" "Deny", "Action": "*", "Resource": "*", "Condition": { " " " "DateGreaterThan DateGreaterThan DateGreaterThan DateGreaterThan" " " ": { " " " "aws:CurrentTime aws:CurrentTime aws:CurrentTime aws:CurrentTime" " " ": "2013-03-16T06:00:00Z" } } } ] } EffectはDeny Conditionは DateGreaterThan で設定 EffectはDeny Conditionは DateGreaterThan で設定 基本は"aws:CurrentTime" “aws:EpochTime“でUNIX時間も可能 http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/AccessPolicyLa nguage_ElementDescriptions.html#Conditions_Date

Slide 23

Slide 23 text

IAMで何ができる?上級編 その2 “aws:CurrentTime”は JSTでも記述可能! ISO 8601形式で "2013-03-16T15:00:00+09:00" http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/SupportedTypes.html

Slide 24

Slide 24 text

IAMで 何ができる? 上級編 その3

Slide 25

Slide 25 text

IAMで何ができる?上級編 その3 日々の作業で AWSアカウントを 使用したくない!

Slide 26

Slide 26 text

IAMで何ができる?上級編 その3 できます! (多分) AWSサポートも IAMユーザで使用可能

Slide 27

Slide 27 text

IAMで何ができる?上級編 その3 Actionで"support:*"を設定! { "Statement": [ { "Effect": "Allow", "Action": " " " "sopport sopport sopport sopport:*" :*" :*" :*", "Resource": "*" } ] } http://aws.amazon.com/jp/premiumsupport/iam/

Slide 28

Slide 28 text

IAMで何ができる?上級編 その3 IAMでAWSサポート !!

Slide 29

Slide 29 text

IAMで何ができる?上級編 その3 AWSサポートのレベルは ビジネス以上が対応 開発者レベルは未対応! 注意

Slide 30

Slide 30 text

まとめ • AWSアカウントは出来る限り使わない • IAMユーザは1人1個で権限を分ける • IAMユーザもアクセス元制限可能 • IAMユーザも有効期限が設定可能 • IAMには色々な権限がある

Slide 31

Slide 31 text

IAMはEnterprise向けだけ とは限りません。 IAMを使いこなしましょう!