适用于 Java 的 AWS 开发工具包
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

管理 IAM 用户

重要

这是一个预览版,不建议用于生产环境。

创建用户

使用包含用户名的 CreateUserRequest 对象向 IAMClientcreateUser 方法提供用户名,从而创建新 IAM 用户。

导入

import software.amazon.awssdk.services.iam.model.CreateUserRequest; import software.amazon.awssdk.services.iam.model.CreateUserResponse; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.iam.IAMClient;

代码

Region region = Region.AWS_GLOBAL; IAMClient iam = IAMClient.builder().region(region).build(); CreateUserRequest request = CreateUserRequest.builder() .userName(username).build(); CreateUserResponse response = iam.createUser(request);

请参阅 GitHub 上的完整示例

列出用户

要列出您账户中的 IAM 用户,请创建新的 ListUsersRequest 并将其传递给 IAMClientlistUsers 方法。您可以通过在返回的 ListUsersResponse 对象上调用 users 来检索用户列表。

listUsers 返回的用户列表已分页。您可以通过调用响应对象的 isTruncated 方法查看更多可检索的结果。如果它返回 true,则调用响应对象的 marker() 方法。使用标记值创建新的请求对象。然后使用新请求再次调用 listUsers 方法。

导入

import software.amazon.awssdk.services.iam.model.ListUsersRequest; import software.amazon.awssdk.services.iam.model.ListUsersResponse; import software.amazon.awssdk.services.iam.model.User; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.iam.IAMClient;

代码

Region region = Region.AWS_GLOBAL; IAMClient iam = IAMClient.builder().region(region).build(); boolean done = false; String new_marker = null; while(!done) { ListUsersResponse response; if (new_marker == null) { ListUsersRequest request = ListUsersRequest.builder().build(); response = iam.listUsers(request); } else { ListUsersRequest request = ListUsersRequest.builder() .marker(new_marker).build(); response = iam.listUsers(request); } for(User user : response.users()) { System.out.format("Retrieved user %s", user.userName()); } if(!response.isTruncated()) { done = true; } else { new_marker = response.marker(); } }

请参阅 GitHub 上的完整示例

更新用户

要更新用户,请调用 IAMClient 对象的 updateUser 方法,该方法采用 UpdateUserRequest 对象,您可以使用它更改用户的名称路径

导入

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.iam.IAMClient; import software.amazon.awssdk.services.iam.model.UpdateUserRequest; import software.amazon.awssdk.services.iam.model.UpdateUserResponse;

代码

Region region = Region.AWS_GLOBAL; IAMClient iam = IAMClient.builder().region(region).build(); UpdateUserRequest request = UpdateUserRequest.builder() .userName(cur_name) .newUserName(new_name).build(); UpdateUserResponse response = iam.updateUser(request);

请参阅 GitHub 上的完整示例

删除用户

要删除用户,请使用 UpdateUserRequest 对象调用 IAMClientdeleteUser 请求,该对象中设置了要删除的用户名。

导入

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.iam.IAMClient; import software.amazon.awssdk.services.iam.model.DeleteConflictException; import software.amazon.awssdk.services.iam.model.DeleteUserRequest;

代码

Region region = Region.AWS_GLOBAL; IAMClient iam = IAMClient.builder().region(region).build(); DeleteUserRequest request = DeleteUserRequest.builder() .userName(username).build(); 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 上的完整示例

更多信息