AWS IAM入門
-
Upload
tomonori-takada -
Category
Engineering
-
view
333 -
download
2
Transcript of AWS IAM入門
クラウドで、世界を、もっと、はたらきやすく Copyright©Serverworks Co.,Ltd.AllRightsReserved. http://www.serverworks.co.jp
AWS IAM⼊⾨いまさらですが
株式会社サーバーワークス髙⽥ 知典
Page:2Copyright©Serverworks Co.,Ltd.AllRightsReserved.
「 AWSにおけるセキュリティとコンプライアンス」P11よりhttps://d0.awsstatic.com/webinars/jp/pdf/services/20160315_securitycompliance-160322014616.pdf
Page:3Copyright©Serverworks Co.,Ltd.AllRightsReserved.
IAMとは
AWS Identity and Access Management (IAM) は、ユーザーに対して AWS へのアクセスを安全に制御するための仕組み(略)。IAM により、どのユーザーがお客様の AWS リソースを使⽤できるか(認証)、それらのユーザーがどのリソースをどのような⽅法で使⽤できるか(承認)を制御できます。
http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/introduction.html より
Page:5Copyright©Serverworks Co.,Ltd.AllRightsReserved.
想像図
ManagementConsole
API
各種リソース(EC2/S3/etc)
IAMユーザ名/パスワード
認証と認可
AWS
アクセスキー/シークレットアクセスキー
AWS IAM
操作
ヒト
プログラム/AWS CLI
だれがなにをできるか
IAMユーザ
Page:6Copyright©Serverworks Co.,Ltd.AllRightsReserved.
認証
AWSアカウント(root)ユーザ
• AWSアカウント(root)ユーザ• AWSアカウント作成時のユーザ
• メールアドレス• 超強⼒な権限=>なんでもできる• 通常しないようにする
• 後述するIAMポリシーによる認可制御ができない• アクセスキーID/シークレットアクセスキーも削除しておく
• できればMFA(多要素認証)で保護
Page:7Copyright©Serverworks Co.,Ltd.AllRightsReserved.
認証
IAMユーザとIAMグループ
• IAMユーザ• ユーザ名• 認可情報(IAMポリシー)を付与することが可能• IAMグループに所属させることが可能
• IAMグループ• グループ名• 認可情報(IAMポリシー)を付与することが可能
• グループに付与した認可情報は、IAMユーザへ付与したものと同時に評価される
Page:8Copyright©Serverworks Co.,Ltd.AllRightsReserved.
認証
IAMユーザの認証情報
• パスワード• ユーザ名と組み合わせManagement Consoleへロ
グイン• アクセスキーID/シークレットアクセスキー
• APIを使⽤するときのクレデンシャル情報• 1つのIAMユーザに対して2つまで設定可能
• ローテーションすることが可能• 漏洩しないように注意が必要
• AMIの共有、コード埋め込み(GitHub)
• X.509証明書• SOAP API認証⽤
Page:9Copyright©Serverworks Co.,Ltd.AllRightsReserved.
認証
IAMユーザの認証情報
• MFA• パスワード、アクセスキーID/シークレットアクセ
スキーと組み合わせて使⽤する• ハードウェアMFA• 仮想MFA
• Google Authenticator• Authy
Page:10Copyright©Serverworks Co.,Ltd.AllRightsReserved.
認可
IAMポリシー
• AWSのリソースに対する権限設定を⾏う
• JSONで記載する
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/iam-policies-ec2-console.html
全てのリソースに対して
許可する
EC2の情報を閲覧することを
Page:11Copyright©Serverworks Co.,Ltd.AllRightsReserved.
認可
IAMポリシーの付け⽅(インラインポリシー)
IAMユーザたかだ
IAMグループKixs
IAMポリシーEC2読み取り専⽤
IAMユーザにしだ
IAMポリシーEC2読み取り専⽤
IAMポリシーS3アップロード
Page:12Copyright©Serverworks Co.,Ltd.AllRightsReserved.
認可
IAMポリシーの付け⽅(カスタマー管理ポリシー)
IAMユーザたかだ
IAMグループKixs
IAMユーザにしだ
IAMポリシーEC2読み取り専⽤
ec2_readonly
IAMポリシーS3アップロード
s3_upload
IAMグループUWFVer.1 Ver.5
…
Ver.1 Ver.5
…
Page:13Copyright©Serverworks Co.,Ltd.AllRightsReserved.
認可
IAMポリシーの付け⽅(AWS管理ポリシー)
IAMユーザたかだ
IAMグループKixs
IAMユーザにしだ
IAMポリシーAdministratorAccess
IAMポリシーPowerUserAccess
IAMグループUWF
Page:14Copyright©Serverworks Co.,Ltd.AllRightsReserved.
認可
IAMポリシーの作成ツールなど
• AWS Policy Generator • https://awspolicygen.s3.amazonaws.com/policygen.html• 必要なパラメータを入れることでJSONを自動生成
• IAM Policy Simulator• https://policysim.aws.amazon.com/home/index.jsp• 適応前にテストを行うことが可能
Page:15Copyright©Serverworks Co.,Ltd.AllRightsReserved.
IAMロール
IAMロール
• AWSサービス⾃体や、個別のアプリケーションなどに対して、AWSリソースへの操作権限を付与する仕組み
• IAMユーザやグループには付与されない
• IAMロールにIAMポリシーを紐付ける
• EC2で利⽤されることが多い
IAMロールWebサーバ IAMポリシー
S3アップロード
Page:16Copyright©Serverworks Co.,Ltd.AllRightsReserved.
IAMロール
EC2からS3へのアクセス(IAMユーザを使う場合)
EC2instance
Amazon S3 bucket
AWS CLI
認証と認可
AWS IAM
アクセスキーシークレットアクセスキー
S3へのファイルアップロード
認証情報をOS内に持つ必要がある=漏洩リスク
Page:17Copyright©Serverworks Co.,Ltd.AllRightsReserved.
IAMロール
EC2からS3へのアクセス(IAMロールを使う場合)
EC2instance
Amazon S3 bucket
AWS CLI
認証と認可
AWS IAM
S3へのファイルアップロード
認証情報を
OS内に埋め込む必要がない
Page:18Copyright©Serverworks Co.,Ltd.AllRightsReserved.
IAMロール
EC2からS3へのアクセスの詳細(IAMロールを使う場合)
EC2instance
Amazon S3 bucket
AWS CLI
S3へのファイルアップロード
AWSSTS
temporarysecuritycredential
temporarysecuritycredential
アクセスキーIDシークレットアクセスキーセッショントークン
有効期限
認証と認可
AWS IAM
Page:19Copyright©Serverworks Co.,Ltd.AllRightsReserved.
IAMロール
EC2ではIAMロールを使ったほうがよい
• IAMロールに対応したアプリケーションが必要• AWS CLIは対応• AWS SDKも対応しているが、実装するアプリケーション側で
IAMロールを使⽤するような記述を⾏う必要がある。
• EC2はローンチ(⽣成)時にしか、IAMロールを付与できない
• 当初、利⽤する予定がなくても、IAMポリシーを付与していない空のIAMロールを付けておいたほうがよい
Page:20Copyright©Serverworks Co.,Ltd.AllRightsReserved.
その他にも
• IAMロールとSTS• クロスアカウントアクセス/Switch Role
• IAMによるFederation
Page:21Copyright©Serverworks Co.,Ltd.AllRightsReserved.
まとめ
• AWSを利⽤する際、各種リソースへのアクセスコントロールには、IAMを利⽤します
• AWSを学ぶ上で、特徴的な仕組みであるが故に、(私は)理解しにくい部分と思いましたが、⼀度理解ができると、活⽤範囲が広いです
• IAMの利⽤料は無料です
Page:22Copyright©Serverworks Co.,Ltd.AllRightsReserved.
参考資料
• AWS Identity and Access Management ドキュメントhttps://aws.amazon.com/jp/documentation/iam/
AWS クラウドサービス活⽤資料集• [Identity and Access Management (IAM)]https://d0.awsstatic.com/webinars/jp/pdf/services/20160921_AWS-BlackBelt-IAM.pdf
• AWSにおけるセキュリティとコンプライアンスhttps://d0.awsstatic.com/webinars/jp/pdf/services/20160315_securitycompliance-160322014616.pdf