How to list IAM users using AWS SDK ?
Step 1 – add dependencies
After you create your project, add these dependencies to the pom.xml file.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>bom</artifactId>
<version>2.25.12</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>iam</artifactId>
</dependency>
</dependencies>
Step 2 – Using the SDK in your Java class
Create IAM Client
First you need to create an IAM client.
IamClient iam = IamClient.builder().build();
List User request and response
try {
IamClient iam = IamClient.builder().build();
ListUsersRequest request = ListUsersRequest.builder().build();
ListUsersResponse response = iam.listUsers(request);
List<User> users = response.users();
for (User user: users) {
System.out.println("User name : " + user.userName());
}
iam.close();
} catch (IamException ex) {
System.err.println(ex.awsErrorDetails().errorMessage());
}
Run the program.
Output :
User name : javauser
User name : testuser
Full Program
package org.example;
import software.amazon.awssdk.services.iam.IamClient;
import software.amazon.awssdk.services.iam.model.IamException;
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 java.util.List;
public class ListIAMUsers {
public static void main(String[] args) {
System.out.println("List IAM Using using AWS SDK through Java");
try {
IamClient iam = IamClient.builder().build();
ListUsersRequest request = ListUsersRequest.builder().build();
ListUsersResponse response = iam.listUsers(request);
List<User> users = response.users();
for (User user: users) {
System.out.println("User name : " + user.userName());
}
iam.close();
} catch (IamException ex) {
System.err.println(ex.awsErrorDetails().errorMessage());
}
}
}