我正在使用AWS Java SDK v2列出使用AWS GitHub repo中定义的代码的用户。
public static void listAllUsers(IamClient iam) {
try {
boolean done = false;
String newMarker = null;
while (!done) {
ListUsersResponse response;
ListUsersRequest request;
if (newMarker == null) {
request = ListUsersRequest.builder().build();
} else {
request = ListUsersRequest.builder()
.marker(newMarker).build();
}
response = iam.listUsers(request);
for (User user : response.users()) {
System.out.format("\n Retrieved user %s", user.userName());
System.out.println("\nPermission Boundary: " + user.permissionsBoundary());
}
if (!response.isTruncated()) {
done = true;
} else {
newMarker = response.marker();
}
}
} catch (IamException e) {
System.err.println(e);
System.exit(1);
}
}
它为用户返回NULL。permissionsBoundary()
。下面是上面代码中print语句的输出。
Retrieved user jamshaid
Permission Boundary: null
Retrieved user luminadmin
Permission Boundary: null
Retrieved user test
Permission Boundary: null
当我在AWS控制台上的AWS CloudShell中运行以下命令时,它将返回所定义用户的PermissionBoundary。
aws iam get-user --user-name test
我已通过在AWS管理控制台中为IAM用户设置权限边界来确认此行为。我更改了ListUsers示例以包含以下代码:
for(User user : response.users()) {
System.out.format("\n Retrieved user %s", user.userName());
AttachedPermissionsBoundary permissionsBoundary = user.permissionsBoundary();
if (permissionsBoundary != null)
System.out.format("\n Permissions boundary details %s", permissionsBoundary.permissionsBoundaryTypeAsString());
}
...
permissionsBoundary()方法返回null即使设置了权限。这是一个错误。
我的建议是在这里记录Github问题:
https://github.com/aws/aws-sdk-java-v2
我还使用Kotlin SDK对此进行了测试。同样的结果。
suspend fun listAllUsers() {
IamClient { region = "AWS_GLOBAL" }.use { iamClient ->
val response = iamClient.listUsers(ListUsersRequest { })
response.users?.forEach { user ->
println("Retrieved user ${user.userName}")
val permissionsBoundary = user.permissionsBoundary
if (permissionsBoundary != null)
println("Permissions boundary details ${permissionsBoundary.permissionsBoundaryType.toString()}")
}
}
}
我不认为这是一个问题,但程序化的行为。从API文档:
IAM资源列表操作返回资源可用属性的子集。例如,此操作不返回标记,即使它们是返回对象的属性。若要查看用户的所有信息,请参阅GetUser。
这在API javadocs中也有说明。
在控制台中,您使用的是获取用户
,而不是列出用户
,这就是为什么它会返回有关用户的所有信息,以及其中的权限边界。
请尝试使用:
aws iam list-users
并检查输出,它应该与JavaSDK获得的结果相匹配。
您好,这是代码,它确实检索用户信息,但当我将其转换为apk时,它不会检索任何用户信息。请帮忙: //ImageURL=new URL("https://graph.facebook.com/"userID"/图片?宽度="宽度"
但是,在查看REST API文档时,会指出API在将选项卡发送给接收者时检索选项卡的原始值(originalValue)。 这正是我发现的行为。是否存在其他方法来检索签名者输入的数据?
问题内容: 使用Python,如何以通用方式返回诸如CPU使用率,内存使用率(空闲,已使用等),进程计数等信息,以便可以在Linux,Windows,BSD等上运行相同的代码? 或者,如何仅在该操作系统确实是操作环境的情况下,在运行上述操作系统的代码的情况下,在上述所有系统上返回该信息? 问题答案: 关于跨平台:最好的选择是编写平台特定的代码,然后有条件地将其导入。例如 Anthony指出,对于特
null null 在简单的java应用程序中读取图像, 将图像转换为字节数组 将其存储到远程DB2数据库中(使用的技术不是imp,所以我现在使用的是纯jdbc) 从数据库回读它,并 将其转换回来,以确保图像作品的再创作。(我可以在任何图像查看器中打开重新创建的新图像) 问题 问题发生在步骤5。 null null null 我已经参考了以下链接进行验证1。在DB2中插入图像。这里的链接提供了洞察
我一直在努力使用REST API响应处理Firebase响应。问题是我不想在Firebase中使用Android的libs,而是使用原始rest api。长话短说,Firebase的回应是: 改装接口: Gson Builder、改装Builder和RxJava: 执行此操作时,我会得到错误: 为了迭代来自服务器的对象列表,是否可以使用RxJava解决这个问题?从现在起,我期待一个数组,但fire
Q2 是否有任何其他健壮的方法,或者如果我可以使用页脚链接和我已经完成的方法来结束,如果一个页面肯定是一个联系我们的页面?