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 Slide

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

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

    View Slide

  3. みんな
    IAM使ってる?

    View Slide

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

    View Slide

  5. ダメ。ゼッタイ。

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View 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 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 Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View 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 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 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 Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide