AWSのIAMロールのセッション時間を1時間から延ばす方法

AWS

サードパーティーのツールで(GitHub Actions)2時間以上かかるシェルを流していると、権限のセッション時間が1時間で切れてしまう。そこで、IAMロールのセッション時間を4時間に延長した見た結果。

An error occurred (RequestExpired) when calling the AuthorizeSecurityGroupIngress operation: Request has expired.

結果として、これだけでは延長できません。サードパーティー側のツールにも設定が要るようです。

AssumeRoleWithWebIdentity API は、DurationSeconds パラメータを使用してロールセッションの有効期限を指定することが可能

GitHub Actionsにどう反映化させるかは、以下の通り

- name: Configure AWS credentials
  uses: aws-actions/configure-aws-credentials@v1
  with:
    role-to-assume: <IAM ロール ARN>
    aws-region: <リージョン>
    role-duration-seconds: <900 秒から「最大セッション時間」の秒数以下の、任意の秒数 (例: 14400)>

AWSのIAMロールとサードパーティー側の両方に設定しないといけないです。

これを、詳細(元はもっと詳しく書いてある)に返してくるサポートさんは凄いです。AWSの神髄はサポートにあるというのがうなずけます。

では。

コメント

タイトルとURLをコピーしました