

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

# Macie の検出結果を使用して機密データを調査する
<a name="findings-investigate-sd"></a>

機密データ検出結果ジョブを実行するか、Amazon Macieが自動化された機密データ検出結果を実行すると、MacieはAmazon Simple Storage Service (Amazon S3)オブジェクトで見つけた機密データの各オカレンスの場所に関する詳細をキャプチャします。これには、[マネージドデータ識別子](managed-data-identifiers.md)を使用してMacieが検出した機密データや、ジョブまたはMacieが使用するように設定した[カスタムデータ識別子](custom-data-identifiers.md)の条件に一致するデータが含まれます。

機密データの検出結果では、Macieが個々のS3オブジェクトで検出結果した15件もの機密データについて、これらの詳細を確認することができます。詳細は、特定のS3バケットとオブジェクトが含む可能性のある機密データのカテゴリとタイプの広さについての洞察を提供します。オブジェクトに含まれるセンシティブなデータの個々の出現箇所を特定し、特定のバケットやオブジェクトについてより詳細な調査を行うかどうかを判断するのに役立ちます。

さらに詳しい情報を得るために、Macie が個別の検出結果で報告する機密データのサンプルを取得するように設定して使用することもできます。サンプルは、Macie が検出した機密データの性質を確認するのに役立ちます。また、対象の S3 バケットとオブジェクトの調査をカスタマイズするのにも役立ちます。検出結果のために機密データのサンプルを取得することを選択した場合、Macie は検出結果のデータを使用して、検出結果によって報告された各タイプの機密データが 1 ～ 10 件見つかった箇所を特定します。次に、Macie は影響を受けたオブジェクトから機密データのそれらの出現を抽出し、データを表示して確認できるようにします。

S3 オブジェクトに多くの機密データの出現が含まれている場合は、検出結果を使用して、その検出結果の対応する機密データの検出結果に移動することもできます。機密データの検出結果とは異なり、機密データの検出結果は、Macie がオブジェクト内で検出した各タイプの機密データの最大 1,000 件までの出現の詳細な場所データを提供します。Macie は、機密データの調査結果と機密データの検出結果の場所データに同じスキーマを使用します。機密データの検出結果の詳細については、[機密データ検出結果の保存と保持](discovery-results-repository-s3.md)を参照してください。

このセクションのトピックでは、機密データの検出結果によって報告されたセンシティブ・データの出現箇所を検索し、オプションで取得する方法を説明する。また、Macie が見つけた機密データの個別の出現の場所をレポートするために Macie が使用するスキーマについても説明します。

**Topics**
+ [機密データを見つける](findings-locate-sd.md)
+ [機密データのサンプルの取得](findings-retrieve-sd.md)
+ [機密データの場所のスキーマ](findings-locate-sd-schema.md)

# Macie の検出結果を使用して機密データを見つける
<a name="findings-locate-sd"></a>

機密データ検出ジョブを実行するか、Amazon Macie が機密データ自動検出を実行すると、Macie は分析する各 Amazon Simple Storage Service (Amazon S3) オブジェクトの最新バージョンの詳細な検査を実行します。Macie は、深さ優先検索アルゴリズムも使用して、Macie が検出した機密データの 1～15 件の出現の場所に関する詳細をジョブの調査結果に入力します。これらの出現は、影響を受けた S3 バケットおよびオブジェクトに含まれる可能性のある機密データのカテゴリとタイプに関する洞察を提供します。また、この詳細によって、オブジェクト内の機密データの個別の出現を見つけ、特定のバケットやオブジェクトの詳細な調査を行うかどうかを判断することもできます。

機密データの検出結果を使用すると、Macie が影響を受けた S3 オブジェクトで見つけた機密データのうち最大 15 件までの出現の場所を特定できます。これには、Macie が [マネージドデータ識別子](managed-data-identifiers.md)を使用して検出した機密データ、および使用するジョブを設定している任意の [カスタムデータ識別子](custom-data-identifiers.md)の基準に一致するデータが含まれます。

機密データの検出結果は次のような詳細を提供できます。
+ Microsoft Excel ワークブック、CSV ファイル、または TSV ファイルのセルまたはフィールドの列番号と行番号。
+ JSON または JSON Lines ファイル内のフィールドまたは配列へのパス。
+ CSV、JSON、JSON Lines、または TSV ファイル以外の非バイナリテキストファイル (HTML、TXT、XML ファイルなど) 内の行の行番号。
+ Adobe Portable Document Format (PDF) ファイル内のページのページ番号。
+ Apache Avro オブジェクトコンテナまたは Apache Parquet ファイル内のレコードのレコードインデックスとフィールドへのパス。

Amazon Macie コンソールまたは Amazon Macie API を使用してこれらの詳細にアクセスできます。また、Macie が Amazon EventBridge と の両方の他の に発行する検出結果で AWS のサービス、これらの詳細にアクセスすることもできます AWS Security Hub CSPM。Macie がこれらの詳細情報を報告するために使用する JSON 構造については、[機密データの場所を報告するためのスキーマ](findings-locate-sd-schema.md)を参照してください。Macie が他の に発行する検出結果の詳細にアクセスする方法については AWS のサービス、「」を参照してください[調査結果のモニタリングと処理](findings-monitor.md)。

S3 オブジェクトに多くの機密データの出現が含まれている場合は、検出結果を使用して、その検出結果の対応する機密データの検出結果に移動することもできます。機密データの検出結果とは異なり、機密データの検出結果は、Macie がオブジェクト内で検出した各タイプの機密データの最大 1,000 件までの出現の詳細な場所データを提供します。S3 オブジェクトが.tar ファイルや.zip ファイルなどのアーカイブファイルの場合、Macie がアーカイブから抽出した個々のファイルに含まれる機密データも含まれます。(Macie は、機密データの調査結果にこの情報を含めません。) 機密データの検出結果の詳細については、[機密データ検出結果の保存と保持](discovery-results-repository-s3.md)を参照してください。Macie は、機密データの調査結果と機密データの検出結果の場所データに同じスキーマを使用します。

