処理の実行
ポリシードキュメントの生成
AWS Policy Generator ( https://awspolicygen.s3.amazonaws.com/policygen.html )にブラウザでアクセスします。
Step 1: Select Policy Type
Step 2: Add Statement(s)
ポリシーに必要な以下の指定をします。
'AWS Service'(プルダウン)から'AWS Security Token Service'を選択します。
 
'Actions'(プルダウン)から'AssumeRole'を選択します。
 
'Amazon Resource Name (ARN)'(テキストボックス)に'*'を入力します。
 
'Add Statement'(ボタン)をクリックします。
ポリシーに必要な以下の指定をします。
'AWS Service'(プルダウン)から'AWS Identity and Access Management (IAM)'を選択します。
 
'Actions'(プルダウン)から'GetRole'を選択します。
 
'Actions'(プルダウン)から'ListRoles'を選択します。
 
'Amazon Resource Name (ARN)'(テキストボックス)に'*'を入力します。
 
'Add Statement'(ボタン)をクリックします。
Step 3: Generate Policy
ポリシードキュメントファイルの作成
ターミナル上でポリシードキュメントファイル作成の準備をします。
コマンド:
cat << EOF > ${FILE_IAM_POLICY_DOC}
 
 
ポリシードキュメントの確認
ポリシードキュメントを確認します。
コマンド:
cat ${FILE_IAM_POLICY_DOC}
 
 
結果(例):
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1688639182004",
      "Action": [
        "sts:AssumeRole"
      ],
      "Effect": "Allow",
      "Resource": "*"
    },
    {
      "Sid": "Stmt1688639257273",
      "Action": [
        "iam:GetRole",
        "iam:ListRoles"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
 
 
完了確認
本手順の主処理は、以下の完了条件を満たしたときに成功したものとします。
完了条件1: ポリシードキュメント"${HOME}/environment/conf-handson-cli-sts-assume-role/STSAssumeRolePolicy.json"が存在する。
「ポリシードキュメント"${HOME}/environment/conf-handson-cli-sts-assume-role/STSAssumeRolePolicy.json"が存在する。」ことを確認します。
コマンド:
ls ${FILE_IAM_POLICY_DOC}
 
 
結果(例):
${HOME}/environment/conf-handson-cli-sts-assume-role/STSAssumeRolePolicy.json
完了条件2: ポリシードキュメント"${HOME}/environment/conf-handson-cli-sts-assume-role/STSAssumeRolePolicy.json"が有効なJSONである。
「ポリシードキュメント"${HOME}/environment/conf-handson-cli-sts-assume-role/STSAssumeRolePolicy.json"が有効なJSONである。」ことを確認します。
コマンド:
cat ${FILE_IAM_POLICY_DOC} \
  |  python3 -m json.tool \
  > /dev/null
 
 
結果(例):
ブラウザ上のAWS Policy Generatorを閉じます。