1. IAMユーザーの作成
$ aws iam create-user --user-name dev-user
2. IAMロールの作成
iam-role-trust-policy.json
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{AWSアカウントID}:user/dev-user" }, "Action": "sts:AssumeRole" } ] }
$ aws iam create-role --role-name dev-role --assume-role-policy-document file://iam-role-trust-policy.json
3. IAMユーザーの設定
IAMユーザーに設定するポリシーを作成します。
iam-user-policy.json
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::{AWSアカウントID}:role/dev-role" } ] }
$ aws iam create-policy --policy-name dev-user-policy --policy-document file://iam-user-policy.json
IAMユーザーに作成したポリシーの設定を行います。
$ aws iam attach-user-policy --user-name dev-user --policy-arn arn:aws:iam::{AWSアカウントID}:policy/dev-user-policy
4. IAMロールの設定
IAMロールに設定するポリシーを作成します。
※例:S3バケット内のオブジェクトの一覧を表示することができるポリシー。
iam-role-policy.json
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:::{バケット名}/*" } ] }
$ aws iam create-policy --policy-name dev-role-policy --policy-document file://iam-role-policy.json
IAMロールに作成したポリシーの設定を行います。
$ aws iam attach-role-policy --role-name dev-role --policy-arn arn:aws:iam::{AWSアカウントID}:policy/dev-role-policy
5. アクセスキーの作成
$ aws iam create-access-key --user-name dev-user
6. アクセスキーの設定
$ aws configure --profile dev-user AWS Access Key ID [None]: {作成したアクセスキーID} AWS Secret Access Key [None]: {作成したシークレットアクセスキー} Default region name [None]: None Default output format [None]: None
7. 認証情報の取得
$ aws sts assume-role --role-arn arn:aws:iam::{AWSアカウントID}:role/dev-role --role-session-name dev-session --duration-second 900 --profile dev-user