**検出結果を含む機密データを検索するには**  
検出結果によって報告された機密データの出現を見つけるには、Amazon Macie コンソールまたは Amazon Macie API を使用できます。プログラムでこれを行うには、[GetFindings](https://docs.aws.amazon.com/macie/latest/APIReference/findings-describe.html) オペレーションを使用します。特定タイプの機密データが 1 回以上出現した場所に関する詳細が検出結果に含まれている場合、その検出結果に含まれる `occurrences` オブジェクトがその詳細を提供します。詳細については、「[機密データの場所を報告するためのスキーマ](findings-locate-sd-schema.md)」を参照してください。

コンソールを使用して機密データの出現を見つけるには、次の手順に従います。

1. Amazon Macie コンソール ([https://console.aws.amazon.com/macie/](https://console.aws.amazon.com/macie/)) を開きます。

1. ナビゲーションペインで **調査結果**を選択します。
**ヒント**  
特定の機密データ検出ジョブのすべての検出結果をすばやく表示できます。これを行うには、ナビゲーションペインで **ジョブ** を選択し、次にジョブの名前を選択します。詳細パネルの上部で、**結果を表示する** を選択し、次に **調査結果を表示する** を選択します。

1. **調査結果** ページで、見つけたい機密データの調査結果を選択します。詳細パネルに、調査結果の情報が表示されます。

1. 詳細パネルで、**詳細** セクションにスクロールします。このセクションでは、Macie が影響を受けた S3 オブジェクトで見つけた機密データのカテゴリとタイプに関する情報を提供します。Macie が検出した機密データのタイプごとの出現回数も示します。

   例えば、次の画像は、クレジットカード番号の 30 件の出現、名前の 20 件の出現、および米国の社会保障番号の 29 件の出現をレポートする検出結果の詳細を示しています。  
![\[検出結果の詳細フィールドに、3 種類の機密データの出現数が表示されている。\]](http://docs.aws.amazon.com/ja_jp/macie/latest/user/images/scrn-sdf-csv-occurrences.png)

   検出結果に、特定のタイプの機密データのうち 1 つ以上の出現の場所に関する詳細が含まれている場合、出現の数がリンクになります。リンクを選択すると、詳細が表示されます。Macie は新しいウィンドウを開き、詳細を JSON 形式で表示します。

   例えば、次の図は、影響を受ける S3 オブジェクト内のクレジットカード番号が 2 つ出現する場所を示しています。  
![\[S3 オブジェクト内のクレジットカード番号の 2 つの出現に関する JSON 形式のロケーションデータ。\]](http://docs.aws.amazon.com/ja_jp/macie/latest/user/images/scrn-sdf-csv-occurrences-json.png)

   詳細を JSON ファイルとして保存するには、**ダウンロード** を選択し、次にファイルの名前と場所を指定します。

1. すべての検出結果の詳細を JSON ファイルとして保存するには、詳細パネルの上部にある検出結果の識別子 (**検出結果 ID**) を選択します。Macie は新しいウィンドウを開き、すべての詳細を JSON 形式で表示します。**ダウンロード** を選択し、次にファイルの名前と場所を指定します。

影響を受けたオブジェクト内の各タイプの機密データの最大 1,000 件までの出現の場所に関する詳細にアクセスするには、その検出結果に対して対応する機密データの検出結果を参照します。そのためには、パネルの [**詳細**] セクションの先頭までスクロールします。次に、[**詳細結果の場所**] フィールドでリンクを選択します。Macie は Amazon S3 コンソールを開き、対応する検出結果を含むファイルまたはフォルダーを表示します。

# Macie の検出結果を使用して機密データのサンプルを取得する
<a name="findings-retrieve-sd"></a>

Amazon Macie が検出結果で報告する機密データの性質を検証するために、必要に応じ、Macie を設定して使用し、個々の検出結果によって報告された機密データのサンプルを取得して公開することができます。これには、Macie が [マネージドデータ識別子](managed-data-identifiers.md) を使用して検出した機密データ、および使用するジョブを設定している任意の [カスタムデータ識別子](custom-data-identifiers.md) の基準に一致するデータが含まれます。サンプルは、対象の Amazon Simple Storage Service (Amazon S3) オブジェクトとバケットの調査をカスタマイズするのに役立ちます。

検出結果についての機密データのサンプルを取得して公開する場合、Macie は次の一般的なタスクを実行します。

1. 検出結果によって、機密データの個別の出現場所と、対応する[機密データ検出の結果](discovery-results-repository-s3.md)の場所が指定されていることを確認します。

1. 対応する機密データ検出の結果を評価し、対象の S3 オブジェクトのメタデータ、およびオブジェクトにおいて機密データが出現した場所のデータの有効性を確認します。

1. 機密データ検出結果のデータを使用して、検出結果によって報告された機密データの最初の 1 ～ 10 件を特定し、該当する S3 オブジェクトから各出現箇所の最初の 1 ～ 128 文字を抽出します。検出結果から複数タイプの機密データが報告された場合、Macie は最大 100 種類の機密データを検出します。

1. 抽出されたデータを、指定した AWS Key Management Service (AWS KMS) キーで暗号化します。

1. 暗号化されたデータを一時的にキャッシュに保存し、確認できるようにデータを表示します。データは、転送時および保管時のいずれも常に暗号化されます。

1. 運用上の問題を解決するために一時的に追加の保存が必要になった場合を除き、データは抽出、暗号化の後すぐにキャッシュから完全に削除されます。

検出結果についての機密データのサンプルを再度取得して公開することを選択した場合、Macie はこれらのタスクを繰り返して、サンプルを検索、抽出、暗号化、保存し、最終的には削除します。

Macie はこれらのタスクを実行するのに、アカウントの Macie [サービスにリンクされたロール](service-linked-roles.md)を使用しません。代わりに、 AWS Identity and Access Management (IAM) ID を使用するか、または Macie がアカウント内で IAM ロールを引き受けることを許可します。ユーザーまたはロールが必要なリソースとデータにアクセスし、必要なアクションを実行することを許可されている場合は、検出結果についての機密データのサンプルを取得して公開することができます。必要なアクションはすべて[ログイン AWS CloudTrail](macie-cloudtrail.md)されます。

**重要**  
カスタム [IAM ポリシー](security-iam.md)を使用して、この機能へのアクセスを制限することをお勧めします。アクセスコントロールを強化するために、取得される機密データサンプルの暗号化 AWS KMS key 専用の も作成し、キーの使用を機密データサンプルの取得と公開を許可する必要があるプリンシパルのみに制限することをお勧めします。  
この機能へのアクセスを制御するために使用できる推奨事項とポリシーの例については、**AWS セキュリティブログの「[Amazon Macie を使用して S3 バケット内の機密データをプレビューする方法](https://aws.amazon.com/blogs/security/how-to-use-amazon-macie-to-preview-sensitive-data-in-s3-buckets/)」ブログ投稿を参照してください。

このセクションのトピックでは、Macie を設定および使用して、検出結果の機密データのサンプルを取得および開示する方法について説明します。アジアパシフィック (大阪) およびイスラエル (テルアビブ)リージョンを除く、Macie が現在利用可能なすべての AWS リージョン でこれらのタスクを実行できます。

**Topics**
+ [サンプルを取得するための設定オプション](findings-retrieve-sd-options.md)
+ [サンプルを取得するように Macie を設定する](findings-retrieve-sd-configure.md)
+ [サンプルの取得](findings-retrieve-sd-proc.md)

# Macie で機密データのサンプルを取得するための設定オプション
<a name="findings-retrieve-sd-options"></a>

オプションで Amazon Macie を設定して使用し、Macie が個々の検出結果で報告する機密データのサンプルを取得して公開することができます。検出結果についての機密データのサンプルを取得して公開する場合、Macie は対応する[機密データ検出の結果](discovery-results-repository-s3.md)のデータを使用して、対象の Amazon Simple Storage Service (Amazon S3) オブジェクト内の機密データの出現を見つけます。次に、Macie は該当オブジェクトからそれらの出現のサンプルを抽出します。Macie は、抽出されたデータを指定した AWS Key Management Service (AWS KMS) キーで暗号化し、暗号化されたデータをキャッシュに一時的に保存し、検出結果の結果にデータを返します。Macie は、運用上の問題を解決するために一時的に追加の保存が必要になった場合を除き、抽出と暗号化の直後に、データをキャッシュから完全に削除します。

Macie は、対象の S3 オブジェクトについての機密データのサンプルを検索、取得、暗号化、公開することを目的として、アカウントのために [Macie サービスリンクロール](service-linked-roles.md)を使用することはありません。代わりに、Macie はアカウントのために構成した設定とリソースを使用します。Macie で設定を構成する際には、対象の S3 オブジェクトに対するアクセスメソッドを指定します。また AWS KMS key 、サンプルの暗号化に使用するものも指定します。アジアパシフィック (大阪) リージョンとイスラエル (テルアビブ) リージョンを除く、 AWS リージョン Macie が現在利用可能なすべての で設定を構成することができます。

対象の S3 オブジェクトにアクセスし、そこから機密データのサンプルを取得するには、2 つのオプションがあります。 AWS Identity and Access Management (IAM) ユーザー認証情報を使用するか、IAM ロールを引き受けるように Macie を設定できます。
+ **IAM ユーザー認証情報を使用する** – このオプションを使用すると、アカウントの各ユーザーは、個別の IAM ID を使用して、サンプルを検索、取得、暗号化、公開します。これは、ユーザーまたはロールが必要なリソースとデータにアクセスし、必要なアクションを実行することを許可されている場合は、検出結果についての機密データのサンプルを取得して公開することができることを意味します。
+ **IAM ロールを引き受ける** – このオプションを使用すると、Macie にアクセスを委任する IAM ロールを作成します。また、ロールの信頼ポリシーと許可ポリシーが、Macie がロールを引き受けるためのすべての要件を満たしているようにしてください。その後、アカウントのユーザーが、検出結果についての機密データのサンプルを検索、取得、暗号化、公開することを選択すると、Macie がそのロールを引き受けます。

いずれの設定も、組織のために委任された Macie 管理者アカウント、組織内の Macie メンバーアカウント、スタンドアロン Macie アカウントなど、あらゆるタイプの Macie アカウントで使用できます。

次のトピックでは、アカウントのための設定とリソースを構成する方法を決定するのに役立つオプション、要件、考慮事項について説明します。これには、IAM ロールにアタッチする信頼ポリシーと許可ポリシーが含まれます。機密データのサンプルを取得して公開するために使用できる追加の推奨事項とポリシーの例については、**AWS セキュリティブログのブログ記事「[Amazon Macie を利用して S3 バケットの機密データをプレビューする方法](https://aws.amazon.com/blogs/security/how-to-use-amazon-macie-to-preview-sensitive-data-in-s3-buckets/)」を参照してください。

**Topics**
+ [使用するアクセスメソッドの決定](#findings-retrieve-sd-options-s3access)
+ [IAM ユーザー認証情報を使用した、対象の S3 オブジェクトに対するアクセス](#findings-retrieve-sd-options-s3access-user)
+ [対象の S3 オブジェクトにアクセスするための IAM ロールの引き受け](#findings-retrieve-sd-options-s3access-role)
+ [対象の S3 オブジェクトにアクセスするための IAM ロールの設定](#findings-retrieve-sd-options-s3access-role-configuration)
+ [対象の S3 オブジェクトの復号](#findings-retrieve-sd-options-decrypt)

## 使用するアクセスメソッドの決定
<a name="findings-retrieve-sd-options-s3access"></a>

 AWS 環境に最適な設定を決定する際、重要な考慮事項は、組織として一元管理されている複数の Amazon Macie アカウントが環境に含まれているかどうかです。自分が組織の委任された Macie の管理者である場合、IAM ロールを引き受けるように Macie を設定すると、組織内のアカウントのために、対象の S3 オブジェクトからの機密データのサンプルの取得を効率化できます。このアプローチでは、管理者アカウントに IAM ロールを作成します。また、該当の各メンバーアカウントにも IAM ロールを作成します。管理者アカウントのロールは、Macie に対するアクセスを委任します。メンバーアカウントのロールは、管理者アカウントのロールに対するクロスアカウントアクセスを委任します。その後、実装されている場合は、メンバーアカウントのために、ロールの連鎖を使用して対象の S3 オブジェクトにアクセスできます。

また、デフォルトで個々の検出結果に直接アクセスできるようにするユーザーについても検討します。検出結果についての機密データのサンプルを取得して公開するには、ユーザーはまず、検出結果にアクセスできる必要があります。
+ **機密データ検出ジョブ** – ジョブを作成するアカウントのみが、ジョブが生成する検出結果にアクセスできます。Macie の管理者アカウントがある場合は、組織内の任意のアカウントのために、S3 バケット内のオブジェクトを分析するジョブを設定できます。そのため、ジョブは、メンバーアカウントが所有するバケット内のオブジェクトについての検出結果を生成できます。メンバーアカウントまたはスタンドアロン Macie アカウントがある場合は、アカウントが所有するバケット内のオブジェクトのみを分析するようにジョブを設定できます。
+ **機密データの自動検出** – Macie の管理者アカウントのみが、組織内のアカウントのために、自動検出によって生成された検出結果にアクセスできます。メンバーアカウントはこれらの検出結果にアクセスできません。スタンドアロン Macie アカウントがある場合は、自分のアカウントのためにのみ、自動検出によって生成された検出結果にアクセスできます。

IAM ロールを使用して対象の S3 オブジェクトにアクセスする予定がある場合は、次の点も考慮してください:
+ オブジェクトにおける機密データの出現を特定するには、検出結果についての対応する機密データ検出の結果が、Macie が Hash-based Message Authentication Code (HMAC) AWS KMS keyで署名した S3 オブジェクトに保存されている必要があります。Macie は、機密データ検出の結果の完全性と信頼性を検証できる必要があります。検証できない場合、Macie は、機密データのサンプルを取得するための IAM ロールを引き受けません。これは、アカウントのために、S3 オブジェクト内のデータに対するアクセスを制限することを目的とした追加のガードレールです。
+ カスタマーマネージドで暗号化されたオブジェクトから機密データサンプルを取得するには AWS KMS key、IAM ロールに キーによるデータの復号を許可する必要があります。より具体的には、キーのポリシーで、ロールによる `kms:Decrypt` アクションの実行が許可されている必要があります。他のタイプのサーバー側の暗号化の場合、対象のオブジェクトを復号するために追加の許可やリソースは必要ありません。詳細については、「[対象の S3 オブジェクトの復号](#findings-retrieve-sd-options-decrypt)」を参照してください。
+ 別のアカウントのためにオブジェクトから機密データのサンプルを取得するには、現在、該当の AWS リージョンのアカウントのために委任された Macie の管理者である必要があります。加えて:
  + 現在、該当のリージョンのメンバーアカウントのために Macie が有効になっている必要があります。
  + メンバーアカウントには、Macie の管理者アカウントの IAM ロールに対するクロスアカウントアクセスを委任する IAM ロールが必要です。ロールの名前は、Macie の管理者アカウントとメンバーアカウントで同じである必要があります。
  + メンバーアカウントの IAM ロールの信頼ポリシーには、設定のために正しい外部 ID を指定する条件が含まれている必要があります。この ID は、Macie の管理者アカウントのために設定を構成した後に Macie が自動的に生成する一意の英数字の文字列です。信頼ポリシーで外部 IDs*AWS Identity and Access Management 「 ユーザーガイド*」の[「第三者が所有する へのアクセス AWS アカウント](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html)」を参照してください。
  + メンバーアカウントの IAM ロールが Macie のすべての要件を満たしている場合、メンバーアカウントは、自らのアカウントのためにオブジェクトから機密データのサンプルを取得することを目的として、Macie の設定を構成して有効にする必要はありません。Macie は、Macie の管理者アカウントの設定と IAM ロール、およびメンバーアカウントの IAM ロールのみを使用します。
**ヒント**  
アカウントが大規模な組織に属している場合は、 AWS CloudFormation テンプレートとスタックセットを使用して、組織内のメンバーアカウントのために IAM ロールをプロビジョニングおよび管理することを検討してください。テンプレートとスタックセットの作成と使用については、「[AWS CloudFormation ユーザーガイド](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)」を参照してください。  
開始点として機能する CloudFormation テンプレートを確認し、必要に応じてダウンロードするには、Amazon Macie コンソールを使用できます。コンソールのナビゲーションペインの **[設定]** で、**[サンプルを公開]** を選択します。**[編集]** を選択し、**[メンバーロールの許可と CloudFormation テンプレートを表示]** を選択します。

このセクションの後続のトピックでは、各タイプの設定に関する追加の詳細と考慮事項を説明します。IAM ロールの場合、これには、ロールにアタッチする信頼ポリシーと許可ポリシーが含まれます。環境に最適な設定のタイプがわからない場合は、 AWS 管理者にお問い合わせください。

## IAM ユーザー認証情報を使用した、対象の S3 オブジェクトに対するアクセス
<a name="findings-retrieve-sd-options-s3access-user"></a>

IAM ユーザー認証情報を使用して機密データのサンプルを取得するように Amazon Macie を設定すると、Macie アカウントの各ユーザーは自らの IAM ID を使用して、個々の検出結果についてのサンプルを検索、取得、暗号化、公開します。これは、ユーザーの IAM ID が必要なリソースとデータにアクセスし、必要なアクションを実行することを許可されている場合は、検出結果についての機密データのサンプルを取得して公開することができることを意味します。必要なアクションはすべて [AWS CloudTrailにログ](macie-cloudtrail.md)で記録されます。

特定の検出結果について機密データのサンプルを取得して公開するには、ユーザーによる次のデータおよびリソースに対するアクセスが許可されている必要があります: 検出結果、対応する機密データ検出の結果、対象の S3 バケット、および対象の S3 オブジェクト。また、該当する場合、影響を受けるオブジェクトの暗号化に AWS KMS key 使用された と、機密データサンプルの暗号化に使用するように Macie AWS KMS key を設定する の使用も許可する必要があります。IAM ポリシー、リソースポリシー、または他の許可設定で必要なアクセスが拒否されている場合、ユーザーは、検出結果のサンプルを取得して公開することができません。

このような構成を設定するには、次の一般的なタスクを実行します。

1. 機密データ検出の結果用のリポジトリを設定していることを確認します。

1. 機密データサンプルの暗号化に使用する AWS KMS key ように を設定します。

1. Macie で設定を構成するための許可を確認します。

1. Macie で設定を構成して有効にします。

これらのタスクの実行の詳細については、「[機密データサンプルを取得するように Macie を設定する](findings-retrieve-sd-configure.md)」を参照してください。

## 対象の S3 オブジェクトにアクセスするための IAM ロールの引き受け
<a name="findings-retrieve-sd-options-s3access-role"></a>

IAM ロールを引き受けることで機密データのサンプルを取得するように Amazon Macie を設定するには、まず Amazon Macie にアクセスを委任する IAM ロールを作成します。ロールの信頼ポリシーと許可ポリシーが、Macie がロールを引き受けるためのすべての要件を満たしているようにしてください。Macie アカウントのユーザーが検出結果についての機密データのサンプルを取得して公開することを選択すると、Macie は、対象の S3 オブジェクトからサンプルを取得するためのロールを引き受けます。Macie は、ユーザーが検出結果についてのサンプルを取得して公開することを選択した場合にのみ、ロールを引き受けます。ロールを引き受けるには、Macie は AWS Security Token Service (AWS STS) API の [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) オペレーションを使用します。必要なアクションはすべて[ログイン AWS CloudTrail](macie-cloudtrail.md)されます。

特定の検出結果の機密データサンプルを取得して公開するには、ユーザーが検出結果、対応する機密データ検出結果、および機密データサンプルの暗号化に使用するように Macie AWS KMS key を設定する にアクセスできる必要があります。IAM ロールは、Macie が対象の S3 バケットおよび対象の S3 オブジェクトにアクセスするのを許可する必要があります。該当する場合、ロールは、影響を受けるオブジェクトの暗号化に AWS KMS key 使用された の使用も許可されている必要があります。IAM ポリシー、リソースポリシー、または他の許可設定で必要なアクセスが拒否されている場合、ユーザーは、検出結果のサンプルを取得して公開することができません。

このような構成を設定するには、次の一般的なタスクを実行します。組織内にメンバーアカウントがある場合は、Macie の管理者と協力して、アカウントのために設定およびリソースを構成するかどうか、およびその方法を決定します。

1. 次を定義します:
   + Macie に引き受けさせる IAM ロールの名前。アカウントが組織に属している場合、この名前は、委任された Macie の管理者アカウントと、組織内の該当の各メンバーアカウントで同じである必要があります。この名前が異なる場合、Macie の管理者は、該当のメンバーアカウントのために、対象の S3 オブジェクトにアクセスできません。
   + IAM ロールにアタッチする IAM 許可ポリシーの名前。アカウントが組織に属している場合は、組織内の該当の各メンバーアカウントで同じポリシー名を使用することをお勧めします。これにより、メンバーアカウントでのロールのプロビジョニングおよび管理を合理化できます。

1. 機密データ検出の結果用のリポジトリを設定していることを確認します。

1. 機密データサンプルの暗号化に使用する AWS KMS key ように を設定します。

1. IAM ロールを作成し、Macie で設定を構成するための許可を確認します。

1. 自分が組織の委任された Macie の管理者である場合、またはスタンドアロン Macie アカウントがある場合:

   1. アカウントのために、IAM ロールを作成して設定します。ロールの信頼ポリシーと許可ポリシーが、Macie がロールを引き受けるためのすべての要件を満たしているようにしてください。これらの要件の詳細については、[次のトピック](#findings-retrieve-sd-options-s3access-role-configuration)を参照してください。

   1. Macie で設定を構成して有効にします。その後、Macie は設定の外部 ID を生成します。ユーザーが組織の Macie 管理者である場合は、この ID を書き留めます。該当する各メンバーアカウントの IAM ロールの信頼ポリシーには、この ID を指定する必要があります。

1. 組織にメンバーアカウントがある場合:

   1. アカウントの IAM ロールの信頼ポリシーで指定する外部 ID については、Macie の管理者に問い合わせてください。また、作成する IAM ロールと許可ポリシーの名前も確認します。

   1. アカウントのために、IAM ロールを作成して設定します。ロールの信頼ポリシーと許可ポリシーが、Macie の管理者がロールを引き受けるためのすべての要件を満たしているようにしてください。これらの要件の詳細については、[次のトピック](#findings-retrieve-sd-options-s3access-role-configuration)を参照してください。

   1. (オプション) 自分のアカウントのために、対象の S3 オブジェクトから機密データのサンプルを取得して公開する場合は、Macie で設定を構成して有効にします。サンプルを取得するための IAM ロールを Macie に引き受けさせる場合は、まずアカウントに追加の IAM ロールを作成して設定します。この追加ロールの信頼ポリシーと許可ポリシーが、Macie がロールを引き受けるためのすべての要件を満たしているようにしてください。その後、Macie で設定を構成し、この追加ロールの名前を指定します。ロールのポリシー要件の詳細については、[次のトピック](#findings-retrieve-sd-options-s3access-role-configuration)を参照してください。

これらのタスクの実行の詳細については、「[機密データサンプルを取得するように Macie を設定する](findings-retrieve-sd-configure.md)」を参照してください。

## 対象の S3 オブジェクトにアクセスするための IAM ロールの設定
<a name="findings-retrieve-sd-options-s3access-role-configuration"></a>

IAM ロールを使用して対象の S3 オブジェクトにアクセスするには、まず Amazon Macie にアクセスを委任するロールを作成して設定します。ロールの信頼ポリシーと許可ポリシーが、Macie がロールを引き受けるためのすべての要件を満たしているようにしてください。これを行う方法は、保有している Macie アカウントのタイプによって異なります。

次のセクションでは、Macie アカウントのタイプごとに、IAM ロールにアタッチする信頼ポリシーと許可ポリシーについて詳しく説明します。保有しているアカウントのタイプに応じたセクションを選択してください。

**注記**  
組織にメンバーアカウントがある場合は、アカウントのために 2 つの IAM ロールを作成して設定する必要がある場合があります。  
Macie の管理者が、アカウントのために、対象の S3 オブジェクトから機密データのサンプルを取得して公開するのを許可するには、管理者のアカウントが引き受けることができるロールを作成して設定します。これらの詳細については、**Macie メンバーアカウント**のセクションを選択します。
自分のアカウントのために、対象の S3 オブジェクトから機密データのサンプルを取得して公開するには、Macie が引き受けることができるロールを作成して設定します。これらの詳細については、**スタンドアロン Macie アカウント**のセクションを選択します。
いずれかの IAM ロールを作成して設定する前に、Macie の管理者と協力してアカウントのために適切な設定を決定します。

IAM を使用したロールの作成の詳細については、「AWS Identity and Access Management ユーザーガイド」の「[カスタム信頼ポリシーを使用したロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html)」を参照してください。

### Macie 管理者アカウント
<a name="findings-retrieve-sd-options-s3access-role-admin"></a>

自分が組織の委任された Macie の管理者である場合は、まず IAM ポリシーエディタを使用して IAM ロールの許可ポリシーを作成します。ポリシーは次のとおりである必要があります。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RetrieveS3Objects",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "AssumeMacieRevealRoleForCrossAccountAccess",
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRole"
            ],
            "Resource": "arn:aws:iam::*:role/IAMRoleName"
        }
    ]
}
```

------

*IAMRoleName* は、組織のアカウントのために、対象の S3 オブジェクトから機密データのサンプルを取得する際に Macie が引き受ける IAM ロールの名前です。この値を、アカウントのために作成しようとしているロールの名前、および組織内の該当のメンバーアカウントのために作成する予定のロールの名前に置き換えます。この名前は、Macie の管理者アカウントと、該当の各メンバーアカウントで同じである必要があります。

**注記**  
前述のアクセス許可ポリシーでは、最初のステートメントの `Resource`要素はワイルドカード文字 () を使用します`*`。これにより、アタッチされた IAM エンティティは、組織が所有するすべての S3 バケットからオブジェクトを取得できるようになります。特定のバケットについてのみ、このアクセスを許可するには、ワイルドカード文字を各バケットの Amazon リソースネーム (ARN) に置き換えます。例えば、amzn-s3-demo-bucket1 という名前のバケット内のオブジェクトに対するアクセスのみを許可するには、要素を次のように変更します:  
`"Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*"`  
個々のアカウントのために、特定の S3 バケット内のオブジェクトに対するアクセスを制限することもできます。これを行うには、該当の各アカウントの IAM ロールの許可ポリシーの `Resource` 要素でバケット ARN を指定します。詳細と例については、「AWS Identity and Access Management ユーザーガイド」の「[IAM JSON ポリシー要素: Resource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html)」を参照してください。

IAM ロールの許可ポリシーを作成した後、ロールを作成して設定します。IAM コンソールを使用してこれを行う場合は、ロールの **[信頼されたエンティティタイプ]** として **[カスタム信頼ポリシー]** を選択します。ロールの信頼されたエンティティを定義する信頼ポリシーについては、次のように指定します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowMacieReveal",
            "Effect": "Allow",
            "Principal": {
                "Service": "reveal-samples.macie.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                }
            }
        }
    ]
}
```

------

ここで、*111122223333* は のアカウント ID です AWS アカウント。この値を自分の 12 桁のアカウント ID に置き換えます。

前述の信頼ポリシーでは次のようになります:
+ `Principal` 要素は、対象の S3 オブジェクト `reveal-samples.macie.amazonaws.com` から機密データのサンプルを取得する際に Macie が使用するサービスプリンシパルを指定します。
+ `Action` 要素は、サービスプリンシパルが実行できるアクション、 AWS Security Token Service (AWS STS) API の [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) オペレーションを指定します。
+ `Condition` 要素は、[aws:SourceAccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) グローバル条件コンテキストキーを使用する条件を定義します。この条件により、指定されたアクションを実行できるアカウントが決まります。この場合、Macie は指定されたアカウントに対してのみロールを引き受けることができます。この条件は、Macie がトランザクション中に[混乱した代理](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)として使用されるのを防ぐのに役立ちます AWS STS。

IAM ロールの信頼ポリシーを定義した後、許可ポリシーをロールにアタッチします。これは、ロールの作成を開始する前に作成した許可ポリシーである必要があります。その後、IAM の残りのステップを完了して、ロールの作成と設定を完了します。完了したら、[Macie で設定を構成して有効にします](findings-retrieve-sd-configure.md)。

### Macie メンバーアカウント
<a name="findings-retrieve-sd-options-s3access-role-member"></a>

Macie メンバーアカウントがあり、アカウントのために、対象の S3 オブジェクトから機密データのサンプルを取得して公開することを Macie の管理者に許可したい場合は、まず Macie の管理者に次の情報を問い合わせてください。
+ 作成する IAM ロールの名前。この名前は、自分のアカウントと、組織の Macie の管理者アカウントで同じである必要があります。
+ ロールにアタッチする IAM 許可ポリシーの名前。
+ ロールの信頼ポリシーで指定する外部 ID。この ID は、Macie の管理者の設定用に Macie が生成した外部 ID である必要があります。

この情報を受け取ったら、IAM ポリシーエディタを使用して、ロールの許可ポリシーを作成します。ポリシーは次のとおりである必要があります。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RetrieveS3Objects",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

前述の許可ポリシーにより、アタッチされた IAM エンティティが、アカウントのために、すべての S3 バケットからオブジェクトを取得できるようになります。これは、ポリシーの `Resource`要素がワイルドカード文字 () を使用するためです`*`。特定のバケットについてのみ、このアクセスを許可するには、ワイルドカード文字を各バケットの Amazon リソースネーム (ARN) に置き換えます。例えば、amzn-s3-demo-bucket2 という名前のバケット内のオブジェクトに対するアクセスのみを許可するには、要素を次のように変更します:

`"Resource": "arn:aws:s3:::amzn-s3-demo-bucket2/*"`

詳細と例については、「AWS Identity and Access Management ユーザーガイド」の「[IAM JSON ポリシー要素: Resource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html)」を参照してください。

IAM ロールの許可ポリシーを作成した後、ロールを作成します。IAM コンソールを使用してロールを作成する場合は、ロールの **[信頼されたエンティティタイプ]** として **[カスタム信頼ポリシー]** を選択します。ロールの信頼されたエンティティを定義する信頼ポリシーについては、次のように指定します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowMacieAdminRevealRoleForCrossAccountAccess",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/IAMRoleName"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "sts:ExternalId": "externalID",
                    "aws:PrincipalOrgID": "${aws:ResourceOrgID}"
                }
            }
        }
    ]
}
```

------

前述のポリシーでは、プレースホルダー値を AWS 環境に適した値に置き換えます。
+ *111122223333* は、Macie 管理者のアカウントの 12 桁のアカウント ID です。
+ *IAMRoleName* は、Macie の管理者のアカウントの IAM ロールの名前です。これは、Macie の管理者から受け取った名前である必要があります。
+ *externalID* は、Macie の管理者から受け取った外部 ID です。

一般に、信頼ポリシーにより、Macie の管理者は、アカウントのために、対象の S3 オブジェクトから機密データのサンプルを取得して公開するためのロールを引き受けることができます。`Principal` 要素は、Macie の管理者のアカウントにおける IAM ロールの ARN を指定します。これは、Macie の管理者が、組織のアカウントのために、機密データのサンプルを取得して公開するために使用するロールです。`Condition` ブロックは、そのロールを引き受けることができるユーザーをさらに決定する 2 つの条件を定義します。
+ 1 つ目の条件は、組織の設定に固有の外部 ID を指定します。外部 IDs*AWS Identity and Access Management 「 ユーザーガイド*」の[「第三者が所有する へのアクセス AWS アカウント](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html)」を参照してください。
+ 2 つ目の条件は、[aws:PrincipalOrgID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid) グローバル条件コンテキストキーを使用します。キーの値は、 AWS Organizations () の組織の一意の識別子を表す動的変数です`${aws:ResourceOrgID}`。この条件により、 AWS Organizationsの同じ組織に属しているアカウントのみにアクセスが制限されます。Macie で招待を承諾して組織に参加した場合は、この条件をポリシーから削除します。

IAM ロールの信頼ポリシーを定義した後、許可ポリシーをロールにアタッチします。これは、ロールの作成を開始する前に作成した許可ポリシーである必要があります。その後、IAM の残りのステップを完了して、ロールの作成と設定を完了します。Macie でロールの設定を構成および入力しないでください。

### スタンドアロン Macie アカウント
<a name="findings-retrieve-sd-options-s3access-role-standalone"></a>

スタンドアロン Macie アカウントまたは Macie メンバーアカウントがあり、自分のアカウントのために、対象の S3 オブジェクトから機密データのサンプルを取得して公開する場合は、まず IAM ポリシーエディタを使用して IAM ロールの許可ポリシーを作成します。ポリシーは次のとおりである必要があります。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RetrieveS3Objects",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

前述のアクセス許可ポリシーでは、 `Resource`要素はワイルドカード文字 () を使用します`*`。これにより、アタッチされた IAM エンティティは、アカウントのために、すべての S3 バケットからオブジェクトを取得できるようになります。特定のバケットについてのみ、このアクセスを許可するには、ワイルドカード文字を各バケットの Amazon リソースネーム (ARN) に置き換えます。例えば、amzn-s3-demo-bucket3 という名前のバケット内のオブジェクトに対するアクセスのみを許可するには、要素を次のように変更します:

`"Resource": "arn:aws:s3:::amzn-s3-demo-bucket3/*"`

詳細と例については、「AWS Identity and Access Management ユーザーガイド」の「[IAM JSON ポリシー要素: Resource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html)」を参照してください。

IAM ロールの許可ポリシーを作成した後、ロールを作成します。IAM コンソールを使用してロールを作成する場合は、ロールの **[信頼されたエンティティタイプ]** として **[カスタム信頼ポリシー]** を選択します。ロールの信頼されたエンティティを定義する信頼ポリシーについては、次のように指定します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowMacieReveal",
            "Effect": "Allow",
            "Principal": {
                "Service": "reveal-samples.macie.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "999999999999"
                }
            }
        }
    ]
}
```

------

ここで、*999999999999* は のアカウント ID です AWS アカウント。この値を自分の 12 桁のアカウント ID に置き換えます。

前述の信頼ポリシーでは次のようになります:
+ `Principal` 要素は、対象の S3 オブジェクト `reveal-samples.macie.amazonaws.com` から機密データのサンプルを取得して公開する際に Macie が使用するサービスプリンシパルを指定します。
+ `Action` 要素は、サービスプリンシパルが実行できるアクション、 AWS Security Token Service (AWS STS) API の [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) オペレーションを指定します。
+ `Condition` 要素は、[aws:SourceAccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) グローバル条件コンテキストキーを使用する条件を定義します。この条件により、指定されたアクションを実行できるアカウントが決まります。これにより、Macie は指定されたアカウントに対してのみロールを引き受けることができます。この条件は、Macie がトランザクション中に[混乱した代理](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)として使用されるのを防ぐのに役立ちます AWS STS。

IAM ロールの信頼ポリシーを定義した後、許可ポリシーをロールにアタッチします。これは、ロールの作成を開始する前に作成した許可ポリシーである必要があります。その後、IAM の残りのステップを完了して、ロールの作成と設定を完了します。完了したら、[Macie で設定を構成して有効にします](findings-retrieve-sd-configure.md)。

## 対象の S3 オブジェクトの復号
<a name="findings-retrieve-sd-options-decrypt"></a>

Amazon S3 は S3 オブジェクトの複数の暗号化オプションをサポートしています。これらのオプションのほとんどでは、IAM ユーザーまたはロールが対象のオブジェクトから機密データのサンプルを復号して取得するために追加のリソースや許可は必要ありません。これは、Amazon S3 マネージドキーまたは AWS マネージド AWS KMS keyを使用したサーバー側の暗号化を使用して暗号化されたオブジェクトの場合に当てはまります。

ただし、S3 オブジェクトがカスタマーマネージドで暗号化されている場合は AWS KMS key、オブジェクトから機密データサンプルを復号化して取得するための追加のアクセス許可が必要です。より具体的には、KMS キーのキーポリシーでは、IAM ユーザーまたはロールによる `kms:Decrypt` アクションの実行が許可されている必要があります。許可されていない場合、エラーが発生し、Amazon Macie はオブジェクトからサンプルを取得しません。IAM ユーザーにこのアクセスを提供する方法については、**AWS Key Management Service デベロッパーガイドの「[KMS キーのアクセスとアクセス許可](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html)」を参照してください。

IAM ロールにこのアクセスを提供する方法は、 を所有するアカウントがロール AWS KMS key も所有しているかどうかによって異なります。
+ 同じアカウントが KMS キーとロールを所有している場合、アカウントのユーザーはキーのポリシーを更新する必要があります。
+ 1 つのアカウントが KMS キーを所有し、別のアカウントがロールを所有している場合、そのキーを所有するアカウントのユーザーはキーに対するクロスアカウントアクセスを許可する必要があります。

このトピックでは、S3 オブジェクトから機密データのサンプルを取得するために作成した IAM ロールのためにこれらのタスクを実行する方法について説明します。両方のシナリオの例も示します。他のシナリオ AWS KMS keys でカスタマーマネージドへのアクセスを許可する方法については、「 *AWS Key Management Service デベロッパーガイド*」の[「KMS キーのアクセスとアクセス許可](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html)」を参照してください。

### カスタマーマネージドキーへの同じアカウントのアクセスを許可する
<a name="findings-retrieve-sd-options-decrypt-same-account"></a>

同じアカウントが AWS KMS key と IAM ロールの両方を所有している場合、アカウントのユーザーはキーのポリシーにステートメントを追加する必要があります。追加のステートメントでは、IAM ロールによるキーを使用したデータの復号が許可されている必要があります。キーポリシーの更新の詳細な情報については、*AWS Key Management Service デベロッパーガイド*の[キーポリシーの変更](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html)を参照してください。

ステートメントにおいて:
+ `Principal` 要素は、IAM ロールの Amazon リソースネーム (ARN) を指定するものである必要があります。
+ `Action` 配列は、`kms:Decrypt` アクションを指定する必要があります。これは、キーで暗号化されたオブジェクトを復号するために IAM ロールが実行できる唯一の AWS KMS アクションです。

以下は、KMS キーのポリシーに追加するステートメントの例です。

```
{
    "Sid": "Allow the Macie reveal role to use the key",
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::123456789012:role/IAMRoleName"
    },
    "Action": [
        "kms:Decrypt"
    ],
    "Resource": "*"
}
```

前の例では、以下のようになっています。
+ `Principal` 要素の `AWS` フィールドは、アカウントの IAM ロールの ARN を指定します。これにより、ロールがポリシーステートメントで指定されたアクションを実行することを許可します。*123456789012* はアカウント ID の例です。この値をロールと KMS キーを所有するアカウントのアカウント ID に置き換えます。*IAMRoleName* は名前の例です。この値をアカウントの IAM ロールの名前に置き換えます。
+ `Action` 配列は、IAM ロールが KMS キーを使用して実行することを許可されたアクション (キーで暗号化される暗号文を復号) を指定します。

このステートメントをキーポリシーのどこに追加するかは、ポリシーに現在含まれている構造と要素によって異なります。ステートメントをポリシーに追加するときに、構文が有効であることを確認します。キーポリシーは JSON 形式を使用します。これは、ステートメントをポリシーのどこに追加するかに応じて、ステートメントの前後にカンマを追加する必要があることも意味します。

### カスタマーマネージドキーへのクロスアカウントアクセスを許可する
<a name="findings-retrieve-sd-options-decrypt-cross-account"></a>

あるアカウントが AWS KMS key (*キー所有者*) を所有し、別のアカウントが IAM ロール (*ロール所有者*) を所有している場合、キー所有者はロール所有者にキーへのクロスアカウントアクセスを提供する必要があります。これを実現する方法の 1 つは許可を使用することです。付与 は、ポリシーツールであり、付与によって指定された条件が満たされている場合、 AWS プリンシパルに暗号化オペレーションで (KMS キー) の使用を許可します。付与の詳細については、AWS Key Management Service デベロッパーガイドの[AWS KMSでの付与](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)を参照してください。

このアプローチでは、キー所有者はまず、キーのポリシーで、ロール所有者によるキーの許可の作成が許可されているようにします。その後、ロール所有者はキーの許可を作成します。この許可は、関連する許可をロール所有者のアカウントの IAM ロールに委任します。これにより、ロールは、キーを使用して暗号化された S3 オブジェクトを復号できるようになります。

**ステップ 1: キーポリシーを変更する**  
キー所有者は、ロール所有者が自ら (ロール所有者) のアカウントの IAM ロールのために許可を作成することを許可するステートメントが、キーポリシーに含まれているようにする必要があります。このステートメントでは、`Principal` 要素は、ロールの所有者のアカウントの ARN を指定する必要があります。`Action` 配列は、`kms:CreateGrant` アクションを指定する必要があります。`Condition` ブロックは、指定されたアクションに対するアクセスをフィルタリングできます。以下は、KMS キーのポリシーのこのステートメントの例です。

```
{
    "Sid": "Allow a role in an account to create a grant",
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::111122223333:root"
    },
    "Action": [
        "kms:CreateGrant"
    ],
    "Resource": "*",
    "Condition": {
        "StringEquals": {
            "kms:GranteePrincipal": "arn:aws:iam::111122223333:role/IAMRoleName"
        },
        "ForAllValues:StringEquals": {
            "kms:GrantOperations": "Decrypt"
        }
    }
}
```

前の例では、以下のようになっています。
+ `Principal` 要素の `AWS` フィールドは、ロール所有者のアカウントの ARN を指定します。これにより、アカウントがポリシーステートメントで指定されたアクションを実行することを許可します。*111122223333* はアカウント ID の例です。この値をロール所有者のアカウントのアカウント ID に置き換えます。
+ `Action` 配列は、ロール所有者が KMS キーを使用して実行することを許可されたアクションを指定します (キーの許可を作成)。
+ `Condition` ブロックは、[条件演算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)と次の条件キーを使用して、ロール所有者が KMS キーに対して実行することを許可されているアクションに対するアクセスをフィルタリングします。
  + [kms:GranteePrincipal](https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-grantee-principal) – この条件は、ロール所有者が、アカウント内の IAM ロールの ARN である、指定された許可付与対象プリンシパルのためにのみ、許可を作成することを許可します。そのARNでは、*111122223333* はアカウント ID の例です。この値をロール所有者のアカウントのアカウント ID に置き換えます。*IAMRoleName* は名前の例です。この値をロール所有者のアカウントの IAM ロールの名前に置き換えます。
  + [kms:GrantOperations](https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-grant-operations) – この条件により、ロール所有者は、アクションを実行するアクセス許可 (キーで暗号化された暗号文を復号化) のみを委任する AWS KMS `Decrypt`権限を作成できます。これにより、ロール所有者は、KMS キーに対して他のアクションを実行するための許可を委任する許可を作成できなくなります。`Decrypt` アクションは、キーで暗号化されたオブジェクトを復号するために IAM ロールが実行できる唯一の AWS KMS アクションです。

キー所有者がこのステートメントをキーポリシーのどこに追加するかは、ポリシーに現在含まれている構造と要素によって異なります。キー所有者がステートメントを追加するときは、構文が有効であることを確認する必要があります。キーポリシーは JSON 形式を使用します。これは、ステートメントをポリシーのどこに追加するかに応じて、キー所有者はステートメントの前後にカンマを追加する必要があることも意味します。キーポリシーの更新の詳細な情報については、*AWS Key Management Service デベロッパーガイド*の[キーポリシーの変更](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html)を参照してください。

**ステップ 2: 許可を作成する**  
キー所有者が必要に応じてキーポリシーを更新した後、ロール所有者はキーの許可を作成します。この許可は、関連する許可を (ロール所有者の) アカウントの IAM ロールに委任します。ロール所有者が許可を作成する前に、ロール所有者は、`kms:CreateGrant` アクションの実施が許可されていることを確認する必要があります。このアクションにより、ロール所有者が既存のカスタマーマネージド AWS KMS keyに許可を追加することが許可されます。

権限を作成するには、ロール所有者は AWS Key Management Service API の [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) オペレーションを使用できます。ロール所有者が許可を作成するときに、必要なパラメータに次の値を指定する必要があります。
+ `KeyId` – KMS キーの ARN。KMS キーへのクロスアカウントアクセスでは、この値は ARN である必要があります。キー ID にすることはできません。
+ `GranteePrincipal` – アカウント内の IAM ロールの ARN。この値は `arn:aws:iam::111122223333:role/IAMRoleName` である必要があります。ここで、*111122223333* はロール所有者のアカウントのアカウント ID であり、*IAMRoleName* はロールの名前です。
+ `Operations` – AWS KMS 復号アクション (`Decrypt`)。これは、KMS キーで暗号化されたオブジェクトを復号するために IAM ロールが実行できる唯一の AWS KMS アクションです。

ロール所有者が AWS Command Line Interface (AWS CLI) を使用している場合は、[create-grant](https://docs.aws.amazon.com/cli/latest/reference/kms/create-grant.html) コマンドを実行して権限を作成できます。以下の例のように指定します。この例は Microsoft Windows 用にフォーマットされており、読みやすさを向上させるためにキャレット (^) の行連結文字を使用します。

```
C:\> aws kms create-grant ^
--key-id arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab ^
--grantee-principal arn:aws:iam::111122223333:role/IAMRoleName ^
--operations "Decrypt"
```

コードの説明は以下のとおりです。
+ `key-id` は、付与を適用する KMS キーの ARN を指定します。
+ `grantee-principal` は、許可によって指定されたアクションの実行を許可された IAM ロールの ARN を指定します。この値は、キーポリシーの `kms:GranteePrincipal` 条件によって指定された ARN と一致する必要があります。
+ `operations` は、許可が、指定されたプリンシパルが実行することを許可するアクション (キーで暗号化される暗号文の復号) を指定します。

コマンドが正常に実行された場合は、以下のような出力が表示されます。

```
{
    "GrantToken": "<grant token>",
    "GrantId": "1a2b3c4d2f5e69f440bae30eaec9570bb1fb7358824f9ddfa1aa5a0dab1a59b2"
}
```

ここで、`GrantToken` は、作成された付与を表す、一意で、非シークレットで、可変長の base64 でエンコードされた文字列であり、`GrantId` は、付与の一意の識別子です。

# 機密データサンプルを取得するように Macie を設定する
<a name="findings-retrieve-sd-configure"></a>

オプションで Amazon Macie を設定して使用し、Macie が個々の検出結果で報告する機密データのサンプルを取得して公開することができます。サンプルは、Macie が検出した機密データの性質を確認するのに役立ちます。また、影響を受ける Amazon Simple Storage Service (Amazon S3) オブジェクトとバケットの調査を調整するのにも役立ちます。アジアパシフィック (大阪) リージョンとイスラエル (テルアビブ) リージョンを除く、Macie が現在利用可能なすべての AWS リージョン で、機密データの取得と公開を行うことができます。

検出結果の機密データのサンプルを取得して公開すると、Macie は対応する機密データの検出結果のデータを使用して、影響を受ける S3 オブジェクト内の機密データの出現を見つけます。次に、Macie は該当オブジェクトからそれらの出現のサンプルを抽出します。Macie は、抽出されたデータを指定した AWS Key Management Service (AWS KMS) キーで暗号化し、暗号化されたデータをキャッシュに一時的に保存し、検出結果の結果にデータを返します。Macie は、運用上の問題を解決するために一時的に追加の保存が必要になった場合を除き、抽出と暗号化の直後に、データをキャッシュから完全に削除します。

検出結果についての機密データのサンプルを取得して公開するには、まず Macie アカウントの設定を構成し、有効にする必要があります。また、アカウントのためにサポートリソースと許可を設定する必要があります。このセクションのトピックでは、機密データのサンプルを取得して公開するように Macie を設定し、アカウントの設定ステータスを管理するプロセスについて説明します。

**Topics**
+ [[開始する前に]](#findings-retrieve-sd-configure-prereqs)
+ [Macie の設定の構成と有効化](#findings-retrieve-sd-configure-enable)
+ [Macie の設定の無効化](#findings-retrieve-sd-configure-manage)

**ヒント**  
この機能へのアクセスを制御するために使用できる推奨事項とポリシーの例については、**AWS セキュリティブログの「[Amazon Macie を使用して S3 バケット内の機密データをプレビューする方法](https://aws.amazon.com/blogs/security/how-to-use-amazon-macie-to-preview-sensitive-data-in-s3-buckets/)」ブログ投稿を参照してください。

## [開始する前に]
<a name="findings-retrieve-sd-configure-prereqs"></a>

検出結果についての機密データのサンプルを取得して公開するように Amazon Macie を設定する前に、必要なリソースと許可を確実に備えているようにするために次のタスクを完了します。

**Topics**
+ [ステップ 1: 機密データ検出の結果のリポジトリを設定する](#findings-retrieve-sd-configure-sddr)
+ [ステップ 2: 対象の S3 オブジェクトにアクセスする方法を決定する](#findings-retrieve-sd-configure-s3access)
+ [ステップ 3: AWS KMS keyを設定する](#findings-retrieve-sd-configure-key)
+ [ステップ 4: 許可を確認する](#findings-retrieve-sd-configure-permissions)

機密データのサンプルを取得して公開するように Macie を既に設定しており、構成設定のみを変更したい場合、これらのタスクはオプションです。

### ステップ 1: 機密データ検出の結果のリポジトリを設定する
<a name="findings-retrieve-sd-configure-sddr"></a>

検出結果の機密データのサンプルを取得して公開すると、Macie は対応する機密データの検出結果のデータを使用して、影響を受ける S3 オブジェクト内の機密データの出現を見つけます。そのため、機密データ検出の結果用のリポジトリを設定していることを確認することが重要です。そうしないと、Macie は、取得して公開したい機密データのサンプルを見つけることができません。

アカウントのためにこのリポジトリを設定済みであるかどうかを確認するには、Amazon Macie コンソールを使用します。ナビゲーションペインで **[検出の結果]** (**[設定]** の下にあります) を選択します。Amazon Macie APIの [GetClassificationExportConfiguration](https://docs.aws.amazon.com/macie/latest/APIReference/classification-export-configuration.html) オペレーションを使用して、プログラムでこのデータにアクセスすることもできます。機密データ検出の結果とこのリポジトリの設定方法の詳細については、「[機密データ検出結果の保存と保持](discovery-results-repository-s3.md)」を参照してください。

### ステップ 2: 対象の S3 オブジェクトにアクセスする方法を決定する
<a name="findings-retrieve-sd-configure-s3access"></a>

対象の S3 オブジェクトにアクセスし、そこから機密データのサンプルを取得するには、2 つのオプションがあります。 AWS Identity and Access Management (IAM) ユーザー認証情報を使用するように Macie を設定できます。あるいは、Macie にアクセスを委任する IAM ロールを引き受けるように Macie を設定することもできます。いずれの設定も、組織のために委任された Macie 管理者アカウント、組織内の Macie メンバーアカウント、スタンドアロン Macie アカウントなど、あらゆるタイプの Macie アカウントで使用できます。Macie で設定を構成する前に、使用するアクセスメソッドを決定します。各メソッドのオプションと要件の詳細については、「[サンプルを取得するための設定オプション](findings-retrieve-sd-options.md)」を参照してください。

IAM ロールを使用する予定がある場合は、Macie で設定を構成する前にロールを作成して設定します。また、ロールの信頼ポリシーと許可ポリシーが、Macie がロールを引き受けるためのすべての要件を満たしているようにしてください。アカウントが複数の Macie アカウントを一元的に管理する組織に属している場合は、まず Macie 管理者と協力して、アカウントのためにロールを設定するかどうか、またその設定方法を決定します。

### ステップ 3: を設定する AWS KMS key
<a name="findings-retrieve-sd-configure-key"></a>

検出結果の機密データのサンプルを取得して公開すると、Macie は指定した AWS Key Management Service (AWS KMS) キーを使用してサンプルを暗号化します。そのため、サンプルを暗号化するために使用する AWS KMS key を決定する必要があります。キーは、自分のアカウントの既存の KMS キーでも、別のアカウントが所有する既存の KMS キーでもかまいません。別のアカウントが所有するキーを使用する場合、キーの Amazon リソースネーム (ARN) を取得します。Macie で設定設定を入力するときに、この ARN を指定する必要があります。

KMS キーは、カスタマーマネージドキーで、対称暗号化キーである必要があります。また、Macie アカウント AWS リージョン と同じ で有効になっている単一リージョンキーである必要があります。KMS キーは、外部キーストアに格納できます。ただし、そのキーは、完全に AWS KMS内で管理されるキーよりも遅く、信頼性が低くなる可能性があります。レイテンシーまたは可用性の問題により、取得して公開したい機密データサンプルを Macie が暗号化できない場合、エラーが発生し、Macie は検出結果のサンプルを返しません。

さらに、キーのキーポリシーでは、適切なプリンシパル (IAM ロール、IAM ユーザー、または AWS アカウント) が次のアクションを実行できるようにする必要があります。
+ `kms:Decrypt`
+ `kms:DescribeKey`
+ `kms:GenerateDataKey`

**重要**  
アクセスコントロールをさらに強化するために、取得する機密データサンプルを暗号化するための専用の KMS キーを作成し、そのキーの使用を、機密データサンプルの取得と開示を許可する必要があるプリンシパルのみに制限することをお勧めします。ユーザーがキーのために前述のアクションを実行することを許可されていない場合、Macie は、機密データのサンプルを取得して公開するという当該ユーザーのリクエストを拒否します。Macie は、検出結果についてのサンプルを返しません。

KMS キーの作成と設定については、「**AWS Key Management Service デベロッパーガイド」の「[KMS キーを作成する](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)」を参照してください。KMS キーに対するアクセスを管理するためのキーポリシーの使用については、「AWS Key Management Service デベロッパーガイド」の「[AWS KMSのキーポリシー](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)」を参照してください。

### ステップ 4: 許可を確認する
<a name="findings-retrieve-sd-configure-permissions"></a>

Macie で設定を構成する前に、必要な許可が付与されていることも確認してください。アクセス許可を確認するには、 AWS Identity and Access Management (IAM) を使用して、IAM ID にアタッチされている IAM ポリシーを確認します。次にこれらのポリシー内の情報を、実行が許可される必要がある次のアクションのリストと比較します。

**Amazon Macie**  
Macie の場合、次のアクションの実行が許可されていることを確認します。  
+ `macie2:GetMacieSession`
+ `macie2:UpdateRevealConfiguration`
1 つ目のアクションでは、Macie アカウントにアクセスできます。2 つ目のアクションでは、機密データのサンプルを取得して公開するための設定を変更できます。これには、アカウントの設定の有効化と無効化が含まれます。  
オプションで、`macie2:GetRevealConfiguration` アクションの実行も許可されていることを確認します。このアクションにより、アカウントの現在の設定設定と設定の現在の状態を取得できます。

**AWS KMS**  
Amazon Macie コンソールを使用して設定を入力する場合は、次の AWS Key Management Service (AWS KMS) アクションを実行できることを確認します。  
+ `kms:DescribeKey`
+ `kms:ListAliases`
これらのアクションにより、アカウントの AWS KMS keys に関する情報を取得できます。その後、設定を入力するときに、これらのキーのいずれかを選択できます。

**IAM**  
機密データのサンプルを取得して公開するための IAM ロールを引き受けるように Macie を設定する予定がある場合は、次の IAM アクションの実行が許可されていることも確認してください: `iam:PassRole`。このアクションにより、ロールを Macie に渡すことができ、Macie がそのロールを引き受けることができるようになります。アカウントのために構成設定を入力すると、Macie はそのロールがアカウントに存在し、正しく設定されていることを検証することもできます。

必要なアクションを実行することが許可されていない場合は、 AWS 管理者にサポートを依頼してください。

## Macie の設定の構成と有効化
<a name="findings-retrieve-sd-configure-enable"></a>

必要なリソースと許可があることを確認したら、Amazon Macie で設定を構成し、アカウントのために設定を有効にすることができます。

アカウントが複数の Macie アカウントを一元的に管理する組織に属している場合は、アカウントのために設定を構成する前、または構成した後にその設定を変更する前に、次の点に留意してください。
+ メンバーアカウントがある場合は、Macie の管理者と協力して、アカウントのために設定を構成するかどうか、およびその方法を決定します。Macie の管理者は、アカウントのために正しい構成設定を決定するのをサポートできます。
+ Macie の管理者アカウントがあり、対象の S3 オブジェクトにアクセスするための設定を変更すると、その変更によって、組織の他のアカウントやリソースに影響が及ぶ可能性があります。これは、Macie が機密データのサンプルを取得するために AWS Identity and Access Management (IAM) ロールを引き受けるように現在設定されているかどうかによって異なります。そのように設定されており、IAM ユーザー認証情報を使用するように Macie を再設定すると、Macie は IAM ロールの既存の設定 (ロールの名前と設定の外部 ID) を完全に削除します。その後、組織が IAM ロールを再度使用することを選択した場合は、該当の各メンバーアカウントのロールの信頼ポリシーで新しい外部 ID を指定する必要があります。

各タイプのアカウントの設定オプションと要件の詳細については、「[サンプルを取得するための設定オプション](findings-retrieve-sd-options.md)」を参照してください。

Macie で設定を構成し、アカウント用に設定を有効にするために、Amazon Macie コンソールまたは Amazon Macie API を使用できます。

------
#### [ Console ]

Amazon Macie コンソールを使用して設定を構成し、有効にするには、次のステップに従います。

**Macie 設定を構成して有効にするには**

1. Amazon Macie コンソール ([https://console.aws.amazon.com/macie/](https://console.aws.amazon.com/macie/)) を開きます。

1. ページの右上隅にある AWS リージョン セレクターを使用して、Macie が機密データのサンプルを取得して公開できるようにするリージョンを選択します。

1. ナビゲーションペインの **設定** で、**イベントの流れ** を選択します。

1. **設定** セクションで、**編集** を選択します。

1. **ステータス** で、**有効** を選択します。

1. **[アクセス]** で、対象の S3 オブジェクトから機密データのサンプルを取得する際に使用するアクセスメソッドと設定を指定します。
   + Macie にアクセスを委任する IAM ロールを使用するには、**[IAM ロールを引き受ける]** を選択します。このオプションを選択すると、Macie は で作成および設定した IAM ロールを引き受けてサンプルを取得します AWS アカウント。**[ロール名]** ボックスで、ロールの名前を入力します。
   + サンプルをリクエストする IAM ユーザーの認証情報を使用するには、**[IAM ユーザー認証情報を使用]** を選択します。このオプションを選択した場合、アカウントの各ユーザーは、個別の IAM ID を使用してサンプルを取得します。

1. **暗号化** で、取得される機密データサンプルの暗号化 AWS KMS key に使用する を指定します。
   + 自分のアカウントに KMS キーを使用するには、**[アカウントからキーを選択]** を選択します。そして、**AWS KMS key** リストからユーザー名を選択します。リストには、アカウントの既存の対称暗号化 KMS キーが表示されます。
   + 別のアカウントが所有し、使用が許可されている KMS キーを使用するには、**[別のアカウントのキーの ARN を入力]** を選択します。次に、**AWS KMS key ARN** ボックスに、使用するキーの Amazon リソースネーム (ARN) を入力します。例えば、**arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab**

1. 設定の入力が完了したら、**Save** (保存) を選択します。

Macie は設定をテストして、それらが正しいことを検証します。Macie が IAM ロールを引き受けるように設定した場合、Macie は、そのロールがアカウントに存在し、信頼ポリシーと許可ポリシーが正しく設定されていることも検証します。問題がある場合は、その詳細を説明するメッセージが表示されます。

の問題に対処するには AWS KMS key、[前のトピック](#findings-retrieve-sd-configure-key)の要件を参照して、要件を満たす KMS キーを指定します。IAM ロールの問題に対処するには、まず正しいロール名を入力したことを確認します。名前が正しい場合は、Macie がそのロールを引き受けるためのすべての要件を、そのロールのポリシーが満たしていることを確認します。これらの詳細については、「[対象の S3 オブジェクトにアクセスするための IAM ロールの設定](findings-retrieve-sd-options.md#findings-retrieve-sd-options-s3access-role-configuration)」を参照してください。問題に対処したら、設定を保存して有効にすることができます。

**注記**  
自分が組織の Macie の管理者で、IAM ロールを引き受けるように Macie を設定した場合、アカウントのための設定を保存した後、Macie は外部 ID を生成して表示します。この ID を書き留めます。該当する各メンバーアカウントの IAM ロールの信頼ポリシーには、この ID を指定する必要があります。指定されていない場合、アカウントが所有する S3 オブジェクトから機密データのサンプルを取得できません。

------
#### [ API ]

設定をプログラムで構成して、有効にするには、Amazon Macie API の [UpdateRevealConfiguration](https://docs.aws.amazon.com/macie/latest/APIReference/reveal-configuration.html) オペレーションを使用します。リクエストでは、サポートされているパラメータの適切な値を指定します。
+ `retrievalConfiguration` パラメータで、対象の S3 オブジェクトから機密データのサンプルを取得する際に使用するアクセスメソッドと設定を指定します。
  + Macie にアクセスを委任する IAM ロールを引き受けるには、`retrievalMode` パラメータに `ASSUME_ROLE` を指定し、`roleName` パラメータにロールの名前を指定します。これらの設定を指定すると、Macie は で作成および設定した IAM ロールを引き受けてサンプルを取得します AWS アカウント。
  + サンプルをリクエストする IAM ユーザーの認証情報を使用するには、`retrievalMode` パラメータに `CALLER_CREDENTIALS` を指定します。この設定を指定すると、アカウントの各ユーザーは、個別の IAM ID を使用してサンプルを取得します。
**重要**  
これらのパラメータの値を指定しない場合、Macie はアクセスメソッド (`retrievalMode`) を `CALLER_CREDENTIALS` に設定します。また、Macie が現在 IAM ロールを使用してサンプルを取得するように設定されている場合、Macie は現在のロール名と設定の外部 ID を完全に削除します。既存の設定のためにこれらの設定を維持するには、リクエストに `retrievalConfiguration` パラメータを含めて、それらのパラメータのために現在の設定を指定します。現在の設定を取得するには、[GetRevealConfiguration](https://docs.aws.amazon.com/macie/latest/APIReference/reveal-configuration.html) オペレーションを使用するか、 AWS Command Line Interface (AWS CLI) を使用している場合は [get-reveal-configuration](https://docs.aws.amazon.com/cli/latest/reference/macie2/get-reveal-configuration.html) コマンドを実行します。
+ `kmsKeyId` パラメータ AWS KMS key には、取得される機密データサンプルの暗号化に使用する を指定します。
  + 自分のアカウントから KMS キーを使用するには、キーの Amazon リソースネーム (ARN)、ID、またはエイリアスを指定します。エイリアスを指定する場合は、`alias/` プレフィックスを含めてください。例えば、`alias/ExampleAlias`
  + 別のアカウントが所有する KMS キーを使用するには、キーの ARN を指定します。例えば、`arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`または、キーのエイリアスの ARN を指定します。例えば、`arn:aws:kms:us-east-1:111122223333:alias/ExampleAlias`
+ `status` パラメータには、Macie `ENABLED` アカウントの設定を有効にするように指定します。

リクエスト AWS リージョン では、設定を有効にして使用する も必ず指定してください。

を使用して設定を設定および有効にするには AWS CLI、[update-reveal-configuration](https://docs.aws.amazon.com/cli/latest/reference/macie2/update-reveal-configuration.html) コマンドを実行し、サポートされているパラメータに適切な値を指定します。たとえば、Microsoft Windows AWS CLI で を使用している場合は、次のコマンドを実行します。

```
C:\> aws macie2 update-reveal-configuration ^
--region us-east-1 ^
--configuration={\"kmsKeyId\":\"arn:aws:kms:us-east-1:111122223333:alias/ExampleAlias\",\"status\":\"ENABLED\"} ^
--retrievalConfiguration={\"retrievalMode\":\"ASSUME_ROLE\",\"roleName\":\"MacieRevealRole\"}
```

コードの説明は以下のとおりです。
+ *us-east-1* は、設定を有効にして使用するリージョンです。この例では、米国東部 (バージニア北部) リージョンです。
+ *arn:aws:kms:us-east-1:111122223333:alias/ExampleAlias* は、使用する AWS KMS key のエイリアスの ARN です。この例では、キーは別のアカウントが所有しています。
+ 設定のステータスは `ENABLED` です。
+ *ASSUME\$1ROLE* は、使用するアクセスメソッドです。この例では、指定された IAM ロールを引き受けます。
+ *MacieRevealRole* は、機密データのサンプルを取得する際に Macie が引き受ける IAM ロールの名前です。

前述の例は、読みやすさを向上させるためにキャレット (^) の行連結文字を使用します。

リクエストを送信すると、Macie は設定をテストします。Macie が IAM ロールを引き受けるように設定した場合、Macie は、そのロールがアカウントに存在し、信頼ポリシーと許可ポリシーが正しく設定されていることも検証します。問題がある場合、リクエストは失敗し、Macie は問題を説明するメッセージを返します。の問題に対処するには AWS KMS key、[前のトピック](#findings-retrieve-sd-configure-key)の要件を参照して、要件を満たす KMS キーを指定します。IAM ロールの問題に対処するには、まず、正しいロール名を指定したことを確認します。名前が正しい場合は、Macie がそのロールを引き受けるためのすべての要件を、そのロールのポリシーが満たしていることを確認します。これらの詳細については、「[対象の S3 オブジェクトにアクセスするための IAM ロールの設定](findings-retrieve-sd-options.md#findings-retrieve-sd-options-s3access-role-configuration)」を参照してください。問題に対処した後、リクエストを再度送信します。

リクエストが成功すると、Macie は指定されたリージョンのアカウント設定を有効にし、次のような出力を受け取ります。

```
{
  "configuration": {
    "kmsKeyId": "arn:aws:kms:us-east-1:111122223333:alias/ExampleAlias",
    "status": "ENABLED"
  },
  "retrievalConfiguration": {
    "externalId": "o2vee30hs31642lexample",
    "retrievalMode": "ASSUME_ROLE",
    "roleName": "MacieRevealRole"
  }
}
```

ここで AWS KMS key 、 は取得される機密データサンプルの暗号化に使用する `kmsKeyId`を指定し、 `status`は Macie アカウントの設定のステータスです。`retrievalConfiguration` の値は、サンプルを取得する際に使用するアクセスメソッドと設定を指定します。

**注記**  
自分が組織の Macie の管理者で、Macie が IAM ロールを引き受けるように設定した場合は、応答内の外部 ID (`externalId`) を書き留めます。該当する各メンバーアカウントの IAM ロールの信頼ポリシーには、この ID を指定する必要があります。指定されていない場合、アカウントが所有する対象の S3 オブジェクトから機密データのサンプルを取得できません。

その後、アカウントの設定またはステータスを確認するには、[GetRevealConfiguration](https://docs.aws.amazon.com/macie/latest/APIReference/reveal-configuration.html) オペレーションを使用するか、 で [get-reveal-configuration](https://docs.aws.amazon.com/cli/latest/reference/macie2/get-reveal-configuration.html) コマンド AWS CLIを実行します。

------

## Macie の設定の無効化
<a name="findings-retrieve-sd-configure-manage"></a>

Amazon Macie アカウントの構成設定はいつでも無効にできます。設定を無効にすると、Macie は取得される機密データサンプルの暗号化 AWS KMS key に使用する設定を保持します。Macie は、構成についての Amazon S3 のアクセス設定を完全に削除します。

**警告**  
Macie アカウントのために構成設定を無効にすると、対象の S3 オブジェクトに対するアクセスメソッドを指定する現在の設定も完全に削除されます。Macie が AWS Identity and Access Management (IAM) ロールを引き受けることによって影響を受けるオブジェクトにアクセスするように現在設定されている場合、これにはロールの名前と、Macie が設定用に生成した外部 ID が含まれます。これらの設定は、削除後は復元できません。

Macie アカウントのために構成設定を無効にするには、Amazon Macie コンソールまたは Amazon Macie API を使用できます。

------
#### [ Console ]

Amazon Macie コンソールを使用して、アカウントのために構成設定を無効にするには、次のステップに従います。

**Macie の設定を無効にするには**

1. Amazon Macie コンソール ([https://console.aws.amazon.com/macie/](https://console.aws.amazon.com/macie/)) を開きます。

1. ページの右上隅にある AWS リージョン セレクターを使用して、Macie アカウントの設定を無効にするリージョンを選択します。

1. ナビゲーションペインの **設定** で、**イベントの流れ** を選択します。

1. **設定** セクションで、**編集** を選択します。

1. **[ステータス]** で、**[無効]** を選択します。

1. **[保存]** を選択します。

------
#### [ API ]

構成設定をプログラムで無効にするには、Amazon Macie API の [UpdateRevealConfiguration](https://docs.aws.amazon.com/macie/latest/APIReference/reveal-configuration.html) オペレーションを使用します。リクエスト AWS リージョン で、設定を無効にする を必ず指定してください。`status` パラメータでは、`DISABLED` を指定します。

 AWS Command Line Interface (AWS CLI) を使用して設定を無効にするには、[update-reveal-configuration](https://docs.aws.amazon.com/cli/latest/reference/macie2/update-reveal-configuration.html) コマンドを実行します。設定を無効にするリージョンを指定するには `region` パラメータを使用します。`status` パラメータでは、`DISABLED` を指定します。たとえば、Microsoft Windows AWS CLI で を使用している場合は、次のコマンドを実行します。

```
C:\> aws macie2 update-reveal-configuration --region us-east-1 --configuration={\"status\":\"DISABLED\"}
```

コードの説明は以下のとおりです。
+ *us-east-1* は、設定を無効にするリージョンです。この例では、米国東部 (バージニア北部) リージョンです。
+ `DISABLED` は、設定の新しいステータスです。

リクエストが成功すると、Macie は指定されたリージョンのアカウント設定を無効にし、次のような出力を受け取ります。

```
{
    "configuration": {
        "status": "DISABLED"
    }
}
```

`status` は Macie アカウントの設定の新しいステータスです。

------

Macie が機密データのサンプルを取得する IAM ロールを引き受けるように設定されている場合は、オプションでロールとロールの許可ポリシーを削除できます。アカウントのために構成設定を無効にしても、Macie はこれらのリソースを削除しません。さらに、Macie は、これらのリソースを使用してアカウントの他のタスクを実行することはありません。ロールとその許可ポリシーを削除するために、IAM コンソールまたは IAM API を使用できます。詳細については、「AWS Identity and Access Management ユーザーガイド」の「[ロールの削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html)」を参照してください。

# Macie の検出結果の機密データのサンプルを取得する
<a name="findings-retrieve-sd-proc"></a>

Amazon Macie を使用すると、Macie が個々の機密データの検出結果で報告する機密データのサンプルを取得して公開できます。これには、Macie が [マネージドデータ識別子](managed-data-identifiers.md) を使用して検出した機密データ、および使用するジョブを設定している任意の [カスタムデータ識別子](custom-data-identifiers.md) の基準に一致するデータが含まれます。サンプルは、Macie が検出した機密データの性質を確認するのに役立ちます。また、影響を受ける Amazon Simple Storage Service (Amazon S3) オブジェクトとバケットの調査を調整するのにも役立ちます。アジアパシフィック (大阪) およびイスラエル (テルアビブ) リージョンを除く AWS リージョン Macie が現在利用可能なすべての で、機密データのサンプルを取得して公開できます。

検出結果の機密データサンプルを取得して公開すると、Macie は、対応する[機密データ検出結果](discovery-results-repository-s3.md)のデータを使用して、検出結果によって報告された機密データのうち、最初の 1 ～ 10 件を特定します。次に、Macie は該当する S3 オブジェクトから各出現の最初の 1 ～ 128 文字を抽出します。検出結果から複数のタイプの機密データが報告された場合、Macie はその結果によって報告された最大 100 タイプの機密データに対して抽出を行います。

Macie が影響を受けた S3 オブジェクトから機密データを抽出すると、Macie は指定した AWS Key Management Service (AWS KMS) キーでデータを暗号化し、暗号化されたデータをキャッシュに一時的に保存し、検出結果の結果にデータを返します。Macie は、運用上の問題を解決するために一時的に追加の保存が必要になった場合を除き、抽出と暗号化の直後に、データをキャッシュから完全に削除します。

機密データのサンプルを再度取得して公開することを選択した場合、Macie はサンプルの検索、抽出、暗号化、保存、そして最終的には削除のプロセスを繰り返します。

Amazon Macie コンソールを使用して機密データサンプルを取得して公開する方法のデモンストレーションについては、以下のビデオをご覧ください。




**Topics**
+ [[開始する前に]](#findings-retrieve-sd-proc-prereqs)
+ [検出結果についてのサンプルが使用できるかどうかの判断](#findings-retrieve-sd-proc-criteria)
+ [検出結果のサンプルを取得する](#findings-retrieve-sd-proc-steps)

## [開始する前に]
<a name="findings-retrieve-sd-proc-prereqs"></a>

検出結果についての機密データのサンプルを取得して公開する前に、[Amazon Macie アカウントの設定を構成し、有効にする](findings-retrieve-sd-configure.md)必要があります。また、 AWS 管理者と協力して、必要なアクセス許可とリソースがあることを確認する必要があります。

検出結果についての機密データのサンプルを取得して公開すると、Macie は、サンプルを検索、取得、暗号化、公開する一連のタスクを実行します。Macie はこれらのタスクを実行するのに、アカウントの Macie [サービスにリンクされたロール](service-linked-roles.md)を使用しません。代わりに、 AWS Identity and Access Management (IAM) ID を使用するか、Macie がアカウントで IAM ロールを引き受けることを許可します。

検出結果の機密データサンプルを取得して公開するには、検出結果、対応する機密データ検出結果、および機密データサンプルの暗号化に使用するように Macie を AWS KMS key 設定した にアクセスできる必要があります。さらに、ユーザーまたは IAM ロールは、対象の S3 バケットおよび対象の S3 オブジェクトにアクセスすることが許可されている必要があります。該当する場合、ユーザーまたはロールは、影響を受けるオブジェクトの暗号化に AWS KMS key 使用された の使用も許可されている必要があります。IAM ポリシー、リソースポリシー、または他の許可の設定によって必要なアクセスが拒否された場合、エラーが発生し、Macie は検出結果についてのサンプルを返しません。

また、次の Macie アクションの実行が許可される必要があります。
+ `macie2:GetMacieSession`
+ `macie2:GetFindings`
+ `macie2:ListFindings`
+ `macie2:GetSensitiveDataOccurrences`

最初の 3 つのアクションでは、Macie アカウントにアクセスして検出結果の詳細を取得できます。最後のアクションでは、検出結果についての機密データのサンプルを取得して公開できます。

Amazon Macie コンソールを使用して機密データのサンプルを取得して公開するには、次のアクションの実行も許可されている必要があります: `macie2:GetSensitiveDataOccurrencesAvailability`。このアクションにより、個々の検出結果にサンプルがあるかどうかを判断できます。このアクションを実行しても、サンプルをプログラムで取得して公開するアクセス許可は必要ありません。ただし、このアクセス許可があると、サンプルの検索を効率化できます。

自分が組織の委任された Macie の管理者であり、機密データのサンプルを取得するための IAM ロールを引き受けるように Macie を設定した場合は、次のアクションの実行も許可されている必要があります: `macie2:GetMember`。このアクションにより、自分のアカウントと対象のアカウントとの関連付けに関する情報を取得できます。これにより、対象のアカウントについてユーザーが現在 Macie の管理者であることを Macie が検証できます。

必要なアクションを実行したり、必要なデータとリソースにアクセスしたりすることが許可されていない場合は、 AWS 管理者にお問い合わせください。

## 検出結果についての機密データのサンプルが使用できるかどうかの判断
<a name="findings-retrieve-sd-proc-criteria"></a>

検出結果に必要な機密データのサンプルを取得して明らかにするためには、その検出結果が一定の基準を満たす必要があります。特定の機密データが見つかった場合の位置データを含める必要があります。さらに、対応する有効な機密データ検出結果の場所を指定する必要があります。機密データ検出結果は、検出結果 AWS リージョン と同じ に保存する必要があります。(IAM) ロールを AWS Identity and Access Management 引き受けて影響を受ける S3 オブジェクトにアクセスするように Amazon Macie を設定した場合、機密データ検出結果は、Macie がハッシュベースのメッセージ認証コード (HMAC) で署名した S3 オブジェクトにも保存する必要があります AWS KMS key。<a name="findings-retrieve-sd-criteria-mimetype"></a>

影響を受ける S3 オブジェクトも一定の基準を満たす必要があります。オブジェクトの MIME タイプは、次のいずれかである必要があります。
+ application/avro は、Apache Avro オブジェクトコンテナ (.avro) ファイルの場合
+ application/gzip は、GNU Zip 圧縮アーカイブ (.gz または.gzip) ファイルの場合
+ application/json、JSON または JSON ライン (.json または.jsonl) ファイルの場合
+ application/parquet、Apache Parquet (.parquet) ファイル
+ application/vnd.openxmlformats-officedocument.spreadsheetml.sheet、Microsoft Excel ワークブック (.xlsx) ファイルのサイズ
+ application/zip は、ZIP 圧縮アーカイブファイル (.zip) の場合
+ text/csv 、CSV (.csv) ファイルの場合
+ text/plain 、CSV、JSON、JSON ライン、または TSV ファイル以外の非バイナリテキストファイルの場合
+ text/tab-separated-values 、TSV (.tsv) ファイルの場合

さらに、S3 オブジェクトの内容は検出結果が作成されたときと同じである必要があります。Macie はオブジェクトのエンティティタグ (ETag) をチェックして、検出結果で指定された ETag と一致するかどうかを判断します。また、オブジェクトのストレージサイズは、機密データサンプルの取得と公開に適用されるサイズクォータを超えることはできません。適用可能なクォータのリストについては、[Macie のクォータ](macie-quotas.md)を参照してください。

結果と影響を受ける S3 オブジェクトが前述の基準を満たす場合は、その検出結果に機密データのサンプルを使用できます。特定の検出結果のサンプルを取得して公開する前に、これがその検出結果に当てはまるかどうかを任意で判断できます。

**センシティブデータのサンプルが検出結果に利用できるかどうかを判断するには**  
Amazon Macie コンソールまたは Amazon Macie API を使用して、機密データのサンプルが検出結果に使用できるかどうかを判断できます。

------
#### [ Console ]

Amazon Macie コンソールの次の手順に従って、機密データのサンプルが検出結果に利用できるかどうかを判断します。

**検出結果にサンプルが使用できるかどうかを判断するには**

1. Amazon Macie コンソール ([https://console.aws.amazon.com/macie/](https://console.aws.amazon.com/macie/)) を開きます。

1. ナビゲーションペインで **調査結果** を選択します。

1. GuardDuty の 検出結果**** のページで、検出結果を選択します。詳細パネルに、調査結果の情報が表示されます。

1. 詳細パネルで、**詳細** セクションにスクロールします。次に、[**サンプルを公開**] フィールドを参照してください。

   検出結果に機密データのサンプルがある場合は、次の図に示すように **レビュー** リンクがフィールドに表示されます。  
![\[検出結果の詳細パネルの [サンプルを公開] フィールド。このフィールドには、[確認] というラベルのリンクが含まれています。\]](http://docs.aws.amazon.com/ja_jp/macie/latest/user/images/scrn-findings-reveal-samples.png)

   検出結果に用いる機密データサンプルがない場合、[**サンプルを公開**] フィールドには理由を示すテキストが表示されます。
   + **[アカウントが組織に含まれていません]** – Macie を使用して、対象の S3 オブジェクトにアクセスすることは許可されていません。対象のアカウントは現在、組織に属していません。あるいは、アカウントは組織に属していますが、現在の AWS リージョンのアカウントのために Macie が有効になっていません。
   + **[分類の結果が無効です]** – 検出結果についての機密データ検出の結果はありません。または、対応する機密データ検出結果が現在 AWS リージョンのデータにはない、形式に誤りがある、破損している、またはサポートされていない保存形式が使用されています。Macie は、取得する機密データの場所を検証できません。
   + **[結果の署名が無効です]** – 対応する機密データ検出の結果は、Macie によって署名されていない S3 オブジェクトに保存されています。Macie は、機密データ検出の結果の完全性と信頼性を検証できません。そのため、Macie は取得する機密データの場所を検証できません。
   + **[メンバーロールの許可範囲が広すぎます]** - 対象のメンバーアカウントの IAM ロールの信頼または許可ポリシーが、ロールに対するアクセスの制限に関する Macie の要件を満たしていません。あるいは、ロールの信頼ポリシーで組織の正しい外部 ID が指定されていません。Macie は、機密データを取得するためのロールを引き受けることができません。
   + **[GetMember 許可がありません]** – 自分のアカウントと対象のアカウントとの関連付けに関する情報を取得することが許可されていません。Macie は、対象のアカウントについての委任された Macie の管理者として、対象の S3 オブジェクトにアクセスすることが許可されているかどうかを判断できません。
   + **[オブジェクトがサイズクォータを超えています]** – 対象の S3 オブジェクトのストレージサイズが、そのタイプのファイルから機密データのサンプルを取得して公開するためのサイズクォータを超えています。
   + **[オブジェクトを使用できません]** – 対象の S3 オブジェクトは使用できません。Macie が検出結果を作成した後に、オブジェクトの名前が変更されたり、移動されたり、削除されたり、その内容が変更されたりしました。または、使用できない AWS KMS key でオブジェクトが暗号化されています。例えば、キーが無効になっているか、削除がスケジュールされているか、削除されています。
   + **[結果が署名されていません]** – 対応する機密データ検出の結果は、署名されていない S3 オブジェクトに保存されています。Macie は、機密データ検出の結果の完全性と信頼性を検証できません。そのため、Macie は取得する機密データの場所を検証できません。
   + **[ロールの許可範囲が広すぎます]** - アカウントは、ロールに対するアクセスの制限に関する Macie 要件を満たしていない信頼または許可ポリシーを持つ IAM ロールを使用して、機密データの出現を取得するように設定されています。Macie は、機密データを取得するためのロールを引き受けることができません。
   + **[サポートされていないオブジェクトタイプ]** – 対象の S3 オブジェクトは、Macie が機密データのサンプルの取得と公開をサポートしていないファイルまたはストレージ形式を使用しています。対象の S3 オブジェクトの MIME タイプが[前述のリスト](#findings-retrieve-sd-criteria-mimetype)の値に含まれていません。

   検出結果についての機密データ検出の結果に問題がある場合は、検出結果の **[詳細な結果の場所]** フィールドの情報が問題の調査に役立ちます。このフィールドは、Amazon S3 の結果への元のパスを指定します。IAM ロールの問題を調査するには、Macie がロールを引き受けるためのすべての要件を、ロールのポリシーが満たしているようにしてください。これらの詳細については、「[対象の S3 オブジェクトにアクセスするための IAM ロールの設定](findings-retrieve-sd-options.md#findings-retrieve-sd-options-s3access-role-configuration)」を参照してください。

------
#### [ API ]

機密データのサンプルが検出結果に使用できるかどうかをプログラムで判断するには、Amazon Macie APIの[機密データの発生可用性の取得](https://docs.aws.amazon.com/macie/latest/APIReference/findings-findingid-reveal-availability.html)オペレーションを使用できます。リクエストを送信するときは、`findingId` パラメータを使用して、検出結果の一意の識別子を指定します。この識別子を取得するには、[検出結果一覧](https://docs.aws.amazon.com/macie/latest/APIReference/findings.html)オペレーションを使用できます。

 AWS Command Line Interface (AWS CLI) を使用している場合は、[get-sensitive-data-occurrences-availability](https://docs.aws.amazon.com/cli/latest/reference/macie2/get-sensitive-data-occurrences-availability.html) コマンドを実行し、 `finding-id`パラメータを使用して検出結果の一意の識別子を指定します。この識別子を取得するには、[list-findings](https://docs.aws.amazon.com/cli/latest/reference/macie2/list-findings.html)コマンドを実行します。

リクエストが成功し、検出結果のサンプルが入手された場合は、お客様は次のような出力を受け取ります。

```
{
    "code": "AVAILABLE",
    "reasons": []
}
```

リクエストが成功しても結果にサンプルがない場合、`code` フィールドの値は `UNAVAILABLE` で、`reasons` 配列には理由が示されます。例えば、次のようになります。

```
{
    "code": "UNAVAILABLE",
    "reasons": [
        "UNSUPPORTED_OBJECT_TYPE"
    ]
}
```

検出結果についての機密データ検出の結果に問題がある場合は、検出結果の [`classificationDetails.detailedResultsLocation`] フィールドの情報が問題の調査に役立ちます。このフィールドは、Amazon S3 の結果への元のパスを指定します。IAM ロールの問題を調査するには、Macie がロールを引き受けるためのすべての要件を、ロールのポリシーが満たしているようにしてください。これらの詳細については、「[対象の S3 オブジェクトにアクセスするための IAM ロールの設定](findings-retrieve-sd-options.md#findings-retrieve-sd-options-s3access-role-configuration)」を参照してください。

------

## 検出結果の機密データのサンプルを取得する
<a name="findings-retrieve-sd-proc-steps"></a>

検出結果に含まれる機密データのサンプルを取得して公開するには、Amazon Macie コンソールまたは Amazon Macie API を使用できます。

------
#### [ Console ]

Amazon Macie コンソールを使用して、検出結果の機密データのサンプルを取得して表示するには、次のステップに従います。

**検出結果の機密データサンプルを取得して公開するには**

1. Amazon Macie コンソール ([https://console.aws.amazon.com/macie/](https://console.aws.amazon.com/macie/)) を開きます。

1. ナビゲーションペインで **調査結果** を選択します。

1. GuardDuty の 検出結果**** のページで、検出結果を選択します。詳細パネルに、調査結果の情報が表示されます。

1. 詳細パネルで、**詳細** セクションにスクロールします。次に、[**サンプルを公開**] フィールドで [**確認**] を選択します。  
![\[検出結果の詳細パネルの [サンプルを公開] フィールド。このフィールドには、[確認] というラベルのリンクが含まれています。\]](http://docs.aws.amazon.com/ja_jp/macie/latest/user/images/scrn-findings-reveal-samples.png)
**注記**  
[**サンプルを公開**] フィールドに [**確認**] リンクが表示されない場合、機密データのサンプルは結果に使用できません。その理由を確認するには、[前述のトピック](#findings-retrieve-sd-proc-criteria)を参照してください。

   [**レビュー**] を選択すると、Macie は検出結果の主要な詳細を要約したページを表示します。詳細には、Macie が影響を受けた S3 オブジェクトで見つけた機密データのカテゴリ、タイプ、出現の数が含まれます。

1. ページの [**機密データ**] セクションで、[**サンプルを公開**] を選択します。その後、Macie は、検出結果によって報告された機密データのうち、最初の 1～10 件の機密データの出現のサンプルを取得して公開します。各サンプルには、機密データの最初の 1 ～ 128 文字が含まれます。サンプルを取得して公開するまでに数分かかる場合があります。

   結果から複数のタイプの機密データが報告された場合、Macie は最大 100 タイプのサンプルを取得して表示します。たとえば、次の図は、AWS 認証情報、米国の電話番号、人の名前など、複数のカテゴリとタイプの機密データにまたがるサンプルを示しています。  
![\[サンプルテーブル。このテーブルには 9 つのサンプルと、各サンプルの機密データのカテゴリとタイプがリストされている。\]](http://docs.aws.amazon.com/ja_jp/macie/latest/user/images/scrn-findings-sd-samples.png)

   サンプルは最初にセンシティブデータカテゴリ別に整理され、次にセンシティブデータタイプ別に整理されています。

------
#### [ API ]

検出結果の機密データのサンプルをプログラムで取得して表示するには、Amazon Macie APIの[機密データの発生の取得](https://docs.aws.amazon.com/macie/latest/APIReference/findings-findingid-reveal.html)オペレーションを使用できます。リクエストを送信するときは、`findingId` パラメータを使用して、検出結果の一意の識別子を指定します。この識別子を取得するには、[検出結果一覧](https://docs.aws.amazon.com/macie/latest/APIReference/findings.html)オペレーションを使用できます。

 AWS Command Line Interface (AWS CLI) を使用して機密データのサンプルを取得して公開するには、[get-sensitive-data-occurrences](https://docs.aws.amazon.com/cli/latest/reference/macie2/get-sensitive-data-occurrences.html) コマンドを実行し、 `finding-id`パラメータを使用して検出結果の一意の識別子を指定します。例えば、次のようになります。

```
C:\> aws macie2 get-sensitive-data-occurrences --finding-id "1f1c2d74db5d8caa76859ec52example"
```

ここで、*1f1c2d74db5d8caa76859ec52example* は検出結果を表す一意の識別子です。を使用してこの識別子を取得するには AWS CLI、[list-findings](https://docs.aws.amazon.com/cli/latest/reference/macie2/list-findings.html) コマンドを実行します。

リクエストが成功すると、Macie がリクエストの処理を開始し、お客様は次のような出力を受け取ります。

```
{
    "status": "PROCESSING"
}
```

がスタックを作成するのに、数分かかります。数分以内にリクエストを再度送信してください。

Macie が機密データサンプルを検索、取得、暗号化できる場合、Macie はサンプルを `sensitiveDataOccurrences` マップに返します。マップには、検出結果によって報告された機密データが 1 ～ 100 タイプ指定され、タイプごとに 1 ～ 10 個のサンプルが指定されています。各サンプルには、検出結果によって報告された機密データの最初の 1 ～ 128 文字が含まれています。

マップ内の各キーは、機密データを検出したマネージドデータ識別子の ID、または機密データを検出したカスタムデータ識別子の名前と一意の識別子です。値は、指定されたマネージドデータ識別子またはカスタムデータ識別子のサンプルです。例えば、次のレスポンスは、マネージドデータ識別子 (`NAME` と `AWS_CREDENTIALS`) によって検出されたユーザーの名前の 3 つのサンプルとシー AWS クレットアクセスキーの 2 つのサンプルを提供します。

```
{
    "sensitiveDataOccurrences": {
        "NAME": [
            {
                "value": "Akua Mansa"
            },
            {
                "value": "John Doe"
            },
            {
                "value": "Martha Rivera"
            }
        ],
        "AWS_CREDENTIALS": [
            {
                "value": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
            },
            {
                "value": "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY"
            }
        ]
    },
    "status": "SUCCESS"
}
```

リクエストが成功しても、その検出結果に含まれる機密データのサンプルが見つからない場合は、サンプルが入手できない理由を示す `UnprocessableEntityException` メッセージが表示されます。例えば、次のようになります。

```
{
    "message": "An error occurred (UnprocessableEntityException) when calling the GetSensitiveDataOccurrences operation: OBJECT_UNAVAILABLE"
}
```

前述の例では、Macie は対象の S3 オブジェクトからサンプルを取得しようとしましたが、そのオブジェクトは使用不可になっています。Macie が検出結果を作成した後でオブジェクトの内容が変更されたこともあります。

リクエストが成功しても、別のタイプのエラーで、Macie が検出結果の機密データのサンプルを取得して表示できなかった場合は、お客様は次のような出力が表示されます。

```
{
    "error": "Macie can't retrieve the samples. You're not allowed to access the affected S3 object or the object is encrypted with a key that you're not allowed to use.",
    "status": "ERROR"
}
```

`ERROR` フィールドの値はで、`status` と `error` フィールドには発生したエラーが説明されています。[前述のトピック](#findings-retrieve-sd-proc-criteria)の情報は、エラーを調査するのに役立ちます。

------

# 機密データの場所を報告するためのスキーマ
<a name="findings-locate-sd-schema"></a>

Amazon Macie は、標準化された JSON 構造を使用して、Amazon Simple Storage Service (Amazon S3) オブジェクト内の機密データを検出した場所に関する情報を保存します。その構造は、機密データの検出結果で使用されます。機密データの検出結果では、構造は検出結果の JSON スキーマの一部です。検出結果の完全な JSON スキーマを確認するには、Amazon Macie API リファレンスの[検出結果](https://docs.aws.amazon.com/macie/latest/APIReference/findings-describe.html)を参照してください。機密データの検出結果の詳細については、[機密データ検出結果の保存と保持](discovery-results-repository-s3.md)を参照してください。

**Topics**
+ [スキーマの概要](#findings-locate-sd-schema-overview)
+ [スキーマの詳細と例](#findings-locate-sd-schema-examples)

## スキーマの概要
<a name="findings-locate-sd-schema-overview"></a>

Amazon Macie が対象の S3 オブジェクト内で検出した機密データの場所を報告するために、機密データ検出結果の JSON スキーマには 1 つの `customDataIdentifiers` オブジェクトと 1 つの `sensitiveData` オブジェクトが含まれます。`customDataIdentifiers` オブジェクトは、Macie が [カスタムデータ識別子](custom-data-identifiers.md)を使用して検出したデータの詳細を提供します。`sensitiveData` オブジェクトは、Macie が[マネージドデータ識別子](managed-data-identifiers.md)を使用して検出した機密データの詳細を提供します。

それぞれの `customDataIdentifiers` と `sensitiveData` オブジェクトには、1 つ以上の `detections` 配列が含まれます。
+ `customDataIdentifiers` オブジェクトでは、`detections` 配列は、データを検出して結果を生成したカスタムデータ識別子を示します。各カスタムデータ識別子について、配列は識別子が検出したデータの出現の数も示します。また、識別子が検出したデータの場所を示すこともできます。
+ `sensitiveData` オブジェクトでは、`detections` 配列 は、Macie がマネージドデータ識別子を使用して検出した機密データのタイプを示します。機密データのタイプごとに、配列はデータの出現の数も示し、またデータの場所を示すことができます。

機密データの調査結果では、`detections` 配列には 1～15 個の `occurrences` オブジェクトを含めることができます。それぞれの `occurrences` オブジェクトは、Macie が特定のタイプの機密データの個別の出現を検出した場所を指定します。

例えば、次の `detections` 配列は、Macie が CSV ファイルで機密データ (米国社会保障番号) の 3 箇所の出現場所を示します。

```
"sensitiveData": [
     {
       "category": "PERSONAL_INFORMATION",
       "detections": [
          {
             "count": 30,
             "occurrences": {
                "cells": [
                   {
                      "cellReference": null,
                      "column": 1,
                      "columnName": "SSN",
                      "row": 2
                   },
                   {
                      "cellReference": null,
                      "column": 1,
                      "columnName": "SSN",
                      "row": 3
                   },
                   {
                      "cellReference": null,
                      "column": 1,
                      "columnName": "SSN",
                      "row": 4
                   }
                ]
             },
             "type": "USA_SOCIAL_SECURITY_NUMBER"
           }
```

`detections` 配列内の `occurrences` オブジェクトの場所と数は、機密データ自動検出の分析サイクルまたは機密データ検出ジョブの実行中に Macie が検出する機密データのカテゴリ、タイプ、および発生数によって異なります。分析サイクルまたはジョブ実行のたびに、Macie は深さ優先検索アルゴリズムを使用して、S3 オブジェクト内で検出した出現 1 ～ 15 件の機密データの位置データを検出結果に取り込みます。これらの出現は、影響を受ける S3 バケットおよびオブジェクトに含まれる機密データのカテゴリとタイプを示すものです。

`occurrences` オブジェクトには、影響を受ける S3 オブジェクトのファイルタイプまたはストレージ形式に応じて、次の構造を含めることができます。
+ `cells` 配列 — この配列は Microsoft Excel ワークブック、CSV ファイル、および TSV ファイルに適用されます。この配列内のオブジェクトは、Macie が機密データの出現を検出したセルまたはフィールドを指定します。
+ `lineRanges` 配列 — この配列は、Eメールメッセージ (EML) ファイル、非バイナリテキストファイル (CSV、JSON、JSON Lines、TSV ファイル以外 — 例えば HTML、TXT、XML ファイルなど) に適用されます。この配列内のオブジェクトは、Macie が機密データの出現を検出した 1 つの行または包括的な範囲、および指定された行 (1 つまたは複数) のデータの位置を指定します。

  場合によっては、`lineRanges` 配列内のオブジェクトは、別のタイプの配列でサポートされているファイルタイプまたはストレージ形式で、機密データ検出の場所を指定します。そのような場合とは、ファイル内のコメントなど、構造化されたファイルの非構造化セクションでの検出、Macie がプレーンテキストとして分析する不正な形式のファイルの検出、Macie が機密データを検出した 1 つ以上の列名を持つ CSV または TSV ファイルなどです。
+ `offsetRanges` 配列 – この配列は、将来の利用のために予約されています。この配列が存在する場合、その配列の値は null です。
+ `pages` 配列 — この配列は Adobe Portable Document Format (PDF) ファイルに適用されます。この配列内のオブジェクトは、Macie が機密データの出現を検出したページを指定します。
+ `records` 配列 — この配列は Apache Avro オブジェクトコンテナ、Apache Parquet ファイル、JSON ファイル、および JSON Lines ファイルに適用されます。Avro オブジェクトコンテナおよび Parquet ファイルでは、この配列内のオブジェクトは、Macie が機密データの出現を検出したレコードインデックスおよびレコード内のフィールドへのパスを指定します。JSON および JSON Lines ファイルでは、この配列内のオブジェクトは、Macie が機密データの出現を検出したフィールドまたは配列へのパスを指定します。JSON Lines ファイルでは、データを含む行のインデックスも指定します。

これらの配列の内容は、影響を受けた S3 オブジェクトのファイルタイプまたはストレージ形式、およびその内容によって異なります。

## スキーマの詳細と例
<a name="findings-locate-sd-schema-examples"></a>

Amazon Macie は、特定のタイプのファイルやコンテンツ内の機密データを検出した場所を示すために使用する JSON 構造のコンテンツをカスタマイズします。次のトピックでは、これらの構造について説明し、例を示します。

**Topics**
+ [セルの配列](#findings-locate-sd-schema-examples-cell)
+ [LineRanges 配列](#findings-locate-sd-schema-examples-linerange)
+ [ページ配列](#findings-locate-sd-schema-examples-page)
+ [レコード配列](#findings-locate-sd-schema-examples-record)

機密データの検出結果に含めることができる JSON 構造の完全なリストについては、Amazon Macie API リファレンスの[検出結果](https://docs.aws.amazon.com/macie/latest/APIReference/findings-describe.html)を参照してください。

### セルの配列
<a name="findings-locate-sd-schema-examples-cell"></a>

Microsoft Excel ワークブック、CSV ファイル、および TSV ファイルに**適用先**

`cells` 配列内で、`Cell` オブジェクトは、Macie が機密データの出現を検出したセルまたはフィールドを指定します。以下のテーブルでは、`Cell` オブジェクト内の各フィールドの目的について説明しています。


| フィールド | タイプ | 説明 | 
| --- | --- | --- | 
| cellReference | 文字列 | 出現を含む絶対セル参照としてのセルの場所 このフィールドは、Excel ワークブックにのみ適用されます。CSV ファイルおよび TSV ファイルでは、この値は null です。 | 
| column | 整数 | 出現を含む列の列番号 Excel ワークブックでは、この値は列識別子のアルファベット文字に関連します。たとえば、列 A では、1、列 B では、2 など。 | 
| columnName | String | 出現を含む列の名前 (可能な場合) | 
| row | 整数 | 出現を含む行の行番号 | 

次の例では、Macie が CSV ファイル内で検出した機密データの出現場所を指定する `Cell` オブジェクトの構造を示します。

```
"cells": [
   {
      "cellReference": null,
      "column": 3,
      "columnName": "SSN",
      "row": 5
   }
]
```

前の例では、検出結果は Macie がファイルの 3 番目の列の 5 行目のフィールド (SSN) に機密データを検出したことを示しています。

次の例では、Macie が Excel ワークブック内で検出した機密データの出現場所を指定する `Cell` オブジェクトの構造を示します。

```
"cells": [
   {
      "cellReference": "Sheet2!C5",
      "column": 3,
      "columnName": "SSN",
      "row": 5
   }
]
```

前の例では、検出結果は Macie がワークブックの Sheet2 という名前のワークシートで機密データを検出したことを示しています。そのワークシートで Macie は 3 列目の 5 行目 (列 C、SSN) のセルに機密データを検出しました。

### LineRanges 配列
<a name="findings-locate-sd-schema-examples-linerange"></a>

適用先: Eメールメッセージ (EML) ファイル、非バイナリテキストファイル (CSV、JSON、JSON Lines、TSV ファイル以外 — 例えば HTML、TXT、XML ファイルなど

`lineRanges` 配列内で、`Range` オブジェクトは、Macie が機密データの出現を検出した 1 つの行または複数の行の包括的な範囲、および指定された行 (1 つまたは複数) のデータの位置を指定します。

このオブジェクトは、`occurrences` オブジェクトの他のタイプの配列でサポートされているファイルタイプでは空であることがしばしばあります。例外は次のとおりです。
+ 構造化されたファイルの構造化されていないセクション内のデータ。
+ Macie がプレーンテキストとして分析する不正な形式のファイル内のデータ。
+ Macie が機密データを検出した 1 つ以上の列名を持つ CSV ファイルまたは TSV ファイル

以下のテーブルでは、`lineRanges` 配列の `Range` オブジェクト内の各フィールドの目的について説明しています。


| フィールド | タイプ | 説明 | 
| --- | --- | --- | 
| end | 整数 | ファイルの先頭から出現の末尾までの行数 | 
| start | 整数 | ファイルの先頭から出現の先頭までの行数 | 
| startColumn | 整数 | 出現startを含む最初の行の先頭から出現の先頭までの、1 から始まるスペースを含めた文字数 | 

次の例では、Macie が TXTファイル内の 1 行に検出した機密データの出現場所を指定する `Range` オブジェクトの構造を示します。

```
"lineRanges": [
   {
      "end": 1,
      "start": 1,
      "startColumn": 119
   }
]
```

前の例では、検出結果は Macie がファイルの最初の行に機密データ (郵送先住所) の完全な出現を検出したことを示しています。出現での最初の文字は、その行の先頭から 119 番目の文字 (スペースを含む) です。

次の例では、TXT ファイル内の複数行にまたがる機密データの出現場所を指定する `Range` オブジェクトの構造を示します。

```
"lineRanges": [
   {
      "end": 54,
      "start": 51,
      "startColumn": 1
   }
]
```

前の例では、検出結果は Macie がファイルの 51 行目から 54 行目に機密データ (郵送先住所) の出現を検出したことを示しています。出現での最初の文字は、ファイルの 51 行目の最初の文字です。

### ページ配列
<a name="findings-locate-sd-schema-examples-page"></a>

Adobe Portable Document Format (PDF) ファイルに**適用先**

`pages` 配列内で、`Page` オブジェクトは、Macie が機密データの出現を検出したページを指定します。オブジェクトには `pageNumber` フィールドが含まれます。`pageNumber` フィールドは、出現を含むページ番号を指定する整数を格納します。

次の例では、Macie が PDF ファイル内で検出した機密データの出現場所を指定する `Page` オブジェクトの構造を示します。

```
"pages": [
   {
      "pageNumber": 10
   }
]
```

前の例では、検出結果はファイルの 10 ページに出現が含まれていることを示しています。

### レコード配列
<a name="findings-locate-sd-schema-examples-record"></a>

Apache Avro オブジェクトコンテナ、Apache Parquet ファイル、JSON ファイル、および JSON Lines ファイルに**適用先**

Avro オブジェクトコンテナまたは Parquet ファイルでは、`records` 配列内の `Record` オブジェクトは、Macie が機密データの出現を検出したレコードインデックスおよびレコード内のフィールドへのパスを指定します。JSON および JSON Lines ファイルでは、`Record` オブジェクトは、Macie が機密データの出現を検出したフィールドまたは配列へのパスを指定します。JSON Lines ファイルでは、出現を含む行のインデックスも指定します。

以下のテーブルでは、`Record` オブジェクト内の各フィールドの目的について説明しています。


| フィールド | タイプ | 説明 | 
| --- | --- | --- | 
| jsonPath | 文字列 |  JSONPath 式としての出現へのパス Avro オブジェクトコンテナまたは Parquet ファイルでは、これは出現を含むレコード`recordIndex`内のフィールドへのパスです。JSON または JSON Lines ファイルでは、これは出現を含むフィールドまたは配列へのパスです。データが配列内の値である場合、パスは出現を含む値も示します。 Macie がパス内の任意の要素の名前で機密データを検出した場合、Macie は `Record` オブジェクトから `jsonPath` フィールドを省略します。パス要素の名前が 240 文字を超える場合、Macie は名前の先頭から文字を削除して名前を切り捨てます。結果としてフルパスが 250 文字を超える場合、Macie はパスに含まれる文字が 250 文字以下になるまで、パスの最初の要素から開始してパスを切り捨てます。  | 
| recordIndex | 整数 | Avro オブジェクトコンテナまたは Parquet ファイルでは、出現を含むレコードの 0 から始まるレコードインデックス JSON Lines ファイルでは、出現を含む行の 0 から始まる行インデックス この値は、JSON ファイルでは常に 0 です。 | 

次の例では、Macie が Parquet ファイル内で検出した機密データの出現場所を指定する `Record` オブジェクトの構造を示します。

```
"records": [
   {
      "jsonPath": "$['abcdefghijklmnopqrstuvwxyz']",
      "recordIndex": 7663
   }
]
```

前の例では、検出結果は、インデックス 7663 (レコード番号 7664) のレコードで Macie が機密データを検出したことを示しています。そのレコードで、Macie は `abcdefghijklmnopqrstuvwxyz` という名前のフィールドで機密データを検出しました。レコード内のフィールドへの完全な JSON パスは `$.abcdefghijklmnopqrstuvwxyz` です。このフィールドはルート (外部レベル) オブジェクトの直系の子孫です。

次の例では、Macie が Parquet ファイル内で検出した機密データの出現の `Record` オブジェクトの構造も示します。この例では、名前が文字数の制限を超えているため、Macie は出現を含むフィールドの名前を切り捨てました。

```
"records": [
   {
      "jsonPath": "$['...uvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz']",
      "recordIndex": 7663
   }
]
```

前の例では、フィールドはルート (外部レベル) オブジェクトの直系の子孫です。

次の例でも、Macie が Parquet ファイル内で検出した機密データの出現に対し、Macie はその出現を含むフィールドへのフルパスを切り捨てました。フルパスが文字制限を超えています。

```
"records": [
   {
      "jsonPath": "$..usssn2.usssn3.usssn4.usssn5.usssn6.usssn7.usssn8.usssn9.usssn10.usssn11.usssn12.usssn13.usssn14.usssn15.usssn16.usssn17.usssn18.usssn19.usssn20.usssn21.usssn22.usssn23.usssn24.usssn25.usssn26.usssn27.usssn28.usssn29['abcdefghijklmnopqrstuvwxyz']",
      "recordIndex": 2335
   }
]
```

前の例では、検出結果は、インデックス 2335 (レコード番号 2336) のレコードで Macie が機密データを検出したことを示しています。そのレコードで、Macie は `abcdefghijklmnopqrstuvwxyz` という名前のフィールドで機密データを検出しました。レコード内のフィールドへの完全な JSON パスは以下です。

`$['1234567890']usssn1.usssn2.usssn3.usssn4.usssn5.usssn6.usssn7.usssn8.usssn9.usssn10.usssn11.usssn12.usssn13.usssn14.usssn15.usssn16.usssn17.usssn18.usssn19.usssn20.usssn21.usssn22.usssn23.usssn24.usssn25.usssn26.usssn27.usssn28.usssn29['abcdefghijklmnopqrstuvwxyz']`

次の例では、Macie が JSON ファイル内で検出した機密データの出現場所を指定する `Record` オブジェクトの構造を示します。この例では、出現は配列内の特定の値です。

```
"records": [
   {
      "jsonPath": "$.access.key[2]",
      "recordIndex": 0
   }
]
```

前の例では、検出結果は、`key` という名前の配列の 2 番目の値に Macie が機密データを検出したことを示しています。配列は、`access` という名前のオブジェクトの子です。

次の例では、Macie が JSON Lines ファイル内で検出した機密データの出現場所を指定する `Record` オブジェクトの構造を示します。

```
"records": [
   {
      "jsonPath": "$.access.key",
      "recordIndex": 3
   }
]
```

前の例では、検出結果は、ファイル内の 3 番目の値 (行) で Macie が機密データを検出したことを示しています。その行では、出現は `key` という名前のフィールドにあり、それは `access` という名前のオブジェクトの子です。