拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 user.permissionsBoundary在使用JavaSDK从AWS检索信息时回传NULL

user.permissionsBoundary在使用JavaSDK从AWS检索信息时回传NULL

白鹭 - 2022-02-14 1964 0 0

我使用AWS的Java SDK V2使用定义的代码串列中的用户user.permissionsBoundary 在使用 Java SDK 从 AWS 检索信息时回传 NULL

uj5u.com热心网友回复:

我已通过在 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()}")

            }
        }
 }

uj5u.com热心网友回复:

我不认为这是一个问题,而是程序化的行为。来自API 档案

这在 API javadocs 中也有说明

在控制台中,您使用的是get-user,而不是list-users,这就是该命令在其中回传有关用户的所有信息的PermissionsBoundary原因。

请尝试使用:

aws iam list-users

并检查输出,它应该与您使用 Java SDK 获得的结果匹配,它不会包含PermissionsBoundary任何一个。

标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *