1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Amazon Macieのマネージドデータ識別子を試してみた

Posted at

背景・目的

Amazon Macieを試してみたでは、Amazon Macie(Macieという。)の基本的な特徴を整理し、簡単なセットアップを行いました。

本書では、マネージドデータ識別子の挙動を確認します。

まとめ

マネージドデータ識別子は、下記の特徴を有します。

特徴 説明
手法 Macieは、機械学習やパターンマッチングなどの基準と手法
ロジック データの近くにキーワードが必要
多くの国またはリージョンの機密データを検出 ・財務データ
・PHI
・PII
特定の種類の機密データも検出 ・AWS シークレットアクセスキー
・クレジットカード番号
・パスポート番号

概要

Amazon Macie でのマネージドデータ識別子の使用

Amazon Macie は、機械学習やパターンマッチングなどの基準と手法の組み合わせを使用して、Amazon Simple Storage Service (Amazon S3) オブジェクトの機密データを検出します。これらの基準と手法は、総称してマネージドデータ識別子と呼ばれ、複数のタイプの財務データ、個人健康情報 (PHI)、個人を特定できる情報 (PII) など、多くの国またはリージョンの機密データタイプの大規模かつ増加しているリストを検出できます。各マネージドデータ識別子は、特定の種類の機密データ (たとえば、AWS シークレットアクセスキー、クレジットカード番号、または特定の国またはリージョンのパスポート番号) を検出するように設計されています。

Macie は、マネージドデータ識別子を使用して、次のカテゴリの機密データを検出できます。

  • プライベートキーや AWS シークレットアクセスキーなどの認証情報データに関する認証情報
  • クレジットカード番号や銀行口座番号などの財務データに関する財務情報
  • 医療保険や医療識別番号などの PHI、および運転免許証識別番号やパスポート番号などの PII に関する個人情報
  • Macieは、機械学習やパターンマッチングなどの基準と手法を組み合わせて検出する
  • S3のデータが対象
  • 下記のような多くの国またはリージョンの機密データを検出できる
    • 財務データ
    • PHI
    • PII
  • また、特定の種類の機密データも検出できる
    • AWS シークレットアクセスキー
    • クレジットカード番号
    • パスポート番号

Amazon Macie マネージドデータ識別子のキーワード要件

マネージドデータ識別子を使用して特定のタイプの機密データを検出するには、Amazon Macie ではデータの近くにあるキーワードが必要です。特定のタイプのデータに当てはまる場合、このセクションのその後のトピックでは、そのデータのキーワード要件を示します。

  • データの近くにキーワードが必要

キーワードが特定のタイプのデータの近くにある必要がある場合は、通常、キーワードはデータから 30 文字以内 (包括的) になければなりません。追加の近接要件は、Amazon Simple Storage Service (Amazon S3) オブジェクトのファイルタイプまたはストレージ形式によって異なります。

  • キーワードからデータは30文字以内にある必要がある
  • その他はS3のファイルタイプや、ストレージ形式により異なる

Structured, columnar data (構造化された列指向データ)

列指向データでは、キーワードは同じ値の一部であるか、値を格納する列またはフィールドの名前内にある必要があります。これは、Microsoft Excel ワークブック、CSV ファイル、および TSV ファイルに当てはまります。

たとえば、フィールドの値に SSN と米国社会保障番号 (SSN) の構文を使用する 9 桁の番号の両方が含まれている場合、Macie はフィールド内の SSN を検出できます。同様に、列の名前に SSN が含まれている場合、Macie は列内の各 SSN を検出できます。Macie は、その列内の値を、キーワード SSN の近くにあるものとして扱います。

  • フィールドの値に、SSNと9桁の番号が両方含まれている場合、MacieはSSNを検出できる
  • 列の名前にSSNが含まれる場合、Macieは列内の各SSNを検出できる

Structured, record-based data (構造化されたレコードベースのデータ)

レコードベースのデータでは、キーワードは同じ値の一部であるか、値を格納するフィールドまたは配列へのパス内の要素の名前内にある必要があります。これは Apache Avro オブジェクトコンテナ、Apache Parquet ファイル、JSON ファイル、および JSON Lines ファイルに当てはまります。

- キーワードは同じ値の一部
- 値を格納するフィールド、配列へのパス内の要素の名前内にある必要がある。

たとえば、フィールドの値に credentials (認証情報) と AWS シークレットアクセスキーの構文を使用する文字シーケンスの両方が含まれている場合、Macie はフィールド内のキーを検出できます。同様に、フィールドへのパスが $.credentials.aws.key である場合、Macie はフィールド内の AWS シークレットアクセスキーを検出できます。Macie は、そのフィールド内の値を、キーワード credentials (認証情報) の近くにあるものとして扱います。

  • フィールドにCredentialsとAWSシークレットアクセスキーの構文を使用する文字シーケンスの両方が含まれる

Unstructured data (非構造化データ)

Adobe Portable Document Format ファイル、Microsoft Word ドキュメント、E メールメッセージ、および CSV、JSON、JSON Lines、および TSV ファイル以外の非バイナリテキストファイルでは、追加の近接要件はありません。通常、キーワードはデータから 30 文字以内 (包括的) になければなりません。これには、これらのタイプのファイルに含まれるテーブルなどの構造化データが含まれます。

  • Adobe、Word、Eメールなどは、近接要件はない

クイックリファレンス: Amazon Macie マネージドデータ識別子

実践

前提

下記の3種類のデータを用意し、S3バケットにアップロードします。

  • PII
    {"Type": "PersonalInformation", "FullName": "山田 XXXX", "Address": "東京都渋谷区", "PhoneNumber": "03-1234-5678", "Email": "xxx.yyyyy@example.com", "DriverLicenseNumber": "D123456789012", "PassportNumber": "AB1234567"}
    
  • finance
    {"Type": "FinancialInformation", "CreditCardNumber": "4111 1111 1111 1111", "BankAccountNumber": "123-456789-01", "BankRoutingNumber": "210-12345"}
    
  • Credential
    {"Type": "Credentials", "AWSAccessKeyId": "ABCDEFGAIOSFODNN7EXAMPLE", "AWSSecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"}
    

ジョブを作成

  1. ナビゲーションペインで「ジョブ」を選択します

  2. 画面右上の「ジョブを作成」をクリックします。
    image.png

  3. ポップアップが表示されるので、「はい」をクリックします。※機密データ検出ジョブは無料トライアルには含まれていません。
    image.png

  4. 検出対象のバケットを選択します。
    image.png

  5. 「次へ」をクリックします。
    image.png

  6. 機密データ検出オプションで、「ワンタイムジョブ」を選択します
    image.png

  7. サンプリング深度は「100%」とします

  8. その他設定で、ファイル拡張子にjsonを含め、「次へ」をクリックします。
    image.png

  9. マネージドデータ識別子のオプションで「推奨」を選択し、「次へ」をクリックします。
    image.png

  10. カスタムデータ識別子を選択では、何も設定せずに、「次へ」をクリックします

  11. 許可リストの選択で「次へ」をクリックします

  12. 一般設定では、ジョブ名を入力し、「次へ」をクリックします
    image.png

  13. 確認画面で、「送信」をクリックします

  14. できました
    image.png

ジョブの実行

  1. 上記で作成後、自動で実行されます。
    image.png

  2. しばらくすると完了します。「結果を表示」をクリックします。
    image.png

確認

検出結果

  1. 検出結果タイプが「SensitiveData:S3Object/Personal」で重要度「Medium」で検出されました。
    image.png

  2. 「検出結果タイプ」をクリックすると、右に詳細な情報が表示されます。
    image.png
    image.png

  3. 詳細な結果の場所をクリックすると、S3が表示されます

  4. ①「オブジェクトアクション」>②「S3 Selectを使用したクエリ」をクリックします
    image.png

  5. 「JSON」で読み込み出力すると詳細な結果がわかります。PIIのパスポート番号(イタリア)に引っかかったようです

      "category": "CLASSIFICATION",
      "classificationDetails": {
        "jobArn": "arn:aws:macie2:ap-northeast-1:xxxxxxxx:classification-job/xxxxxxxxx",
        "result": {
          "status": {
            "code": "COMPLETE"
          },
          "sizeClassified": "228",
          "mimeType": "application/json",
          "sensitiveData": [
            {
              "category": "PERSONAL_INFORMATION",
              "totalCount": "1",
              "detections": [
                {
                  "type": "ITALY_PASSPORT_NUMBER",
                  "count": "1",
                  "occurrences": {
                    "lineRanges": [],
                    "pages": [],
                    "records": [
                      {
                        "recordIndex": "0",
                        "jsonPath": "$.PassportNumber"
                      }
                    ],
                    "cells": []
                  }
                }
              ]
            }
          ]
        },
    

バケット別

  1. ナビゲーションペインで「バケット別」をクリックします。バケットごとの検出結果がわかります
    image.png

タイプ別

  1. ナビゲーションペインで「タイプ別」をクリックします。検出結果タイプごとの検出結果がわかります
    image.png

ジョブ別

  1. ナビゲーションペインで「ジョブ別」をクリックします。検出結果タイプごとの検出結果がわかります
    image.png

考察

今回、テストデータを作成し、マネージドデータ識別子で検出の検査を行いました。
次回は、カスタム識別子を試してみます。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?