Amazon Macie が S3 バケットおよびオブジェクトにアクセスすることを許可する - Amazon Macie

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

Amazon Macie が S3 バケットおよびオブジェクトにアクセスすることを許可する

AWS アカウント でAmazon Macie を有効化すると、Macieは service-linked role (サービスにリンクされたロール) を作成し、これにより、Amazon Simple Storage Service (Amazon S3) および他の AWS のサービス をユーザーに代わってコールするために必要なアクセス許可が Macie に付与されます。サービスにリンクされたロールを使用すると、サービスが自動でアクションを完了させるのに、アクセス許可を手動で追加する必要がないため、AWS のサービス の設定プロセスが簡単になります。このタイプのロールの詳細については、AWS Identity and Access Management ユーザーガイドサービスにリンクされたロールの使用を参照してください。

Macie のサービスにリンクされたロールAWSServiceRoleForAmazonMacie のアクセス許可ポリシーにより、Macie が S3 バケットとオブジェクトに関する情報の取得およびバケット内のオブジェクトからの取得を含むアクションを実行することを許可します。ユーザーが組織の Macie 管理者である場合、ポリシーにより Macie が組織のメンバーアカウントに対してユーザーの代わりにこれらのアクションを実行することも許可します。

Macie は、次のようなタスクを実行するためにこれらの許可を使用します。

  • S3 バケットのインベントリを生成して維持する

  • バケットおよびバケット内のオブジェクトに関する統計およびその他のデータを提供する

  • バケットのセキュリティとアクセスコントロールをモニタリングして評価する

  • バケット内のオブジェクトを分析して機密データを検出する

ほとんどの場合、Macie はこれらのタスクを実行するために必要なアクセス許可を持っています。ただし、S3 バケットが制限付きバケットポリシーを持つ場合、ポリシーにより Macie がこれらのタスクの一部またはすべてを実行することを妨げる場合があります。

バケットポリシーは、プリンシパル(ユーザー、アカウント、サービス、または他のエンティティ)がS3バケット上で実行できるアクションと、プリンシパルがそれらのアクションを実行できる条件を指定する、リソースベースのAWS Identity and Access Management(IAM)ポリシーです。アクションと条件は、バケットに関する情報の取得などのバケットレベルのオペレーションや、バケットからのオブジェクトの取得などのオブジェクトレベルのオペレーションに適用できます。

バケットポリシーは通常、明示的な Allow または Deny ステートメントと条件を使用してアクセス権を付与または制限します。たとえば、バケットポリシーには、特定のソース IP アドレス、Amazon Virtual Private Cloud (Amazon VPC) エンドポイント、または VPC がバケットにアクセスするために使用されていない限り、バケットへのアクセスを拒否する Allow または Denyステートメントが含まれる場合があります。バケットポリシーを使用してバケットにアクセス権を付与または制限する方法の詳細については、Amazon Simple Storage Service ユーザーガイドバケットポリシーとユーザーポリシーAmazon S3 がリクエストを許可する方法を参照してください。

バケットポリシーが明示的な Allow ステートメントを使用する場合、ポリシーは、Macie がバケットとバケットのオブジェクトに関する情報を取得したり、バケットからオブジェクトを取得したりすることを妨げません。これは、Macie のサービスにリンクされたロールのアクセス許可ポリシーの Allow ステートメントが、これらのアクセス許可を付与するからです。

ただし、バケットポリシーが 1 つ以上の条件を持つ明示的な Deny ステートメントを使用する場合、Macie はバケットまたはバケットのオブジェクトに関する情報を取得したり、バケットのオブジェクトを取得したりすることを許可されない場合があります。たとえば、バケットポリシーが特定の IP アドレスを除くすべてのソースからのアクセスを明示的に拒否した場合、Macie は機密データ検出ジョブを実行するときにバケットのオブジェクトを分析することを許可されなくなります。これは、制限付きバケットポリシーが、Macie のサービスにリンクされたロールのアクセス許可ポリシーの Allow ステートメントより優先されるからです。

