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

如何让实验室账户的AWS Inspector跨多账户拉取信息并实现集中评估?

嘿,我来帮你搞定AWS Inspector跨账户集中评估的事儿!你之前的代码没起作用,是因为搞反了角色方向和操作逻辑,咱们一步步捋清楚:

实现AWS Inspector跨账户集中评估的正确步骤

核心逻辑是:让实验室账户(管理账户)的Amazon Inspector能够合法访问其他成员账户的Inspector数据,这需要通过IAM角色建立双向信任,再配置跨账户访问。

1. 先在每个成员账户创建跨账户信任角色

这一步是让成员账户主动授权实验室账户的Inspector服务访问它的资源:

  • 登录成员账户的IAM控制台,新建一个角色:
    • 信任实体类型选「AWS账户」,输入你的实验室账户ID
    • 信任策略里还要允许Inspector服务主体(inspector.amazonaws.com)扮演这个角色,最终的信任策略JSON如下:
      {
        "Version": "2012-10-17",
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
              "AWS": "arn:aws:iam::YOUR_LAB_ACCOUNT_ID:root",
              "Service": "inspector.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
          }
        ]
      }
      
    • 给这个角色附加权限策略,直接用AmazonInspectorFullAccess托管策略就够(如果需要更精细权限可以自定义)
    • 记好这个角色的ARN:arn:aws:iam::MEMBER_ACCOUNT_ID:role/YourCrossAccountInspectorRole

2. 在实验室账户配置跨账户访问

现在回到实验室账户,有两种方式实现:

方式一:用Boto3代码(修正版)

你之前的代码错误在于用成员账户的会话去操作,而且角色ARN填反了。正确的做法是用实验室账户的会话,先扮演成员账户的角色,再调用其Inspector API:

import boto3

# 1. 初始化实验室账户的会话
lab_session = boto3.Session(profile_name='your_lab_account_profile')

# 2. 通过STS服务扮演成员账户的跨账户角色
sts_client = lab_session.client('sts')
assumed_role_creds = sts_client.assume_role(
    RoleArn='arn:aws:iam::MEMBER_ACCOUNT_ID:role/YourCrossAccountInspectorRole',
    RoleSessionName='Inspector_Cross_Account_Session'
)['Credentials']

# 3. 使用临时凭证创建成员账户的Inspector客户端
member_inspector = boto3.client(
    'inspector',
    aws_access_key_id=assumed_role_creds['AccessKeyId'],
    aws_secret_access_key=assumed_role_creds['SecretAccessKey'],
    aws_session_token=assumed_role_creds['SessionToken']
)

# 4. 现在就能拉取成员账户的Inspector数据了,比如列出所有发现
findings = member_inspector.list_findings()
print(findings)

方式二:用AWS控制台(更省心)

如果不想写代码,直接在实验室账户的Inspector控制台操作:

  • 进入Amazon Inspector控制台,找到「跨账户管理」(不同区域可能叫「组织与账户」)
  • 点击「添加账户」,输入成员账户ID和之前创建的角色ARN
  • 保存后,实验室账户就能直接在控制台查看所有成员账户的评估结果、漏洞数据了

3. 几个关键注意点

  • 角色的信任策略必须同时包含实验室账户ID和inspector.amazonaws.com服务主体,缺一不可
  • 权限策略要足够覆盖Inspector读取数据的需求,AmazonInspectorFullAccess是最稳妥的选择
  • 如果你的账户属于AWS组织,直接启用组织内的Inspector自动管理,不需要手动创建角色,效率更高

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:24:48