Macie 基于身份的策略示例 - Amazon Macie

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Macie 基于身份的策略示例

默认情况下,用户和角色没有创建或修改 Macie 资源的权限。他们也无法使用 AWS Management Console、 AWS Command Line Interface (AWS CLI) 或来执行任务 AWS API。要授予用户对其所需资源执行操作的权限,IAM管理员可以创建IAM策略。然后,管理员可以将IAM策略添加到角色中,用户可以代入这些角色。

要了解如何使用这些示例策略文档创建IAM基于身份的JSON策略,请参阅IAM用户指南中的创建IAM策略

有关 Macie 定义的操作和资源类型(包括每种资源类型的格式)的详细信息,请参阅《服务授权参考》中的 Amazon Macie 的操作、资源和条件密钥。ARNs

创建策略时,请务必先解决 AWS Identity and Access Management Access Analyzer (A IAM ccess Analyzer)中的安全警告、错误、一般警告和建议,然后再保存策略。IAMAccess Analyzer 会运行策略检查,根据IAM策略语法最佳实践来验证策略。这些检查项生成结果并提供可操作的建议,可帮助您编写可操作且符合安全最佳实践的策略。要了解如何使用 A IAM ccess Analyzer 验证策略,请参阅《IAM用户指南》中的 A IAMccess Analyzer 策略验证。要查看 A IAM ccess Analyzer 可能返回的警告、错误和建议的列表,请参阅《IAM用户指南》中的 A IAMccess Analyzer 策略检查参考

策略最佳实践

基于身份的策略确定某个人是否可以创建、访问或删除您账户中的 Macie 资源。这些操作可能会使 AWS 账户产生成本。创建或编辑基于身份的策略时,请遵循以下指南和建议:

  • 开始使用 AWS 托管策略并转向最低权限权限 — 要开始向用户和工作负载授予权限,请使用为许多常见用例授予权限的AWS 托管策略。它们在你的版本中可用 AWS 账户。我们建议您通过定义针对您的用例的 AWS 客户托管策略来进一步减少权限。有关更多信息,请参阅《IAM用户指南》中的AWS 托AWS 管策略或工作职能托管策略。

  • 应用最低权限权限-使用IAM策略设置权限时,仅授予执行任务所需的权限。为此,您可以定义在特定条件下可以对特定资源执行的操作,也称为最低权限许可。有关使用应用权限IAM的更多信息,请参阅IAM用户指南IAM中的策略和权限

  • 使用IAM策略中的条件进一步限制访问权限-您可以在策略中添加条件以限制对操作和资源的访问权限。例如,您可以编写一个策略条件来指定所有请求都必须使用发送SSL。如果服务操作是通过特定的方式使用的,则也可以使用条件来授予对服务操作的访问权限 AWS 服务,例如 AWS CloudFormation。有关更多信息,请参阅《IAM用户指南》中的IAMJSON策略元素:条件

  • 使用 A IAM ccess Analyzer 验证您的IAM策略以确保权限的安全性和功能性 — A IAM ccess Analyzer 会验证新的和现有的策略,以便策略符合IAM策略语言 (JSON) 和IAM最佳实践。IAMAccess Analyzer 提供了 100 多项策略检查和可行的建议,可帮助您制定安全和实用的策略。有关更多信息,请参阅《IAM用户指南》中的 IAMAccess Analyzer 策略验证

  • 需要多重身份验证 (MFA)-如果您的场景需要IAM用户或 root 用户 AWS 账户,请打开MFA以提高安全性。要要求MFA何时调用API操作,请在策略中添加MFA条件。有关更多信息,请参阅《IAM用户指南》中的配置MFA受保护的API访问权限

有关中最佳做法的更多信息IAM,请参阅《IAM用户指南》IAM中的安全最佳实践

使用 Amazon Macie 控制台

要访问 Amazon Macie 控制台,您必须具有一组最低的权限。这些权限必须允许您列出和查看有关您 AWS 账户的 Macie 资源的详细信息。如果创建比必需的最低权限更为严格的基于身份的策略,对于附加了该策略的实体(用户或角色),控制台将无法按预期正常运行。

