Upgrade to Pro — share decks privately, control downloads, hide ads and more …

jaws-days 2013 yokohama IAM

jaws-days 2013 yokohama IAM

JAWS DAYS 2013の横浜支部枠でIAMについて発表した資料です。

maroon1st

March 29, 2013
Tweet

More Decks by maroon1st

Other Decks in Programming

Transcript

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

    View full-size slide

  2. お前だれよ?
    • @maroon1st
    • JAWS-UG 横浜支部コアメンバー
    • 某メーカー系SIer勤務
    • アプリケーションエンジニア

    インフラエンジニア
    • 好きなAWSサービス:RDS、STS(Security Token Service)
    • 好きなCDP:Bootstrapパターン

    View full-size slide

  3. みんな
    IAM使ってる?

    View full-size slide

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

    View full-size slide

  5. ダメ。ゼッタイ。

    View full-size slide

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

    View full-size slide

  7. IAMで
    何ができる?
    初級編

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  16. 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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  21. 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" }
    }
    }
    ]
    }

    View full-size slide

  22. 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

    View full-size slide

  23. 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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide