将 IAM Access Analyzer 与 AWS Security Hub 集成 - AWS Identity and Access Management

将 IAM Access Analyzer 与 AWS Security Hub 集成

AWS Security Hub 提供跨 AWS 的安全状态的全面视图。它可以帮助您根据安全行业标准和最佳实践评估您的环境。Security Hub 从 AWS 账户、服务和受支持的第三方合作伙伴产品中收集安全数据。然后,它会分析您的安全趋势并确定最高优先级的安全问题。

当将 IAM Access Analyzer 与 Security Hub 集成时,您可以将调查发现从 IAM Access Analyzer 发送到 Security Hub。随后,Security Hub 可以将这些调查发现纳入对您的总体安全状况的分析中。

IAM Access Analyzer 如何向 Security Hub 发送调查发现

在 Security Hub 中,安全问题按调查结果进行跟踪。一些检查结果来自其他 AWS 服务或第三方合作伙伴检测到的问题。Security Hub 还有一套用于检测安全问题和生成结果的规则。

Security Hub 提供了管理来自所有这些来源的结果的工具。您可以查看和筛选调查发现列表,并查看有关每个调查发现的详细信息。有关更多信息,请参阅 AWS Security Hub 用户指南中的查看结果。您还可以跟踪调查发现的调查状态。有关更多信息,请参阅 AWS Security Hub 用户指南对结果采取行动

Security Hub 中的所有结果都使用标准 JSON 格式,称为 AWS 安全结果格式 (ASFF)。ASFF 包含有关问题根源、受影响资源以及调查发现当前状态的详细信息。有关更多信息,请参阅 AWS Security Hub 用户指南中的 AWS Security Finding 格式 (ASFF)

AWS Identity and Access Management Access Analyzer 是一项 AWS 服务,可将调查发现发送到 Security Hub。对于未使用的访问权限,IAM Access Analyzer 会检测授予 IAM 用户或角色的未使用访问权限并为每个用户或角色生成调查发现。然后,IAM Access Analyzer 将这些调查发现发送到 Security Hub。

对于外部访问,IAM Access Analyzer 会检测允许外部主体对组织或账户中的受支持资源进行公共访问或跨账户访问的策略语句。IAM Access Analyzer 会生成公开访问的调查发现,然后将其发送到 Security Hub。对于跨账户存取,IAM Access Analyzer 一次只能向 Security Hub 发送一个外部主体的单个调查发现。如果 IAM Access Analyzer 中有多个跨账户调查发现,则在 IAM Access Analyzer 提供下一个跨账户调查发现之前,您必须先解析单个外部主体的 Security Hub 调查发现。若要查看分析器信任区域之外具有跨账户访问权限的外部主体的完整列表,您必须在 IAM Access Analyzer 中查看调查发现。

IAM Access Analyzer 发送的调查发现类型

IAM Access Analyzer 使用 AWS 安全调查发现格式(ASFF)将调查发现发送到 Security Hub。在 ASFF 中,Types 字段提供结果类型。IAM Access Analyzer 的调查发现可能具有以下 Types 值。

  • 外部访问调查发现 - 影响/数据暴露/授予的外部访问权限

  • 外部访问调查发现 - 软件和配置检查/AWS 安全最佳实践/授予的外部访问权限

  • 未使用的访问调查发现 – 软件和配置检查/AWS 安全最佳实践/未使用的权限

  • 未使用的访问调查发现 - 软件和配置检查/AWS 安全最佳实践/未使用的 IAM 角色

  • 未使用的访问调查发现 - 软件和配置检查/AWS 安全最佳实践/未使用的 IAM 用户密码

  • 未使用的访问调查发现 - 软件和配置检查/AWS 安全最佳实践/未使用的 IAM 用户访问密钥

发送调查发现的延迟

IAM Access Analyzer 创建新的调查调查发现时,通常会在 30 分钟内将其发送到 Security Hub。但是,在极少数情况下,IAM Access Analyzer 可能不会收到有关策略更改的通知。例如:

  • 对 Amazon S3 账户级别阻止公共访问设置的更改可能需要长达 12 小时才能反映在 IAM Access Analyzer 中。

  • 如果 AWS CloudTrail 日志传输存在传输问题,则策略更改可能不会触发对调查发现中报告的资源进行重新扫描。

在这些情况下,IAM Access Analyzer 会在下一次定期扫描时分析新的或更新后的策略。

Security Hub 不可用时重试

如果 Security Hub 不可用,IAM Access Analyzer 会定期重试发送调查发现。