您无需为仅拨打 AWS CLI 或的用户设置最低控制台权限 AWS API。相反,只允许访问与他们尝试执行的API操作相匹配的操作。

为确保用户和角色可以使用 Amazon Macie 控制台,请创建为他们提供控制台访问权限的IAM策略。有关更多信息,请参阅《IAM用户指南》IAM中的策略和权限

如果您创建的策略允许用户或角色使用 Amazon Macie 控制台,请确保该策略允许执行 macie2:GetMacieSession 操作。否则,这些用户或角色将无法访问控制台上的任何 Macie 资源或数据。

另请确保该策略允许为这些用户或角色需要在控制台上访问的资源执行适当的 macie2:List 操作。否则,他们将无法在控制台上导航到这些资源或显示有关这些资源的详细信息。例如,要通过使用控制台查看敏感数据发现作业的详细信息,必须允许用户为该作业执行 macie2:DescribeClassificationJob 操作以及执行 macie2:ListClassificationJobs 操作。如果不允许用户执行 macie2:ListClassificationJobs 操作,则该用户将无法在控制台的作业页面上显示作业列表,因此将无法选择作业来显示其详细信息。要使详细信息包括有关作业使用的自定义数据标识符的信息,还必须允许用户为自定义数据标识符执行 macie2:BatchGetCustomDataIdentifiers 操作。

示例:允许用户查看他们自己的权限

此示例说明如何创建允许IAM用户查看附加到其用户身份的内联和托管策略的策略。此策略包括在控制台上或使用或以编程方式完成此操作的 AWS CLI 权限。 AWS API

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

示例:允许用户创建敏感数据发现作业

此示例展示如何创建允许用户创建敏感数据发现作业的策略。

在示例中,第一条语句向用户授予 macie2:CreateClassificationJob 权限。这些权限允许用户创建作业。该语句还授予 macie2:DescribeClassificationJob 权限。这些权限允许用户访问现有作业的详细信息。尽管创建作业不需要这些权限,但访问这些详细信息可以帮助用户创建具有唯一配置设置的作业。

