

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

# 管理 IAM 用户和角色
<a name="iam-identity-mappings"></a>

**注意**  
AWS 建议[EKS Pod 身份关联](pod-identity-associations.md)从. 迁移到。`aws-auth` ConfigMap

EKS 集群使用 IAM 用户和角色来控制对集群的访问权限。这些规则是在配置映射中实现的

## 使用 CLI 命令 ConfigMap 进行编辑
<a name="_edit_configmap_with_a_cli_command"></a>

被称为`aws-auth`。 `eksctl`提供了读取和编辑此配置映射的命令。

 **获取所有身份映射：**

```
eksctl get iamidentitymapping --cluster <clusterName> --region=<region>
```

 **获取与 arn 匹配的所有身份映射：**

```
eksctl get iamidentitymapping --cluster <clusterName> --region=<region> --arn arn:aws:iam::123456:role/testing-role
```

 **创建身份映射：**

```
 eksctl create iamidentitymapping --cluster  <clusterName> --region=<region> --arn arn:aws:iam::123456:role/testing --group system:masters --username admin
```

 **删除身份映射：**

```
eksctl delete iamidentitymapping --cluster  <clusterName> --region=<region> --arn arn:aws:iam::123456:role/testing
```

**注意**  
上面的命令会删除单个映射 FIFO，除非给出`--all`这种情况，否则它会删除所有匹配项。如果找到更多与此角色匹配的映射，将发出警告。

 **创建账户映射：**

```
 eksctl create iamidentitymapping --cluster  <clusterName> --region=<region> --account user-account
```

 **删除账户映射：**

```
 eksctl delete iamidentitymapping --cluster  <clusterName> --region=<region> --account user-account
```

## ConfigMap 使用 ClusterConfig 文件进行编辑
<a name="_edit_configmap_using_a_clusterconfig_file"></a>

身份映射也可以在以下位置指定： ClusterConfig

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

metadata:
  name: cluster-with-iamidentitymappings
  region: us-east-1

iamIdentityMappings:
  - arn: arn:aws:iam::000000000000:role/myAdminRole
    groups:
      - system:masters
    username: admin
    noDuplicateARNs: true # prevents shadowing of ARNs

  - arn: arn:aws:iam::000000000000:user/myUser
    username: myUser
    noDuplicateARNs: true # prevents shadowing of ARNs

  - serviceName: emr-containers
    namespace: emr # serviceName requires namespace

  - account: "000000000000" # account must be configured with no other options

nodeGroups:
  - name: ng-1
    instanceType: m5.large
    desiredCapacity: 1
```

```
 eksctl create iamidentitymapping -f cluster-with-iamidentitymappings.yaml
```