Macie が制限付きバケットポリシーを持つバケットにアクセスすることを許可するために、Macie のサービスにリンクされたロール AWSServiceRoleForAmazonMacie の条件をバケットポリシーに追加できます。その条件により、Macie のサービスにリンクされたロールをポリシーの Deny 制限との一致から除外できます。これは、aws:PrincipalArn グローバル条件キー および Macie のサービスにリンクされたロールの Amazon リソースネーム (ARN) を使用して行うことができます。

次の手順では、このプロセスについて説明し、例を示します。

Macie のサービスにリンクされたロールをバケットポリシーに追加するには
  1. AWS Management Console にサインインし、Amazon S3 コンソール https://console.aws.amazon.com/s3/ を開きます。

  2. ナビゲーションペインで、バケットを選択します。

  3. Macie がアクセスすることを許可する S3 バケットを選択します。

  4. アクセス許可タブの バケットポリシー編集をクリックします。

  5. バケットポリシーエディタで、アクセスを制限し、Macie がバケットまたはバケットのオブジェクトにアクセスすることを妨げるそれぞれの Deny ステートメントを特定します。

  6. それぞれの Deny ステートメントで、aws:PrincipalArn グローバル条件コンテキストキーを使用する条件を追加し、AWS アカウント の Macie のサービスにリンクされたロールの ARN を指定します。

    条件キーの値は arn:aws:iam::123456789012:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie である必要があります。ここで、AWS アカウント のアカウント ID は 123456789012 です。

これをバケットポリシーのどこに追加するかは、ポリシーに現在含まれている構造、要素、および条件によって異なります。サポートされている構造と要素の詳細については、Amazon Simple Storage Service ユーザーガイドAmazon S3 のポリシーとアクセス許可を参照してください。

DOC-EXAMPLE-BUCKETという名前の S3 バケットへのアクセスを制限するための明示的な Deny ステートメントを使用するバケットポリシーの例を次に示します。現在のポリシーでは、バケットには ID が vpce-1a2b3c4d である VPC エンドポイントからのみアクセスできます。AWS Management Console および Macie からを含め、その他のすべての VPC エンドポイントからのアクセスは拒否されます。

{ "Version": "2012-10-17", "Id": "Policy1415115example", "Statement": [ { "Sid": "Access from specific VPCE only", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ], "Condition": { "StringNotEquals": { "aws:SourceVpce": "vpce-1a2b3c4d" } } } ] }

このポリシーを変更し、Macie がバケットとバケットのオブジェクトにアクセスすることを許可するには、StringNotLike 条件演算子aws:PrincipalArn グローバル条件キー を使用する条件を追加できます。この追加の条件により、Macie のサービスにリンクされたロールを Deny 制限との一致から除外します。

{ "Version": "2012-10-17", "Id":" Policy1415115example ", "Statement": [ { "Sid": "Access from specific VPCE and Macie only", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ], "Condition": { "StringNotEquals": { "aws:SourceVpce": "vpce-1a2b3c4d" }, "StringNotLike": { "aws:PrincipalArn": "arn:aws:iam::123456789012:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie" } } } ] }

前の例では、StringNotLike 条件演算子は、aws:PrincipalArn 条件コンテキストキーを使用して、Macie のサービスにリンクされたロールの ARN を指定します。

  • 123456789012 は、Macie を使用してバケットとバケットのオブジェクトに関する情報を取得し、バケット内のオブジェクトを取得することが許可されている AWS アカウント のアカウント ID です。

  • macie.amazonaws.com は、Macie サービスプリンシパルの識別子です。

  • AWSServiceRoleForAmazonMacie は、Macie のサービスにリンクされたロールの名前です。

ポリシーが StringNotEquals 演算子をすでに使用しているため、StringNotLike 演算子が使用されました。ポリシーでは、StringNotEquals 演算子は一度だけ使用できます。

Amazon S3 リソースへのアクセスの管理に関する追加のポリシー例および詳細については、Amazon Simple Storage Service ユーザーガイドAmazon S3 での Identity and Access Managementを参照してください。