Open1
GKE Workload Identityのtokenを使って、他サービスも認証させてみる

OIDCなどで使われているJWTを用いることで、他サービスも利用できるよねってお話。
GKEを良く使うことがあるので、GKEからAWSリソースへのアクセスを実現できると嬉しい。
GSAもBindingできるため、永続なキーを発行しなくて良いところが安心安全なのです。
/var/run/secrets/kubernetes.io/serviceaccount/token
例えば、aws sts assume-role-with-web-identity
を使うことでAWSのIAM Userから永続なアクセスキーを発行する必要がなくなります。(たぶん・・・)
SESSION_NAME=gke-cluster-pod
ID_TOKEN=/var/run/secrets/kubernetes.io/serviceaccount/token
aws sts assume-role-with-web-identity \
--role-arn "$AWS_ROLE_ARN" \
--role-session-name "$SESSION_NAME" \
--web-identity-token "$ID_TOKEN"