IAM User
⚫ AWSを操作するためのユーザー
⚫認証情報を設定
⚫ コンソールにアクセスするためのログインパスワード
⚫ プログラムからアクセスするためのアクセスキー
⚫ 2つまで設定可能
⚫ 認証要素として所有物認証を追加可能(多要素認証)
⚫ IAM Group のメンバーになることで権限を付与
⚫ ユーザーに対して直接権限を付与することも可能
11
12.
IAM Group
⚫ IAMUserをまとめる機能
⚫ IAM Groupに対して権限を付与可能
⚫ IAM Userをメンバーにすることでまとめて権限を付与
12
一時的な認証情報を生成(1/3)
$ aws stsassume-role ¥
--role-arn arn:aws:iam::XXXXXXXXXXXX:role/<ROLE NAME> ¥
--role-session-name <SESSION NAME>
AssumeRole
IAM User IAM Role
23
Amazon EC2 インスタンスでロールを使用する
•IAM RoleをEC2インスタンスに割り当てた場合、
インスタンスメタデータから一時認証情報を取得可能
• AWS CLIやAWS SDKを利用したアプリケーションでは
動的に認証情報を取得可能
50
import boto3
ec2 = boto3.client('ec2')
# Retrieves all regions/endpoints that work with EC2
response = ec2.describe_regions()
print('Regions:', response['Regions'])
# Retrieves availability zones only for region of the ec2 object
response = ec2.describe_availability_zones()
print('Availability Zones:', response['AvailabilityZones'])
https://boto3.amazonaws.com/v1/documentation/api/latest/guide/ec2-example-regions-avail-zones.html
【補足】スイッチロール
New – Cross-AccountAccess in the AWS Management Console
https://aws.amazon.com/jp/blogs/aws/new-cross-account-access-in-the-aws-management-console/
56
IAM グループを使用する
• IAMUser を IAM Groupのメンバーにすることが可能
• IAM Group に権限を付与することで IAM User にまとめ
て権限を付与
• 権限の付与や剥奪が容易
ポリシーとグループ
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/introduction_access-management.html#intro-access-groups
72