IAMロール"OrganizationAccountAccessRole"を作成します。
手順に必要な設定値を変数に格納をします。
1. IAMロール名
IAMロール名を指定します。
変数の設定: IAM_ROLE_NAME='OrganizationAccountAccessRole'
変数の設定:
IAM_ROLE_NAME='OrganizationAccountAccessRole'
2. 信頼ポリシードキュメントファイル
信頼ポリシードキュメント用ディレクトリを指定します。
変数の設定: DIR_IAM_ROLE_DOC="${HOME}/conf-handson-cli-organizations"
DIR_IAM_ROLE_DOC="${HOME}/conf-handson-cli-organizations"
信頼ポリシードキュメント名を指定します。
変数の設定: IAM_ROLE_DOC_NAME='OrganizationAccountAccessRole'
IAM_ROLE_DOC_NAME='OrganizationAccountAccessRole'
信頼ポリシードキュメントのファイル名を指定します。
変数の設定: FILE_IAM_ROLE_DOC="${DIR_IAM_ROLE_DOC}/${IAM_ROLE_DOC_NAME}.json" \ && echo ${FILE_IAM_ROLE_DOC} 結果(例): ${HOME}/conf-handson-cli-organizations/OrganizationAccountAccessRole.json
FILE_IAM_ROLE_DOC="${DIR_IAM_ROLE_DOC}/${IAM_ROLE_DOC_NAME}.json" \ && echo ${FILE_IAM_ROLE_DOC}
結果(例):
${HOME}/conf-handson-cli-organizations/OrganizationAccountAccessRole.json
各変数に正しい設定値が格納されていることを確認します。
変数の確認: cat << END # 1. IAM_ROLE_NAME:"OrganizationAccountAccessRole" IAM_ROLE_NAME="${IAM_ROLE_NAME}" # 2. FILE_IAM_ROLE_DOC:"${HOME}/conf-handson-cli-organizations/OrganizationAccountAccessRole.json" FILE_IAM_ROLE_DOC="${FILE_IAM_ROLE_DOC}" END
変数の確認:
cat << END # 1. IAM_ROLE_NAME:"OrganizationAccountAccessRole" IAM_ROLE_NAME="${IAM_ROLE_NAME}" # 2. FILE_IAM_ROLE_DOC:"${HOME}/conf-handson-cli-organizations/OrganizationAccountAccessRole.json" FILE_IAM_ROLE_DOC="${FILE_IAM_ROLE_DOC}" END
各変数について、上の行と下の行の値の内容もしくは形式が同じであることを確認します。 もし異なる場合は、それぞれの手順番号に戻って変数の設定を行います。
IAMロールの作成
IAMロールを作成します。
変数の確認: cat << END # IAM_ROLE_NAME:"OrganizationAccountAccessRole" IAM_ROLE_NAME="${IAM_ROLE_NAME}" # FILE_IAM_ROLE_DOC:"${HOME}/conf-handson-cli-organizations/OrganizationAccountAccessRole.json" FILE_IAM_ROLE_DOC="${FILE_IAM_ROLE_DOC}" END コマンド: aws iam create-role \ --role-name ${IAM_ROLE_NAME} \ --assume-role-policy-document file://${FILE_IAM_ROLE_DOC} 結果(例): { "Role": { "Path": "/", "RoleName": "OrganizationAccountAccessRole", "RoleId": "AROAxxxxxxxxxxxxxxxxx", "Arn": "arn:aws:iam::XXXXXXXXXXXX:role/OrganizationAccountAccessRole" "CreateDate": "2023-11-30T01:23:45.678Z", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Principal": { "AWS": "arn:aws:iam::XXXXXXXXXXXX:root" }, "Effect": "Allow", "Action": "sts:AssumeRole" } ] } } }
cat << END # IAM_ROLE_NAME:"OrganizationAccountAccessRole" IAM_ROLE_NAME="${IAM_ROLE_NAME}" # FILE_IAM_ROLE_DOC:"${HOME}/conf-handson-cli-organizations/OrganizationAccountAccessRole.json" FILE_IAM_ROLE_DOC="${FILE_IAM_ROLE_DOC}" END
コマンド:
aws iam create-role \ --role-name ${IAM_ROLE_NAME} \ --assume-role-policy-document file://${FILE_IAM_ROLE_DOC}
{ "Role": { "Path": "/", "RoleName": "OrganizationAccountAccessRole", "RoleId": "AROAxxxxxxxxxxxxxxxxx", "Arn": "arn:aws:iam::XXXXXXXXXXXX:role/OrganizationAccountAccessRole" "CreateDate": "2023-11-30T01:23:45.678Z", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Principal": { "AWS": "arn:aws:iam::XXXXXXXXXXXX:root" }, "Effect": "Allow", "Action": "sts:AssumeRole" } ] } } }
「IAMロール"OrganizationAccountAccessRole"が存在する。」ことを確認します。
コマンド: aws iam list-roles \ --query "Roles[?RoleName == \`${IAM_ROLE_NAME}\`].RoleName" \ --output text 結果(例): OrganizationAccountAccessRole
aws iam list-roles \ --query "Roles[?RoleName == \`${IAM_ROLE_NAME}\`].RoleName" \ --output text
OrganizationAccountAccessRole
IAMダッシュボード( https://console.aws.amazon.com/iam/home )にアクセスします。
左ペインの"ロール"をクリックします。
ロール一覧(画面)
検索欄にロール名"OrganizationAccountAccessRole"を入力して、エンターキーを押します。
ロール名"OrganizationAccountAccessRole"が表示されていることを確認します。