Skip to content

Commit 2caa472

Browse files
committed
Add AWS session token support for OIDC authentication
Export and configure AWS_SESSION_TOKEN in login.yml to support OIDC-based credentials which return temporary session tokens. Conditional guards ensure backward compatibility with static keys. Also remove step name to avoid duplicate name errors when login is called multiple times in a pipeline.
1 parent 75e6a6d commit 2caa472

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

steps/cloud/aws/login.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ 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
19+
echo "##vso[task.setvariable variable=AWS_SESSION_TOKEN;issecret=true]$AWS_SESSION_TOKEN"
20+
fi
1821
displayName: 'Get login credentials'
1922

2023
- bash: |
@@ -23,12 +26,15 @@ steps:
2326
2427
aws configure set aws_access_key_id "$AWS_ACCESS_KEY"
2528
aws configure set aws_secret_access_key "$AWS_SECRET_KEY"
29+
if [ -n "${AWS_SESSION:-}" ]; then
30+
aws configure set aws_session_token "$AWS_SESSION"
31+
fi
2632
aws configure set default.region "$REGION"
2733
aws configure list
2834
echo "##vso[task.setvariable variable=AWS_DEFAULT_REGION]$REGION"
2935
displayName: "AWS Login"
30-
name: aws_login
3136
env:
3237
AWS_ACCESS_KEY: $(AWS_ACCESS_KEY_ID)
3338
AWS_SECRET_KEY: $(AWS_SECRET_ACCESS_KEY)
39+
AWS_SESSION: $(AWS_SESSION_TOKEN)
3440
REGION: ${{ parameters.region }}

0 commit comments

Comments
 (0)