Skip to content

Commit bf5ba9b

Browse files
committed
Guard against stale and unresolved session tokens
Add validation to treat unresolved $(AWS_SESSION_TOKEN) literals as empty, and unset aws_session_token when not applicable to prevent stale tokens from persisting on self-hosted agents.
1 parent 2caa472 commit bf5ba9b

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

steps/cloud/aws/login.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ steps:
1515
inlineScript: |
1616
echo "##vso[task.setvariable variable=AWS_ACCESS_KEY_ID;issecret=true]$AWS_ACCESS_KEY_ID"
1717
echo "##vso[task.setvariable variable=AWS_SECRET_ACCESS_KEY;issecret=true]$AWS_SECRET_ACCESS_KEY"
18-
if [ -n "${AWS_SESSION_TOKEN:-}" ]; then
18+
if [ -n "${AWS_SESSION_TOKEN:-}" ] && [ "${AWS_SESSION_TOKEN}" != '$(AWS_SESSION_TOKEN)' ]; then
1919
echo "##vso[task.setvariable variable=AWS_SESSION_TOKEN;issecret=true]$AWS_SESSION_TOKEN"
2020
fi
2121
displayName: 'Get login credentials'
@@ -26,8 +26,10 @@ steps:
2626
2727
aws configure set aws_access_key_id "$AWS_ACCESS_KEY"
2828
aws configure set aws_secret_access_key "$AWS_SECRET_KEY"
29-
if [ -n "${AWS_SESSION:-}" ]; then
29+
if [ -n "${AWS_SESSION:-}" ] && [ "${AWS_SESSION}" != '$(AWS_SESSION_TOKEN)' ]; then
3030
aws configure set aws_session_token "$AWS_SESSION"
31+
else
32+
aws configure unset aws_session_token
3133
fi
3234
aws configure set default.region "$REGION"
3335
aws configure list

0 commit comments

Comments
 (0)