示例中的第二条语句允许用户通过使用 Amazon Macie 控制台来创建、配置和查看作业。这些 macie2:ListClassificationJobs 权限允许用户在控制台的作业页面上显示现有作业。语句中的所有其他权限允许用户通过使用控制台上的创建作业页面来配置和创建作业。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateAndReviewJobs", "Effect": "Allow", "Action": [ "macie2:CreateClassificationJob", "macie2:DescribeClassificationJob" ], "Resource": "arn:aws:macie2:*:*:classification-job/*" }, { "Sid": "CreateAndReviewJobsOnConsole", "Effect": "Allow", "Action": [ "macie2:ListClassificationJobs", "macie2:ListAllowLists", "macie2:ListCustomDataIdentifiers", "macie2:ListManagedDataIdentifiers", "macie2:SearchResources", "macie2:DescribeBuckets" ], "Resource": "*" } ] }

示例:允许用户管理敏感数据发现作业

此示例展示如何创建策略,以允许用户访问特定敏感数据发现作业(该作业 ID 为 3ce05dbb7ec5505def334104bexample)的详细信息。该示例还允许用户根据需要更改作业的状态。

在示例中,第一条语句向用户授予 macie2:DescribeClassificationJobmacie2:UpdateClassificationJob 权限。这些权限分别允许用户检索作业的详细信息和更改作业的状态。第二条语句向用户授予 macie2:ListClassificationJobs 权限,允许用户通过使用 Amazon Macie 控制台上的作业页面访问作业。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ManageOneJob", "Effect": "Allow", "Action": [ "macie2:DescribeClassificationJob", "macie2:UpdateClassificationJob" ], "Resource": "arn:aws:macie2:*:*:classification-job/3ce05dbb7ec5505def334104bexample" }, { "Sid": "ListJobsOnConsole", "Effect": "Allow", "Action": "macie2:ListClassificationJobs", "Resource": "*" } ] }

您也可以允许用户访问 Macie 为该任务发布到 Amazon Logs 的日志数据( CloudWatch 日志事件)。为此,您可以添加语句,授予对作业的 CloudWatch 日志组和流执行日志 (logs) 操作的权限。例如:

"Statement": [ { "Sid": "AccessLogGroupForMacieJobs", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": "arn:aws:logs:*:*:log-group:aws/macie/classificationjobs" }, { "Sid": "AccessLogEventsForOneMacieJob", "Effect": "Allow", "Action": "logs:GetLogEvents", "Resource": [ "arn:aws:logs:*:*:log-group:aws/macie/classificationjobs/*", "arn:aws:logs:*:*:log-group:aws/macie/classificationjobs:log-stream:3ce05dbb7ec5505def334104bexample" ] } ]

有关管理 CloudWatch 日志访问权限的信息,请参阅 Amazon Logs 用户指南中的管理 CloudWatch CloudWatch 日志资源访问权限概述

示例:允许用户查看调查发现

此示例展示如何创建允许用户访问调查发现数据的策略。

在此示例中,macie2:GetFindingsmacie2:GetFindingStatistics权限允许用户使用亚马逊 Macie API 或 Amazon Macie 控制台检索数据。这些 macie2:ListFindings 权限允许用户通过使用 Amazon Macie 控制台上的摘要控制面板和调查发现页面来检索和查看数据。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReviewFindings", "Effect": "Allow", "Action": [ "macie2:GetFindings", "macie2:GetFindingStatistics", "macie2:ListFindings" ], "Resource": "*" } ] }

您也可以允许用户为调查发现创建和管理筛选规则和抑制规则。为此,您可以包括一条语句来授予以下权限:macie2:CreateFindingsFiltermacie2:GetFindingsFiltermacie2:UpdateFindingsFiltermacie2:DeleteFindingsFilter。要允许用户通过使用 Amazon Macie 控制台来管理规则,还需要在策略中包括 macie2:ListFindingsFilters 权限。例如:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReviewFindings", "Effect": "Allow", "Action": [ "macie2:GetFindings", "macie2:GetFindingStatistics", "macie2:ListFindings" ], "Resource": "*" }, { "Sid": "ManageRules", "Effect": "Allow", "Action": [ "macie2:GetFindingsFilter", "macie2:UpdateFindingsFilter", "macie2:CreateFindingsFilter", "macie2:DeleteFindingsFilter" ], "Resource": "arn:aws:macie2:*:*:findings-filter/*" }, { "Sid": "ListRulesOnConsole", "Effect": "Allow", "Action": "macie2:ListFindingsFilters", "Resource": "*" } ] }

示例:允许用户查看基于标签的自定义数据标识符

在基于身份的策略中,您可以使用条件根据标签控制对 Amazon Macie 资源的访问。此示例说明如何创建允许用户使用亚马逊 Macie 控制台或 Amazon Macie 查看自定义数据标识符的策略。API但是,仅当Owner标签的值为用户的用户名时才会授予权限。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReviewCustomDataIdentifiersIfOwner", "Effect": "Allow", "Action": "macie2:GetCustomDataIdentifier", "Resource": "arn:aws:macie2:*:*:custom-data-identifier/*", "Condition": { "StringEquals": {"aws:ResourceTag/Owner": "${aws:username}"} } }, { "Sid": "ListCustomDataIdentifiersOnConsoleIfOwner", "Effect": "Allow", "Action": "macie2:ListCustomDataIdentifiers", "Resource": "*", "Condition": { "StringEquals": {"aws:ResourceTag/Owner": "${aws:username}"} } } ] }

在此示例中,如果拥有用户名 richard-roe 的用户尝试查看自定义数据标识符的详细信息,则必须将自定义数据标识符标记为 Owner=richard-roeowner=richard-roe。否则,该用户将被拒绝访问。条件标签密钥 OwnerOwnerowner 都匹配,因为条件密钥名称不区分大小写。有关更多信息,请参阅《IAM用户指南》中的IAMJSON策略元素:条件