

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

# IAM 策略
<a name="iam-policies"></a>

您可以将实例角色附加到节点组。在节点上运行的工作负载将获得该节点的 IAM 权限。有关更多信息，请参阅适用于 A [mazon EC2 的 IAM 角色](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)。

本页列出了 eksctl 中可用的预定义 IAM 策略模板。这些模板简化了向您的 EKS 节点授予相应的 AWS 服务权限的过程，而无需手动创建自定义 IAM 策略。

## 支持的 IAM 插件策略
<a name="_supported_iam_add_on_policies"></a>

所有支持的附加策略示例：

```
nodeGroups:
  - name: ng-1
    instanceType: m5.xlarge
    desiredCapacity: 1
    iam:
      withAddonPolicies:
        imageBuilder: true
        autoScaler: true
        externalDNS: true
        certManager: true
        appMesh: true
        appMeshPreview: true
        ebs: true
        fsx: true
        efs: true
        awsLoadBalancerController: true
        xRay: true
        cloudWatch: true
```

### Image Builder 政策
<a name="_image_builder_policy"></a>

该`imageBuilder`策略允许完全访问 ECR（弹性容器注册表）。例如，这对于构建需要将图像推送到 ECR 的 CI 服务器很有用。

### EBS 政策
<a name="_ebs_policy"></a>

该`ebs`策略启用了新的 EBS CSI（弹性块存储容器存储接口）驱动程序。

### 证书管理器政策
<a name="_cert_manager_policy"></a>

该`certManager`策略允许向 Route 53 添加记录以解决难题。 DNS01 更多信息可以[在这里](https://cert-manager.io/docs/configuration/acme/dns01/route53/#set-up-a-iam-role)找到。

## 添加自定义实例角色
<a name="_adding_a_custom_instance_role"></a>

此示例创建了一个重复使用另一个集群中现有 IAM 实例角色的节点组：

```
apiVersion: eksctl.io/v1alpha4
kind: ClusterConfig
metadata:
  name: test-cluster-c-1
  region: eu-north-1

nodeGroups:
  - name: ng2-private
    instanceType: m5.large
    desiredCapacity: 1
    iam:
      instanceProfileARN: "arn:aws:iam::123:instance-profile/eksctl-test-cluster-a-3-nodegroup-ng2-private-NodeInstanceProfile-Y4YKHLNINMXC"
      instanceRoleARN: "arn:aws:iam::123:role/eksctl-test-cluster-a-3-nodegroup-NodeInstanceRole-DNGMQTQHQHBJ"
```

## 附加内联策略
<a name="_attaching_inline_policies"></a>

```
nodeGroups:
  - name: my-special-nodegroup
    iam:
      attachPolicy:
        Version: "2012-10-17"
        Statement:
        - Effect: Allow
          Action:
          - 's3:GetObject'
          Resource: 'arn:aws:s3:::example-bucket/*'
```

## 通过 ARN 附加策略
<a name="_attaching_policies_by_arn"></a>

```
nodeGroups:
  - name: my-special-nodegroup
    iam:
      attachPolicyARNs:
        - arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy
        - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy
        - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly
        - arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess
        - arn:aws:iam::1111111111:policy/kube2iam
      withAddonPolicies:
        autoScaler: true
        imageBuilder: true
```

**警告**  
如果节点组包含，则`attachPolicyARNs`它还**必须**包含默认节点策略`AmazonEKSWorkerNodePolicy`，例如本示例`AmazonEC2ContainerRegistryPullOnly`中的`AmazonEKS_CNI_Policy`和。