

 适用于 Java 的 Amazon SDK 1.x于2025年12月31日达到支撑终止状态。我们建议您迁移到 [Amazon SDK for Java 2.x](https://docs.amazonaws.cn/sdk-for-java/latest/developer-guide/home.html) 以继续获得新功能、可用性改进和安全更新。

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

# 管理 IAM 用户
<a name="examples-iam-users"></a>

## 创建用户
<a name="creating-a-user"></a>

通过向 AmazonIdentityManagementClient 的 `createUser` 方法提供用户名来创建新 IAM 用户，用户名可直接提供，也可以使用包含用户名的 [CreateUserRequest](https://docs.amazonaws.cn/sdk-for-java/v1/reference/com/amazonaws/services/identitymanagement/model/CreateUserRequest.html) 对象。

 **导入**。

```
import com.amazonaws.services.identitymanagement.AmazonIdentityManagement;
import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClientBuilder;
import com.amazonaws.services.identitymanagement.model.CreateUserRequest;
import com.amazonaws.services.identitymanagement.model.CreateUserResult;
```

 **代码** 

```
final AmazonIdentityManagement iam =
    AmazonIdentityManagementClientBuilder.defaultClient();

CreateUserRequest request = new CreateUserRequest()
    .withUserName(username);

CreateUserResult response = iam.createUser(request);
```

请参阅 GitHub 上的[完整示例](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/iam/src/main/java/aws/example/iam/CreateUser.java)。

## 列出用户
<a name="listing-users"></a>

要列出您账户中的 IAM 用户，请创建新的 [ListUsersRequest](https://docs.amazonaws.cn/sdk-for-java/v1/reference/com/amazonaws/services/identitymanagement/model/ListUsersRequest.html) 并将其传递给 AmazonIdentityManagementClient 的 `listUsers` 方法。您可以通过在返回的 [ListUsersResult](https://docs.amazonaws.cn/AWSJavaSDK/latest/javadoc/com/amazonaws/services/identitymanagement/model/ListUsersResult.html) 对象上调用 `getUsers` 来检索用户列表。

`listUsers` 返回的用户列表已分页。您可以通过调用响应对象的 `getIsTruncated` 方法查看更多可检索的结果。如果返回 `true`，则调用请求对象的 `setMarker()` 方法，并为其传递响应对象的 `getMarker()` 方法的返回值。

 **导入**。

```
import com.amazonaws.services.identitymanagement.AmazonIdentityManagement;
import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClientBuilder;
import com.amazonaws.services.identitymanagement.model.ListUsersRequest;
import com.amazonaws.services.identitymanagement.model.ListUsersResult;
import com.amazonaws.services.identitymanagement.model.User;
```

 **代码** 

```
final AmazonIdentityManagement iam =
    AmazonIdentityManagementClientBuilder.defaultClient();

boolean done = false;
ListUsersRequest request = new ListUsersRequest();

while(!done) {
    ListUsersResult response = iam.listUsers(request);

    for(User user : response.getUsers()) {
        System.out.format("Retrieved user %s", user.getUserName());
    }

    request.setMarker(response.getMarker());

    if(!response.getIsTruncated()) {
        done = true;
    }
}
```

请参阅 GitHub 上的[完整示例](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/iam/src/main/java/aws/example/iam/ListUsers.java)。

## 更新用户
<a name="updating-a-user"></a>

要更新用户，请调用 AmazonIdentityManagementClient 对象的 `updateUser` 方法，该方法采用 [UpdateUserRequest](https://docs.amazonaws.cn/sdk-for-java/v1/reference/com/amazonaws/services/identitymanagement/model/UpdateUserRequest.html) 对象，您可以使用它更改用户的*名称* 或*路径*。

 **导入**。

```
import com.amazonaws.services.identitymanagement.AmazonIdentityManagement;
import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClientBuilder;
import com.amazonaws.services.identitymanagement.model.UpdateUserRequest;
import com.amazonaws.services.identitymanagement.model.UpdateUserResult;
```

 **代码** 

```
final AmazonIdentityManagement iam =
    AmazonIdentityManagementClientBuilder.defaultClient();

UpdateUserRequest request = new UpdateUserRequest()
    .withUserName(cur_name)
    .withNewUserName(new_name);

UpdateUserResult response = iam.updateUser(request);
```

请参阅 GitHub 上的[完整示例](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/iam/src/main/java/aws/example/iam/UpdateUser.java)。

## 删除用户
<a name="deleting-a-user"></a>

要删除用户，请使用 [UpdateUserRequest](https://docs.amazonaws.cn/sdk-for-java/v1/reference/com/amazonaws/services/identitymanagement/model/UpdateUserRequest.html) 对象调用 AmazonIdentityManagementClient 的 `deleteUser` 请求，该对象中设置了要删除的用户名。

 **导入**。

```
import com.amazonaws.services.identitymanagement.AmazonIdentityManagement;
import com.amazonaws.services.identitymanagement.AmazonIdentityManagementClientBuilder;
import com.amazonaws.services.identitymanagement.model.DeleteConflictException;
import com.amazonaws.services.identitymanagement.model.DeleteUserRequest;
```

 **代码** 

```
final AmazonIdentityManagement iam =
    AmazonIdentityManagementClientBuilder.defaultClient();

DeleteUserRequest request = new DeleteUserRequest()
    .withUserName(username);

try {
    iam.deleteUser(request);
} catch (DeleteConflictException e) {
    System.out.println("Unable to delete user. Verify user is not" +
            " associated with any resources");
    throw e;
}
```

请参阅 GitHub 上的[完整示例](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/iam/src/main/java/aws/example/iam/DeleteUser.java)。

## 更多信息
<a name="more-information"></a>
+  《IAM 用户指南》中的 [IAM 用户](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_users.html)
+  《IAM 用户指南》中的[管理 IAM 用户](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_users_manage.html)
+  《IAM API Reference》中的 [CreateUser](https://docs.amazonaws.cn/IAM/latest/APIReference/API_CreateUser.html)
+  《IAM API Reference》中的 [ListUsers](https://docs.amazonaws.cn/IAM/latest/APIReference/API_ListUsers.html)
+  《IAM API Reference》中的 [UpdateUser](https://docs.amazonaws.cn/IAM/latest/APIReference/API_UpdateUser.html)
+  《IAM API Reference》中的 [DeleteUser](https://docs.amazonaws.cn/IAM/latest/APIReference/API_DeleteUser.html)