

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# IAM 权限边界
<a name="iam-permissions-boundary"></a>

[权限边界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)是一项高级 AWS IAM 功能，其中设置了基于身份的策略可以向 IAM 实体授予的最大权限；其中这些实体要么是用户，要么是角色。为实体设置权限边界后，该实体只能执行其基于身份的策略和权限边界所允许的操作。

您可以提供权限边界，以便在该边界内创建由 eksctl 创建的所有基于身份的实体。此示例演示了如何向 eksctl 创建的各种基于身份的实体提供权限边界：

```
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: cluster-17
  region: us-west-2

iam:
  withOIDC: true
  serviceRolePermissionsBoundary: "arn:aws:iam::11111:policy/entity/boundary"
  fargatePodExecutionRolePermissionsBoundary: "arn:aws:iam::11111:policy/entity/boundary"
  serviceAccounts:
    - metadata:
        name: s3-reader
      attachPolicyARNs:
      - "arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess"
      permissionsBoundary: "arn:aws:iam::11111:policy/entity/boundary"

nodeGroups:
  - name: "ng-1"
    desiredCapacity: 1
    iam:
      instanceRolePermissionsBoundary: "arn:aws:iam::11111:policy/entity/boundary"
```

**警告**  
不可能同时提供角色 ARN 和权限边界。

## 设置 VPC CNI 权限边界
<a name="_setting_the_vpc_cni_permission_boundary"></a>

[请注意，当您创建启用了 OIDC 的集群时，出于安全考虑，eksctl 将自动为 VPC-CNI 创建一个`iamserviceaccount`。](security.md)如果您想为其添加权限边界，则必须在配置文件`iamserviceaccount`中手动指定：

```
iam:
  serviceAccounts:
    - metadata:
        name: aws-node
        namespace: kube-system
      attachPolicyARNs:
      - "arn:aws:iam::<arn>:policy/AmazonEKS_CNI_Policy"
      permissionsBoundary: "arn:aws:iam::11111:policy/entity/boundary"
```