You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过API列出AWS组织各账号的所有关联用户?

实现AWS账号下所有用户的批量查询

完全可以实现和控制台一致的效果,只是无法通过单一API直接完成,需要结合两个SSO Admin API组合操作,具体步骤如下:

  • 第一步:获取目标账号关联的所有权限集
    使用SSOAdmin.Client.list_permission_sets_provisioned_to_account接口,传入目标账号ID,即可拿到该账号下所有已部署的权限集列表。示例Python调用:

    import boto3
    
    sso_admin = boto3.client('sso-admin')
    
    def get_account_permission_sets(account_id):
        response = sso_admin.list_permission_sets_provisioned_to_account(
            InstanceArn='你的SSO实例ARN',
            AccountId=account_id
        )
        return response['PermissionSets']
    
  • 第二步:遍历权限集查询账号分配记录
    对每个权限集,调用SSOAdmin.Client.list_account_assignments接口,传入账号ID和权限集ARN,获取该权限集对应的用户/组分配数据。

  • 第三步:去重整理用户列表
    同一个用户可能被分配到多个权限集,需要对返回的用户信息去重,最终得到账号下的所有SSO用户。如果需要用户详情,可结合identitystore.describe_user接口获取。示例逻辑:

    def get_account_users(account_id):
        permission_sets = get_account_permission_sets(account_id)
        user_ids = set()
        for ps in permission_sets:
            paginator = sso_admin.get_paginator('list_account_assignments')
            for page in paginator.paginate(
                InstanceArn='你的SSO实例ARN',
                AccountId=account_id,
                PermissionSetArn=ps
            ):
                for assignment in page['AccountAssignments']:
                    if assignment['PrincipalType'] == 'USER':
                        user_ids.add(assignment['PrincipalId'])
        # 获取用户详情
        identity_store = boto3.client('identitystore')
        user_details = []
        for uid in user_ids:
            user = identity_store.describe_user(
                IdentityStoreId='你的身份存储ID',
                UserId=uid
            )
            user_details.append(user)
        return user_details
    

补充说明:

  • 需确保执行操作的IAM身份拥有ssso-admin:ListPermissionSetsProvisionedToAccount、sso-admin:ListAccountAssignments以及identitystore:DescribeUser(如需用户详情)的权限。
  • 若账号下存在IAM Identity Center(原SSO)之外创建的IAM用户,需单独调用IAM.Client.list_users接口查询这类用户。

内容的提问来源于stack exchange,提问作者Bruno Souza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 11:10:25