.NET 6服务中如何列出Amazon SSO用户?技术咨询
解决.NET 6中获取Amazon SSO用户列表的问题
你需要的aws identitystore list-users --identity-store-id ***对应AWS Identity Store服务的API,而非IAM或SSO Admin,当前安装的NuGet包缺少对应的SDK,以下是解决步骤:
1. 补充安装Identity Store的NuGet包
在项目中添加以下PackageReference:
<PackageReference Include="AWSSDK.IdentityStore" Version="3.7.302.x" />
版本号建议和你已安装的其他AWS SDK包大版本保持一致(3.7系列),确保兼容性。
2. 使用AmazonIdentityStoreClient实现用户列表查询
AmazonIdentityStoreClient是对应Identity Store服务的客户端,提供了ListUsersAsync方法,和CLI命令完全匹配。示例代码如下:
using Amazon.IdentityStore; using Amazon.IdentityStore.Model; using Amazon; public async Task<List<User>> GetSsoUsersAsync(string identityStoreId) { // 初始化客户端,可根据你的配置方式调整(比如使用默认凭证、指定区域等) var client = new AmazonIdentityStoreClient(RegionEndpoint.USEast1); // 替换为你的SSO所在区域 var allUsers = new List<User>(); string nextToken = null; do { var request = new ListUsersRequest { IdentityStoreId = identityStoreId, NextToken = nextToken }; var response = await client.ListUsersAsync(request); allUsers.AddRange(response.Users); nextToken = response.NextToken; } while (!string.IsNullOrEmpty(nextToken)); return allUsers; }
关键说明
AmazonSSOAdminClient用于管理SSO的权限集、账户分配等配置操作,不负责查询用户列表;AmazonIdentityManagementServiceClient对应的是IAM用户体系,和Amazon SSO的用户不属于同一存储;- CLI命令
aws identitystore list-users的底层调用就是Identity Store服务的ListUsers API,对应SDK中的AmazonIdentityStoreClient.ListUsersAsync方法。
内容的提问来源于stack exchange,提问作者Christy Pirumova
相关产品推荐
相关产品推荐

