29
IAMのはじめかた 第5回 AWS User Group-Japan勉強会 2010年10月28日 小倉純也 (@junya) http://cloudworks.jp / 株式会社サーバーワークス Thursday, October 28, 2010

IAMのはじめかた

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: IAMのはじめかた

IAMのはじめかた

第5回 AWS User Group-Japan勉強会2010年10月28日

小倉純也 (@junya)http://cloudworks.jp/

株式会社サーバーワークス

Thursday, October 28, 2010

Page 2: IAMのはじめかた

読み方

http://twitter.com/#!/KenTamagawa/status/25887602080

Thursday, October 28, 2010

Page 3: IAMのはじめかた

• 現在、Preview Beta中

• グループ、ユーザーに対するポリシーベースの権限管理

• API、リソース、各種条件でのアクセス制御

• ユーザー毎のアクセスキー、証明書管理

• ELB用のサーバー証明書管理

AWS IAMhttp://aws.amazon.com/iam/

Thursday, October 28, 2010

Page 4: IAMのはじめかた

構造

グループユーザー

AWSアカウント

•アクセスキー•証明書

Thursday, October 28, 2010

Page 5: IAMのはじめかた

上限AWSアカウント毎のグループ 100グループ

AWSアカウント毎のユーザー 5,000ユーザー

AWSアカウント毎のサーバー証明書 10個

ユーザーが属するグループ 10グループ

ユーザー毎のアクセスキー 2個

ユーザー毎の証明書 2個

Thursday, October 28, 2010

Page 6: IAMのはじめかた

• CLI• IAM Command Line Toolkit

• GUI• CloudBerry S3 Explorer 2.4 PRO ($39.99)

• Web• Cloudworks (Free)• Ylastic ($25/mo)

IAM APIが操作できるツール

Thursday, October 28, 2010

Page 7: IAMのはじめかた

•AWS Management Console• IAM APIの操作•IAMユーザーのログイン

ベータ終了後にサポート予定

Thursday, October 28, 2010

Page 8: IAMのはじめかた

IAM Command Line Toolkitのセットアップ

Thursday, October 28, 2010

Page 9: IAMのはじめかた

Developer Toolsからダウンロードして展開

$ unzip IAMCli.zip

$ export JAVA_HOME=/path/to/java_home$ export AWS_IAM_HOME=/path/to/IAMCli-1.1.0$ export PATH=$AWS_IAM_HOME/bin:$PATH

$ echo 'AWSAccessKeyId=***' > account-key$ echo 'AWSSecretKey=***' >> account-key$ chmod 600 account-key$ export AWS_CREDENTIAL_FILE=account-key

Thursday, October 28, 2010

Page 10: IAMのはじめかた

ユーザーの作成

Thursday, October 28, 2010

Page 11: IAMのはじめかた

iam-usercreate$ iam-usercreate -u bob -kAKIAEEX5JT45QCZA7MSOJp7hKRgZ+GPEoVRrdvuufYh4D23GnQLTPvthvHbN

$ iam-userlistbypatharn:aws:iam::111122223333:user/bob

Thursday, October 28, 2010

Page 12: IAMのはじめかた

証明書(Signing Certificate)のアップロード

$ openssl genrsa -out bob.pk.pem 1024$ openssl req -new -x509 \ -out bob.cert.pem \ -key bob.pk.pem \ -days 365

$ iam-useraddcert -f bob.cert.pem -u bob

$ iam-userlistcerts -u bobNDUQVOYX6OVFIXGS2VERXMGNRDWE6PU4Active

Thursday, October 28, 2010

Page 13: IAMのはじめかた

デフォルトではすべての操作が禁止

bob@ $ ec2-describe-instancesClient.UnauthorizedOperation: You are not authorized to perform this operation.

Thursday, October 28, 2010

Page 14: IAMのはじめかた

使用例

Thursday, October 28, 2010

Page 15: IAMのはじめかた

操作ミスによる被害を防止開発者が誤ってサーバーインスタンスを削除…。

Thursday, October 28, 2010

Page 16: IAMのはじめかた

