サードパーティーのツールで(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の神髄はサポートにあるというのがうなずけます。
では。
コメント