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/deploy/installation.md
+6-6Lines changed: 6 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -21,11 +21,11 @@ The LBC is supported by AWS. Some clusters may be using the legacy "in-tree" fun
21
21
* For IP targets, pods must have IPs from the VPC subnets. You can configure the [`amazon-vpc-cni-k8s`](https://github.com/aws/amazon-vpc-cni-k8s#readme) plugin for this purpose.
22
22
23
23
### Using the Amazon EC2 instance metadata server version 2 (IMDSv2)
24
-
If you are using the [IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html), set the hop limit to 2 or higher in order to allow the LBC to perform the metadata introspection.
24
+
We recommend blocking the access to instance metadata by requiring the instance to use [IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html) only. For more information, please refer to the AWS guidance [here](https://aws.github.io/aws-eks-best-practices/security/docs/iam/#restrict-access-to-the-instance-profile-assigned-to-the-worker-node). If you are using the IMDSv2, set the hop limit to 2 or higher in order to allow the LBC to perform the metadata introspection.
Instead of depending on IMDSv2, you can specify the AWS Region and the VPC via the controller flags `--aws-region` and `--aws-vpc-id`.
@@ -34,9 +34,9 @@ Instead of depending on IMDSv2, you can specify the AWS Region and the VPC via t
34
34
35
35
The controller runs on the worker nodes, so it needs access to the AWS ALB/NLB APIs with IAM permissions.
36
36
37
-
The IAM permissions can either be setup using [IAM roles for service accounts (IRSA)](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) or can be attached directly to the worker node IAM roles. This is the recommended method if you're using Amazon EKS. If you're using kOps or self-hosted Kubernetes, you must manually attach polices to node instances.
37
+
The IAM permissions can either be setup using [IAM roles for service accounts (IRSA)](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) or can be attached directly to the worker node IAM roles. The best practice is using IRSA if you're using Amazon EKS. If you're using kOps or self-hosted Kubernetes, you must manually attach polices to node instances.
38
38
39
-
### Option A: IAM roles for service accounts (IRSA)
39
+
### Option A: Recommended, IAM roles for service accounts (IRSA)
40
40
41
41
The reference IAM policies contain the following permissive configuration:
42
42
```
@@ -113,7 +113,7 @@ Example condition for cluster name resource tag:
113
113
```
114
114
115
115
### Option B: Attach IAM policies to nodes
116
-
If you're not setting up IAM roles for service accounts, apply the IAM policies from the following URL at a minimum.
116
+
If you're not setting up IAM roles for service accounts, apply the IAM policies from the following URL at a minimum. Please be aware of the possibility that the controller permissions may be assumed by other users in a pod after retrieving the node role credentials, so the best practice would be using IRSA instead of attaching IAM policy directly.
Copy file name to clipboardExpand all lines: helm/aws-load-balancer-controller/README.md
+2Lines changed: 2 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -18,6 +18,8 @@ AWS Load Balancer controller manages the following AWS resources
18
18
19
19
## Security updates
20
20
**Note**: Deployed chart does not receive security updates automatically. You need to manually upgrade to a newer chart.
21
+
#### Node isolation
22
+
As a security best practice, we recommend isolating the controller deployment pods to specific node groups which run critical components. The helm chart provides parameters ```nodeSelector```, ```tolerations``` and ```affinity``` to configure node isolation. For more information, please refer to the guidance [here](https://aws.github.io/aws-eks-best-practices/security/docs/multitenancy/#isolating-tenant-workloads-to-specific-nodes).
0 commit comments