更新 Security Hub 中的现有 结果

将调查发现发送到 Security Hub 后,IAM Access Analyzer 会继续将反映对调查发现活动的任何其他观测结果的更新发送到 Security Hub。这些更新反映在同一调查发现中。

对于外部访问调查发现,IAM Access Analyzer 按资源对其进行分组。在 Security Hub 中,如果 IAM Access Analyzer 中针对该资源的至少一项调查发现处于活动状态,则该资源的调查发现将保持活动状态。如果 IAM Access Analyzer 中某个资源的所有调查发现都已存档或解决,则 Security Hub 调查发现也会存档。当策略访问在公共访问和跨账户访问之间发生变化时,Security Hub 调查发现将更新。此更新可能包括对结果的类型、标题、描述和严重性的更改。

对于未使用访问调查发现,IAM Access Analyzer 不会按资源对其进行分组。相反,如果在 IAM Acccess Analyzer 中解决了未使用访问调查发现,则 Security Hub 调查发现也将得到解决。当您更新生成未使用的访问调查发现的 IAM 用户或角色时,Security Hub 调查发现也会更新。

在 Security Hub 中查看 IAM Access Analyzer 调查发现

要在 Security Hub 中查看 IAM Access Analyzer 调查发现,请在摘要页面的 AWS: IAM Access Analyzer 部分中选择查看调查发现。或者,您可以从导航面板中选择 Findings(结果)。然后,您可以通过选择值为的 IAM Access AnalyzerProduct name:(产品名称:)字段来筛选结果,以便仅显示 AWS Identity and Access Management Access Analyzer 结果。

解释 Security Hub 中的 IAM Access Analyzer 调查发现名称

AWS Identity and Access Management Access Analyzer 使用 AWS 安全调查发现格式(ASFF)将调查发现发送到 Security Hub。在 ASFF 中,Types(类型)字段提供结果类型。ASFF 使用与 AWS Identity and Access Management Access Analyzer 不同的命名方案。下表包含与 Security Hub 中显示的 AWS Identity and Access Management Access Analyzer 调查发现关联的所有 ASFF 类型的详细信息。

ASFF 结果类型 Security Hub 结果标题 描述
效果/数据泄漏/外部访问已授权 <resource ARN> 允许公开访问 附加到资源的基于资源的策略允许所有外部主体对资源的公开访问。
软件和配置检查/AWS 安全最佳实践/外部访问已授权 <resource ARN> 允许跨账户访问 附加到资源的基于资源的策略允许跨账户访问分析器信任区之外的外部主体。
软件和配置检查/AWS 安全最佳实践/未使用的权限 <resource ARN> 包含未使用的权限 用户或角色包含未使用的服务和操作权限。
软件和配置检查/AWS 安全最佳实践/未使用的 IAM 角色 <resource ARN> 包含未使用的 IAM 角色 用户或角色包含未使用的 IAM 角色。
软件和配置检查/AWS 安全最佳实践/未使用的 IAM 用户密码 <resource ARN> 包含未使用的 IAM 用户密码 用户或角色包含未使用的 IAM 用户密码。
软件和配置检查/AWS 安全最佳实践/未使用的 IAM 用户访问密钥 <resource ARN> 包含未使用的 IAM 用户访问密钥 用户或角色包含未使用的 IAM 用户访问密钥。

IAM Access Analyzer 的典型调查发现

IAM Access Analyzer 使用 AWS 安全调查发现格式(ASFF)将调查发现发送到 Security Hub。

以下是 IAM Access Analyzer 针对外部访问调查发现的典型调查发现示例。

