Amazon Macie のアイデンティティベースのポリシー例 - Amazon Macie

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Macie のアイデンティティベースのポリシー例

デフォルトでは、ユーザーおよびロールには、Macie リソースを作成または変更するアクセス許可はありません。また、AWS Management Console、AWS Command Line InterfaceAWS CLI、または AWS API を使用してタスクを実行することもできません。IAM 管理者は、リソースで必要なアクションを実行するためのアクセス許可をユーザーに付与する IAM ポリシーを作成できます。その後、管理者はロールに IAM ポリシーを追加し、ユーザーはロールを引き継ぐことができます。

これらサンプルの JSON ポリシードキュメントを使用して、IAM アイデンティティベースのポリシーを作成する方法については、IAM ユーザーガイドIAM ポリシーの作成を参照してください。

Macie が定義するアクションとリソースタイプ (リソースタイプごとの ARN の形式を含む) の詳細については、サービス認可リファレンスのAmazon Macie のアクション、リソース、および条件キーを参照してください。

ポリシーを作成したら、ポリシーを保存する前に、AWS Identity and Access Management Access Analyzer (IAM Access Analyzer) からのセキュリティ警告、エラー、一般的な警告、および提案を解決してください。IAM Access Analyzer は、IAM ポリシーの文法およびベストプラクティス に対してポリシーチェックを行います。これらのチェックにより、機能的でセキュリティのベストプラクティスに準拠したポリシーを作成するのに、役立つ結果と実行可能なレコメンデーションが示されます。IAM Access Analyzer を使用したポリシーの検証の詳細については、IAM ユーザーガイドのIAM Access Analyzer のポリシーの検証を参照してください。IAM Access Analyzer が返すことのできる警告、エラー、および提案のリストを確認するには、IAM ユーザーガイドの IAM Access Analyzer ポリシーチェックリファレンスを参照してください。

ポリシーのベストプラクティス

ID ベースのポリシーは、ユーザーのアカウントで誰かが Macie リソースを作成、アクセス、または削除できるどうかを決定します。これらのアクションを実行すると、AWS アカウント に追加料金が発生する可能性があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください。

  • AWS マネージドポリシーを使用して開始し、最小特権の許可に移行する – ユーザーとワークロードへの許可の付与を開始するには、多くの一般的なユースケースのために許可を付与する AWS マネージドポリシーを使用します。これらは AWS アカウント で使用できます。ユースケースに応じた AWS カスタマーマネージドポリシーを定義することで、許可をさらに減らすことをお勧めします。詳細については、IAM ユーザーガイドAWS マネージドポリシーまたはAWS ジョブ機能の管理ポリシーを参照してください。

  • 最小特権を適用する – IAM ポリシーで許可を設定するときは、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、IAM ユーザーガイドIAM でのポリシーとアクセス許可を参照してください。

  • IAM ポリシーで条件を使用してアクセスをさらに制限する – ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。例えば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定することができます。また、AWS のサービス などの特定の AWS CloudFormation を介して使用する場合、条件を使用してサービスアクションへのアクセスを許可することもできます。詳細については、IAM ユーザーガイドIAM JSON policy elements: Condition (IAM JSON ポリシー要素:条件) を参照してください。

  • IAM Access Analyzer を使用して IAM ポリシーを検証し、安全で機能的な許可を確保する - IAM Access Analyzer は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM Access Analyzer は 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーを作成できるようサポートします。詳細については、IAM ユーザーガイドIAM Access Analyzer ポリシーの検証を参照してください。

  • 多要素認証 (MFA) を要求する – AWS アカウント で IAM ユーザーまたはルートユーザーを要求するシナリオがある場合は、セキュリティを強化するために MFA をオンにします。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに 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 アクセス許可も付与します。これらのアクセス許可により、ユーザーは既存のジョブの詳細にアクセスできます。これらのアクセス許可はジョブの作成には必要ありませんが、これらの詳細にアクセスできると、ユーザーが独自の設定設定を持つジョブを作成するのに役立ちます。

この例の 2 番目のステートメントでは、ユーザーは 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 のアクセス許可を付与します。これらのアクセス許可により、ユーザーはそれぞれジョブの詳細を取得したり、ジョブのステータスを変更したりできます。2 番目のステートメントはユーザーに 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 CloudWatch Logs に公開するロギングデータ (ログイベント) にユーザーがアクセスできるようにすることもできます。そのためには、ロググループで 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 Logs のアクセス管理の詳細については、Amazon CloudWatch Logs ユーザーガイドのCloudWatch Logs リソースへの許可の管理の概要を参照してください。

例:ユーザーに検出結果を確認するのを許可する

この例では、ユーザーに結果データへのアクセスを許可するポリシーを作成する方法を示しています。

この例では、macie2:GetFindings および macie2:GetFindingStatistics アクセス権限により、ユーザーは Amazon 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:UpdateFindingsFilter および macie2: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 リソースへのアクセスを制御できます。この例では、ユーザーが Amazon 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-roe また owner=richard-roe はのタグを付ける必要があります。それ以外の場合、ユーザーはアクセスを拒否されます。条件キー名では大文字と小文字は区別されないため、条件タグキー OwnerOwnerowner に一致します。詳細については、IAM ユーザーガイドIAM JSON ポリシー要素: 条件を参照してください。