aws / aws/aws-cli

aws eks update-kubeconfig does not support `external_id`

Open
#4,053 11 comments 8 reactions 0 assignees View on GitHub
eks-kubeconfig feature-request p2
Dominant language
Python
Stars
17.3k
Forks
4.6k
Avg merge
1d 2h
Merged PRs (30d)
13

Description

There is no way at the moment to specify `external_id` when calling `aws eks update-kubeconfig`.

It supports specifying `role-arn` for the case when the cluster was created with assumed role.
However, if the role has an extra condition like: `StringEquals | sts:ExternalId | test_account` there is no way to supply `aws eks update-kubeconfig` this info.

It seems that the problem is even wider, I do not see support fo `external_id` in `aws-iam-authenticator token` either.

Basically, here is the use case:
We use terraform with assumed role (that has external_id condition set) to bring up EKS cluster and worker nodes.

In order to finish the setup, we need to do `kubectl apply` of the ConfigMap with AWS Auth to let nodes join the cluster.
In order to do so, we first need to prepare `.kubeconfig` that will use the same role, that terraform assumed to create the cluster.

Unfortunately, there is no way to specify `external_id` there and attempts to execute `kubectl apply` fail with
```
could not get token: AccessDenied: Access denied
status code: 403, request id: xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
```

To sum up, this issue is a feature request to add ability to specify `external_id` when providing `role-arn` to `aws eks update-kubeconfig`.

I am not sure how to go about highlighting the same problem to `aws-iam-authenticator` though.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.