プロジェクト

全般

プロフィール

一時的な認証のエクスポート(STS)

#!/bin/bash
ROLE_ARN="arn:aws:iam::123456789012:role/LocalDevRole"
SESSION_NAME="local-$(whoami)-$(date +%s)"
DURATION=3600  # 秒。ロールの最大セッション時間内で調整

CREDS=$(aws sts assume-role \
  --role-arn "$ROLE_ARN" \
  --role-session-name "$SESSION_NAME" \
  --duration-seconds "$DURATION" \
  --query 'Credentials' --output json)

echo "export AWS_ACCESS_KEY_ID=$(echo "$CREDS" | jq -r .AccessKeyId)"
echo "export AWS_SECRET_ACCESS_KEY=$(echo "$CREDS" | jq -r .SecretAccessKey)"
echo "export AWS_SESSION_TOKEN=$(echo "$CREDS" | jq -r .SessionToken)"
echo "# expires: $(echo "$CREDS" | jq -r .Expiration)"