本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置微软 Azure 以与 Amazon Inspector 集成
Azure 设置过程将你的 Azure 环境配置为允许 Amazon Inspector 进行身份验证和接收资源变更通知。Amazon Inspector 在创建连接器期间会生成一个自定义的安装脚本。该脚本执行以下步骤。
注意
如果你已经完成了 AWS Security Hub CSPM 或 AWS Security Hub CSPM CSPM 的 Azure 环境设置,则会共享相同的应用程序注册。该脚本检测现有注册,并在不修改现有配置的情况下为 Amazon Inspector 添加所需的联合身份凭证。
安装脚本的用途
安装脚本执行一系列任务。以下各节描述了脚本执行的每项任务。如果您的组织限制脚本执行,则可以以本主题为指导,手动执行这些任务。
步骤 1:注册 Azure 应用程序
在中注册新应用程序Microsoft Entra ID。此应用程序充当 AWS 使用联合凭据向 Azure 环境进行身份验证的身份。不需要客户机密钥。
$az ad app create --display-name "AWSSecurityHubIntegration"
记下输出中的应用程序(客户端)ID(appId属性)。在 Amazon Inspector 控制台中创建连接器时,您将提供此值。
步骤 2:创建服务主体
为注册的应用程序创建服务主体。您可以使用 Azure 角色分配向服务主体授予权限。服务主体在你的 Azure 环境中执行操作。
$az ad sp create --idapplication-client-id
上application-client-id一步中的应用程序(客户端)ID 在哪里。
步骤 3:配置联合身份证书
在应用程序上配置联合身份凭证,使其 AWS 能够在没有客户端密钥的情况下进行身份验证。这将在和 Azure 之间建立 OIDC 信任 AWS 。不存储任何长期存在的机密或凭证。
$az ad app federated-credential create \ --idapplication-client-id\ --parameters '{ "name": "AWSConfigFederation", "issuer": "token-issuer-url", "subject": "arn:aws:iam::account-id:role/aws-service-role/thirdparty.config.amazonaws.com/AWSServiceRoleForConfigThirdParty", "audiences": ["api://AzureADTokenExchange"], "description": "Federation for AWS Config third-party cloud resource discovery" }'
关键值:
颁发者-您来自 IAM 出站联合身份验证的令牌发行者 URL。这遵循格式
https://。uuid.tokens.sts.global.api.aws主题-您的
AWSServiceRoleForConfigThirdParty服务相关角色的 ARN。 AWS 账户 AWS 创建连接器时会自动创建此服务相关角色。受众 —
api://AzureADTokenExchange(工作负载身份联合的标准值)。
步骤 4:分配读者角色
将读者角色分配给租户根管理组范围内的服务主体。这将授予对租户中所有订阅中的所有 Azure 资源的只读访问权限。
$az role assignment create \ --assigneeapplication-client-id\ --role "Reader" \ --scope "/providers/Microsoft.Management/managementGroups/tenant-id"
注意
如果此步骤失败,请在 Microsoft Entra ID > 属性中确认 Azure 资源的访问管理设置为 “是”。然后退出并重新登录以刷新您的令牌。
步骤 5:配置 Microsoft Graph API 权限
向应用程序授予所需Microsoft Graph的 API 权限(应用程序类型):Directory.Read.AllAuditLog.Read.All、和Policy.Read.All。然后授予管理员同意。
步骤 6:设置 Azure 事件中心
AWS Config 使用 Azure 事件中心接收 Azure 环境中资源配置变更的近乎实时的通知。安装脚本创建 Event Hub 基础架构并对其进行标记以供发现。
$az group create \ --name "aws-securityhub-integration" \ --locationevent-hub-region$ az eventhubs namespace create \ --resource-group "aws-securityhub-integration" \ --name "aws-securityhub-account-id" \ --locationevent-hub-region\ --sku Standard $ az eventhubs eventhub create \ --resource-group "aws-securityhub-integration" \ --namespace-name "aws-securityhub-account-id" \ --name "activitylog" \ --message-retention 1 \ --partition-count 4 $ az eventhubs eventhub consumer-group create \ --resource-group "aws-securityhub-integration" \ --namespace-name "aws-securityhub-account-id" \ --eventhub-name "activitylog" \ --name "AWSConfig"
创建事件中心后,标记要发现的命名空间并分配数据接收者角色:
$az tag create \ --resource-idnamespace-resource-id\ --tags "AWSConfig-account-id-region=activitylog" $ az role assignment create \ --assigneeapplication-client-id\ --role "Azure Event Hubs Data Receiver" \ --scopenamespace-resource-id
关键配置:
命名空间 SKU-标准(使用者组必填)。
事件中心名称 —
activitylog.消费者群体 —
AWSConfig.标签-
AWSConfig-带值account-id-regionactivitylog。使用此标签 AWS Config 可以自动发现事件中心。角色分配-命名空间上的 Azure 事件中心数据接收器。
注意
标签格式account-id是AWSConfig-您的 12 位 AWS 账户标识符,account-id-regionregion也是您创建连接器所在的 AWS 区域(例如us-east-1)。
步骤 7:配置活动日志和Entra ID审计日志导出
将 Azure 配置为将活动日志和Entra ID审核日志导出到事件中心。
活动日志导出:
在每个订阅上配置诊断设置,将活动日志导出到事件中心。安装脚本会自动为所有受监控的订阅进行配置。活动日志捕获订阅级别的活动,包括角色分配和资源更改。
Entra ID审计日志导出:
将诊断设置配置Microsoft Entra ID为可将审核日志导出到同一个事件中心。导航至 Microsoft Entra ID> 监控 > 诊断设置 > 添加诊断设置。启用它们AuditLogs并将其路由到您的事件中心。
运行安装脚本
要运行 Azure 安装脚本,请执行以下操作:
打开已通过 Azure 租户身份验证的 Azure CLI 的终端 (
az login)。您必须拥有目标订阅的 “贡献者” 和 “所有者” 权限。从 Amazon Inspector 控制台复制安装脚本(在创建连接器期间生成)。
运行安装脚本。该脚本完成了上述 Azure 环境设置。
脚本成功完成后,返回 Amazon Inspector 控制台完成连接器的创建。
重要
如果您稍后更改连接器范围(例如,添加新的 Azure 区域),则控制台会重新生成安装脚本,以便在新区域中配置事件中心基础架构。必须重新运行更新的脚本。