23. 一時的な認証情報を生成(1/3)
$ aws sts assume-role ¥
--role-arn arn:aws:iam::XXXXXXXXXXXX:role/<ROLE NAME> ¥
--role-session-name <SESSION NAME>
AssumeRole
IAM User IAM Role
23
24. 一時的な認証情報を生成(2/3)
Temporary Credential
IAM User IAM Role
{
"AssumedRoleUser": {
"AssumedRoleId": "AXXXXXXXXXXXXXXXXXXXX:<SESSION NAME>",
"Arn": "arn:aws:sts::XXXXXXXXXXXX:assumed-role/<ROLE NAME>/<SESSION NAME>"
},
"Credentials": {
"SecretAccessKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"SessionToken":
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"Expiration": "2018-10-04T02:48:54Z",
"AccessKeyId": "XXXXXXXXXXXXXXXXXXXX"
}
}
有効期限
24
50. 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
56. 【補足】スイッチロール
New – Cross-Account Access in the AWS Management Console
https://aws.amazon.com/jp/blogs/aws/new-cross-account-access-in-the-aws-management-console/
56
58. AFDSによる認証連携
AWS Federated Authentication with Active Directory Federation Services (AD FS)
https://aws.amazon.com/jp/blogs/security/aws-federated-authentication-with-active-directory-federation-services-ad-fs/
58
70. IAM ベストプラクティス(認可/権限管理)
1. IAM グループを使用する
2. AWS 定義のポリシーを使用して可能な限りアクセス権限を
割り当てる
3. 最小権限を付与する
4. アクセスレベルを使用して、IAM 権限を確認する
5. 追加セキュリティに対するポリシー条件を使用する
70
71. IAM ベストプラクティス(認可/権限管理)
1. IAM グループを使用する
2. AWS 定義のポリシーを使用して可能な限りアクセス権限を
割り当てる
3. 最小権限を付与する
4. アクセスレベルを使用して、IAM 権限を確認する
5. 追加セキュリティに対するポリシー条件を使用する
71
72. IAM グループを使用する
• IAM User を IAM Groupのメンバーにすることが可能
• IAM Group に権限を付与することで IAM User にまとめ
て権限を付与
• 権限の付与や剥奪が容易
ポリシーとグループ
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/introduction_access-management.html#intro-access-groups
72
73. IAM ベストプラクティス(認可/権限管理)
1. IAM グループを使用する
2. AWS 定義のポリシーを使用して可能な限りアクセス権限を
割り当てる
3. 最小権限を付与する
4. アクセスレベルを使用して、IAM 権限を確認する
5. 追加セキュリティに対するポリシー条件を使用する
73