{ "SchemaVersion": "2018-10-08", "Id": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/my-analyzer/arn:aws:s3:::amzn-s3-demo-bucket", "ProductArn": "arn:aws:securityhub:us-west-2::product/aws/access-analyzer", "GeneratorId": "aws/access-analyzer", "AwsAccountId": "111122223333", "Types": ["Software and Configuration Checks/AWS Security Best Practices/External Access Granted"], "CreatedAt": "2020-11-10T16:17:47Z", "UpdatedAt": "2020-11-10T16:43:49Z", "Severity": { "Product": 1, "Label": "LOW", "Normalized": 1 }, "Title": "AwsS3Bucket/arn:aws:s3:::amzn-s3-demo-bucket/ allows cross-account access", "Description": "AWS::S3::Bucket/arn:aws:s3:::amzn-s3-demo-bucket/ allows cross-account access from AWS 444455556666", "Remediation": { "Recommendation": {"Text": "If the access isn't intended, it indicates a potential security risk. Use the console for the resource to modify or remove the policy that grants the unintended access. You can use the Rescan button on the Finding details page in the Access Analyzer console to confirm whether the change removed the access. If the access is removed, the status changes to Resolved."} }, "SourceUrl": "https://console.aws.amazon.com/access-analyzer/home?region=us-west-2#/findings/details/dad90d5d-63b4-6575-b0fa-ef9c556ge798", "Resources": [ { "Type": "AwsS3Bucket", "Id": "arn:aws:s3:::amzn-s3-demo-bucket", "Details": { "Other": { "External Principal Type": "AWS", "Condition": "none", "Action Granted": "s3:GetObject,s3:GetObjectVersion", "External Principal": "444455556666" } } } ], "WorkflowState": "NEW", "Workflow": {"Status": "NEW"}, "RecordState": "ACTIVE" }

以下是 IAM Access Analyzer 针对未使用的访问调查发现的典型调查发现示例。

{ "Findings": [ { "SchemaVersion": "2018-10-08", "Id": "arn:aws:access-analyzer:us-west-2:111122223333:analyzer/integTestAnalyzer-DO-NOT-DELETE/arn:aws:iam::111122223333:role/TestRole/UnusedPermissions", "ProductArn": "arn:aws:securityhub:us-west-2::product/aws/access-analyzer", "ProductName": "IAM Access Analyzer", "CompanyName": "AWS", "Region": "us-west-2", "GeneratorId": "aws/access-analyzer", "AwsAccountId": "111122223333", "Types": [ "Software and Configuration Checks/AWS Security Best Practices/Unused Permission" ], "CreatedAt": "2023-09-18T16:29:09.657Z", "UpdatedAt": "2023-09-21T20:39:16.651Z", "Severity": { "Product": 1, "Label": "LOW", "Normalized": 1 }, "Title": "AwsIamRole/arn:aws:iam::111122223333:role/IsengardRole-DO-NOT-DELETE/ contains unused permissions", "Description": "AWS::IAM::Role/arn:aws:iam::111122223333:role/IsengardRole-DO-NOT-DELETE/ contains unused service and action-level permissions", "Remediation": { "Recommendation": { "Text":"If the unused permissions aren’t required, delete the permissions to refine access to your account. Use the IAM console to modify or remove the policy that grants the unused permissions. If all the unused permissions are removed, the status of the finding changes to Resolved." } }, "SourceUrl": "https://us-west-2.console.aws.amazon.com/access-analyzer/home?region=us-west-2#/unused-access-findings?resource=arn%3Aaws%3Aiam%3A%3A903798373645%3Arole%2FTestRole", "ProductFields": { "numberOfUnusedActions": "256", "numberOfUnusedServices": "15", "resourceOwnerAccount": "111122223333", "findingId": "DEMO24d8d-0d3f-4d3d-99f4-299fc8a62ee7", "findingType": "UnusedPermission", "aws/securityhub/FindingId": "arn:aws:securityhub:us-west-2::product/aws/access-analyzer/arn:aws:access-analyzer:us-west-2:111122223333:analyzer/integTestAnalyzer-DO-NOT-DELETE/arn:aws:iam::111122223333:role/TestRole/UnusedPermissions", "aws/securityhub/ProductName": "AM Access Analyzer", "aws/securityhub/CompanyName": "AWS" }, "Resources": [ { "Type": "AwsIamRole", "Id": "arn:aws:iam::111122223333:role/TestRole" } ], "WorkflowState": "NEW", "Workflow": { "Status": "NEW" }, "RecordState": "ARCHIVED", "FindingProviderFields": { "Severity": { "Label": "LOW" }, "Types": [ "Software and Configuration Checks/AWS Security Best Practices/Unused Permission" ] } } ] }

启用和配置集成

若要使用与 Security Hub 的集成,您必须启用 Security Hub。有关如何启用 Security Hub 的信息,请参阅 AWS Security Hub 用户指南中的设置 Security Hub

当您同时启用 IAM Access Analyzer 和 Security Hub 时,集成将自动启用。IAM Access Analyzer 立即开始将调查发现发送到 Security Hub。

如何停止发送调查发现

要停止向 Security Hub 发送结果,您可以使用 Security Hub 控制台或 API。

请参阅 AWS Security Hub 用户指南中的禁用和启用来自集成的结果流(控制台)禁用来自集成的结果流(Security Hub API、AWS CLI)