适用于 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); System.out.println("Successfully created user: " + response.user().userName());

请参阅 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 上的完整示例

更多信息