ユーザーポリシーの追加$ iam-useraddpolicy -u bob \ -p Bob_Instance_Policy \ -e Allow \ -a ec2:DescribeInstances \ -a ec2:StartInstances \ -a ec2:StopInstances \ -r '*'

ユーザーbobに対して、全リソースに対する3つのEC2 API呼び出しを許可。

Thursday, October 28, 2010

Page 17: IAMのはじめかた

ユーザーポリシーの確認$ iam-userlistpolicies -u bob \ -p Bob_Instance_Policy

{"Version":"2008-10-17","Statement":[{"Effect":"Allow","Action":["ec2:DescribeInstances","ec2:StartInstances","ec2:StopInstances"],"Resource":["*"]}]}

Thursday, October 28, 2010

Page 18: IAMのはじめかた

Bobの操作

bob@ $ ec2-describe-instances(インスタンス情報が表示される)

bob@ $ ec2-terminate-instances i-00000001Client.UnauthorizedOperation: You are not authorized to perform this operation.

Thursday, October 28, 2010

Page 19: IAMのはじめかた

社外からの操作を禁止

Thursday, October 28, 2010

Page 20: IAMのはじめかた

$ vi policy.json{ "Statement": [ { "Effect": "Allow", "Action": "ec2:*", "Resource": "*", "Condition": { "IpAddress": { "aws:SourceIp": [ "10.1.2.0/24", "10.1.3.0/24" ] } } } ]}

Thursday, October 28, 2010

Page 21: IAMのはじめかた

$ iam-useruploadpolicy -u bob \ -p Bob_Instance_Policy \ -f policy.json

エラーが発生した場合はJSONLintなどで書式をチェックしてみる。http://www.jsonlint.com/

Thursday, October 28, 2010

Page 22: IAMのはじめかた

社外にいるBob

bob@other $ ec2-describe-instancesClient.UnauthorizedOperation: You are not authorized to perform this operation.

Thursday, October 28, 2010

Page 23: IAMのはじめかた

特定リソースのみアクセスを許可バグやエラーによる被害拡大を防ぐ。

Thursday, October 28, 2010

Page 24: IAMのはじめかた

{ "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": ["arn:aws:s3:::GeneratedPDF"] } ]}

Thursday, October 28, 2010

Page 25: IAMのはじめかた

アクセスキーの無効化アクセスキー漏洩時の対策。

Thursday, October 28, 2010

Page 26: IAMのはじめかた

$ iam-userlistkeys -u bobAKIAEEX5JT45QCZA7MSOActive

$ iam-usermodkey -u bob \ -k AKIAEEX5JT45QCZA7MSO \ -s Inactive

$ iam-userlistkeys -u bob AKIAEEX5JT45QCZA7MSOInactive

Thursday, October 28, 2010

Page 27: IAMのはじめかた

各AWSプロダクトの対応プロダクト アクション リソース

IAM YES YESEC2 YESRDS YESS3 YES YES

SimpleDB YES YESSNS YES YESSQS YESVPC YES

Auto Scaling YESELB YES

Thursday, October 28, 2010

Page 28: IAMのはじめかた

参考CLIコマンドの説明 - AWS Identity and Access Managementhttp://docs.amazonwebservices.com/IAM/latest/CLIReference/Commands.html

チュートリアル - AWS IAM Getting Started Guidehttp://docs.amazonwebservices.com/IAM/latest/GettingStartedGuide/

ユーザーとグループについて - Working with Users and Groupshttp://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?Using_WorkingWithGroupsAndUsers.html

ポリシーのサンプル - Working with Users and Groupshttp://docs.amazonwebservices.com/IAM/latest/UserGuide/ExampleIAMPolicies.html

EC2との連携 - Working with Users and Groupshttp://docs.amazonwebservices.com/IAM/latest/UserGuide/UsingWithEC2.html

Thursday, October 28, 2010

Page 29: IAMのはじめかた

スライドhttp://slidesha.re/bxNw4E

ご清聴ありがとうございました

Cloudworkshttp://cloudworks.jp/

Thursday, October 28, 2010