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

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

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

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

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

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

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

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

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

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

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

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

バケットポリシーは通常、明示的な Allow または Deny ステートメントと条件を使用してアクセス権を付与または制限します。例えば、バケットポリシーには、特定の送信元 IP アドレス、Amazon Virtual Private Cloud (Amazon VPC) エンドポイント、またはバケットへのアクセスVPCsに使用されていない限り、バケットへのアクセスを拒否する Allowまたは Denyステートメントが含まれている場合があります。バケットポリシーを使用してバケットへのアクセスを許可または制限する方法については、Amazon S3 のバケットポリシー」および「Amazon S3 がリクエストを承認する方法」を参照してください。

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

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

Macie が制限付きバケットポリシーを持つバケットにアクセスすることを許可するために、Macie のサービスにリンクされたロール AWSServiceRoleForAmazonMacie の条件をバケットポリシーに追加できます。その条件により、Macie のサービスにリンクされたロールをポリシーの Deny 制限との一致から除外できます。これを行うには、Macie サービスにリンクされたロールaws:PrincipalArnのグローバル条件コンテキストキーと 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 グローバル条件コンテキストキーを使用し、 の Macie サービスにリンクされたロールARNの を指定する条件を追加します AWS アカウント。

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

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

以下は、明示的な Denyステートメントを使用して DOC-EXAMPLE-BUCKET という名前の S3 バケットへのアクセスを制限するバケットポリシーの例です。現在のポリシーでは、ID が であるVPCエンドポイントからのみバケットにアクセスできますvpce-1a2b3c4d。 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 ユーザーガイド」の「アクセス管理」を参照してください。