You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/content/en/docs/clustermgmt/security/cluster-iam-auth.md
+98-12Lines changed: 98 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,14 +13,11 @@ description: >
13
13
14
14
EKS Anywhere supports configuring [AWS IAM Authenticator](https://github.com/kubernetes-sigs/aws-iam-authenticator) as an authentication provider for clusters.
15
15
16
-
When you create a cluster with IAM Authenticator enabled, EKS Anywhere
16
+
When you enable IAM Authenticator on a cluster, EKS Anywhere
17
17
* Installs `aws-iam-authenticator` server as a DaemonSet on the workload cluster.
18
18
* Configures the Kubernetes API Server to communicate with iam authenticator using a [token authentication webhook](https://kubernetes.io/docs/admin/authentication/#webhook-token-authentication).
19
19
* Creates the necessary ConfigMaps based on user options.
20
20
21
-
{{% alert title="Note" color="primary" %}}
22
-
Enabling IAM Authenticator needs to be done during cluster creation.
23
-
{{% /alert %}}
24
21
25
22
### Create IAM Authenticator enabled cluster
26
23
Generate your cluster configuration and add the necessary IAM Authenticator configuration. For a full spec reference check [AWSIamConfig]({{< relref "../../getting-started/optional/iamauth" >}}).
EKS Anywhere supports modifying IAM ARNs that are mapped on the cluster. The mappings can be modified by either running the `upgrade cluster` command or using `GitOps`.
104
+
### Managing AWS IAM Authenticator
105
+
EKS Anywhere supports adding, removing, and modifying AWS IAM Authenticator configuration on existing clusters. These operations can be performed using the `upgrade cluster` command or `GitOps`.
106
+
107
+
### Add AWS IAM Authenticator to existing cluster
108
+
You can add AWS IAM Authenticator to an existing cluster that was created without it.
109
+
110
+
1. Add the `identityProviderRefs` section to your cluster configuration and create the `AWSIamConfig` resource:
* Remove the `aws-iam-authenticator` server from the workload cluster
183
+
* Clean up the authentication webhook configuration
184
+
* Remove ConfigMaps and other related resources
185
+
* Clean up the AWS IAM-based kubeconfig file
109
186
110
-
#### upgrade command
187
+
{{% alert title="Warning" color="warning" %}}
188
+
After removing AWS IAM Authenticator, users will no longer be able to authenticate using the AWS IAM-based kubeconfig file. Ensure you have alternative authentication methods configured before removing IAM Authenticator.
189
+
{{% /alert %}}
190
+
191
+
### Modify IAM Authenticator mappings
111
192
The `mapRoles` and `mapUsers` lists in `AWSIamConfig` can be modified when running the `upgrade cluster` command from EKS Anywhere.
112
193
113
194
As an example, let's add another IAM user to the above example configuration.
@@ -132,10 +213,10 @@ and then run the upgrade command
EKS Anywhere now updates the role mappings for IAM authenticator in the cluster and a new user gains access to the cluster.
216
+
EKS Anywhere now updates the role mappings for IAM authenticator in the cluster and the new user gains access to the cluster.
136
217
137
218
#### GitOps
138
-
If the cluster created has GitOps configured, then the `mapRoles` and `mapUsers` list in `AWSIamConfig` can be modified by the GitOps controller. For GitOps configuration details refer to [Manage Cluster with GitOps]({{< relref "../../clustermgmt/cluster-flux" >}}).
219
+
If the cluster has GitOps configured, then AWS IAM Authenticator can be added, removed, or modified by the GitOps controller. For GitOps configuration details refer to [Manage Cluster with GitOps]({{< relref "../../clustermgmt/cluster-flux" >}}).
139
220
140
221
{{% alert title="Note" color="primary" %}}
141
222
GitOps support for the `AWSIamConfig` is currently only on management or self-managed clusters.
@@ -146,11 +227,16 @@ GitOps support for the `AWSIamConfig` is currently only on management or self-ma
0 commit comments