管理 IAM 用户 - AWS SDK for Java 1.x

我们宣布了即将推出 end-of-support 的 AWS SDK for Java (v1)。建议您迁移到 AWS SDK for Java v2。有关日期、其他详细信息以及如何迁移的信息,请参阅链接的公告。

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

管理 IAM 用户

创建用户

通过向 AmazonIdentityManagementClient 的 createUser 方法提供用户名来创建新 IAM 用户,用户名可直接提供,也可以使用包含用户名的 CreateUserRequest 对象。

导入

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

列出用户

要列出您账户中的 IAM 用户,请创建新的 ListUsersRequest 并将其传递给 AmazonIdentityManagementClient 的 listUsers 方法。您可以通过在返回的 ListUsersResult 对象上调用 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 上的完整示例

更新用户

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

导入

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

删除用户

要删除用户,请使用 UpdateUserRequest 对象调用 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 上的完整示例

更多信息