AWSの「Amazon Macie」とは?
「Amazon Macie」とは、「機密データ」に関するAWSのデータセキュリティサービスの一つです。
最初に、「機密データ」に関する課題」及び「Amazon Macie」で解決できる課題について解説します。
「Amazon Macie」の対象となる「機密データ」とは?
「Amazon Macie」の対象となる「機密データ」とは、「保護が必要な情報」と「競合他社に知られてはいけない情報」です。
「保護が必要な情報」には、個人識別情報、クレジットカード番号や銀行口座番号等があります。また「競合他社に知られてはいけない情報」に特許情報、設計技術等の企業活動で秘匿すべき情報があります。
「機密データ」に関する課題
「機密データ」に関する課題は、明確にセキュリティの管理下にあるデータばかりではなく、通常データの中に紛れ込む可能性がある点です。
例えば、AWSの「データレイク」の中に、Webサイトからの入力等によって機密データが入り込む可能性があります。また、会員登録サイト等のログデータの中に機密データが混入する可能性もあります。
こういった、想定外の箇所に「機密データ」が紛れ込んだ場合の対処が必要となります。
「Amazon Macie」で解決できる課題
「Amazon Macie」で解決できる課題は、所定の設定に基づいて、データレイク内に混入した「機密データ」を検出してくれる点です。
このデータレイクは「Amazon S3」バケットを指しており、バケットの利用状況と格納されているオブジェクトを可視化することで、機密データを評価と検出を可能としています。
「Amazon Macie」による評価と検出の結果は、AWSの他のサービスに連携することも可能です。
「Amazon Macie」の機能について
「Amazon Macie」の機能は、AWSのデータストレージである「Amazon S3」バケットの使用状況の可視化と評価、機密データの検出等の機能で主に構成されています。
バケットの使用状況の情報には、各バケットの暗号化状態等があります。またデータの評価結果から、暗号化されていないデータ等を検出して、所定のサービス宛にアラートを送信することもできます。
これらの機能の概要と、関連の技術やAWSサービスを含めて解説していきます。
「Amazon S3」バケットの概要表示
「Amazon Macie」の主要な機能の一つに、「Amazon S3」バケットの概要表示があります。
「AWSマネジメントコンソール」から「Amazon Macie」のサービスを選択して、「S3バケットの概要」画面で、バケットの概要を把握できます。
概要としては、「バケット数」、「ストレージ利用料」、「オブジェクト数」、「バケット公開状況」、「バケット暗号化状況」や「バケット共有状況」が表示されます。
「Amazon S3」バケットごとの利用状況表示
上記の概要表示の他に、「Amazon S3」バケットごとの利用状況を表示する機能があります。
「Amazon Macie」画面で「S3 バケット」をクリックすると、使用中のアカウントが持つバケットの状況を個別に参照できます。
表示されたバケットをクリックすると詳細内容が表示されます。
具体的には、「オブジェクト数」、「暗号化の有無と暗号化方式」、「パブリック・アクセスの有無」、「レプリケーション設定の有無」等があります。
機密データの検出
「Amazon Macie」には、AWSストレージサービスの「Amazon S3」内の秘匿されていない「機密データ」を検出する機能があります。
この検出は定期的なジョブで実行され、柔軟な検出範囲と検出条件の設定が可能です。この設定に基づいて、機械学習や正規表現のパターンマッチングで条件の一致する機密データを検出します。
なお、検出条件の設定には、「AWSマネージド定義」と「カスタム定義」の2種類があります。
正規表現による機密データのマッチング例
正規表現による機密データのマッチング例として、「IPアドレス」を例に説明します。
「IP アドレス」が「192.0.2.5」の場合に、以下のように設定します。
^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)¥.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
機密データを検出するジョブの設定について
機密データを検出するジョブは、「ジョブ定義」として設定します。
具体的には、「ジョブ名」、「対象S3バケット」、「機密データ検出オプション(実行スケジュール、サンプリング深度、オブジェクト条件)」、「カスタムデータ識別子オプション」を設定項目として入力します。
なお、「対象S3バケット」は複数指定することが可能です。
「Amazon Macie」の機密データ検出方法
「Amazon Macie」の機密データ検出方法は、機械学習とパターンマッチングの組み合わせにより実施されます。
具体的には、事前に設定された「キーワード」が存在するかを判定し、「キーワード」あればその近傍に機密データがあるかをチェックして検出します。
「Amazon Macie」のデータ識別子
「Amazon Macie」のデータ識別子には、「AWSマネージド識別子」と「カスタマーマネージド識別子」があります。
「AWSマネージド識別子」は、AWS側でマネージして提供している定義で、ユーザは変更できません。ジョブ実行時には、この識別子でデフォルトの検出を実施します。
「カスタマーマネージド識別子」は、ユーザ側で検収条件等を定義が可能で、独自のルール設定が可能です。
スケーラビリティと集中管理
「Amazon Macie」では、スケーラビリティと集中管理の両立が可能となっています。
具体的には、「AWS Organizations(※後述します)」を利用することで両立が可能です。
「AWS Organizations」とは?
「AWS Organizations」とは、同一組織内の複数アカウントを一元管理できるAWSのアカウントサービスです。
AWS上でアカウントが使用しているリソースの増加と、それに応じたスケーリングに対応しています。また、他のAWSサービスと連携しているため、同一組織内におけるアカウント間でリソースを共有することが可能です。
日本語対応について
日本語対応については、「UTF-8」のみがサポートされています。
他の文字コード(EUC、Shift_JIS等)の文字情報が含まれるファイルは「検出対象外」となる点に注意が必要です。
「AWSマネージド識別子」にも日本語のキーワードは登録されていませんが、「カスタマーマネージド識別子」では、日本語の「キーワード」指定が可能となっています。
AWSマネジメントコンソール上での検出結果の確認
AWSマネジメントコンソール上で、検出結果を確認することができます。検出結果はファイル単位で表示され、何も検出されなかったファイルは表示されません。
1個のファイルに複数の機密データが含まれていた場合には、検出結果としては単1つだけ表示され、含まれていた機密データの個数情報が表示されます。
なお何行目に含まれていたという情報は検出結果に含まれません。
マルチアカウント環境における管理
マルチアカウント環境では、「マスター/メンバー構成」を取ることが可能です。
つまり、「マスターアカウント」にて「Amazon Macie」でジョブを作成し、「メンバーアカウント」で実行できるということです。
メンバーアカウントを手動で追加する場合は「1000アカウント」まで、「AWS Organizations」構成の場合は「5000アカウント」までサポートしています。
「Amazon Macie」のまとめ
「機密データ」に関するAWSのデータセキュリティサービス「Amazon Macie」について、前提となる問題や「Amazon Macie」で解決できる課題、機能の概要として「Amazon S3」バケットの使用状況の可視化と評価、機密データの検出等の機能、そして関連の技術について解説してきました。
AWSのようなクラウド上で管理するデータ量は大規模化していく際に、データのセキュリティを保つためにはコストも時間も掛かります。
「Amazon Macie」を活用することで、データ保護のコスト削減を検討してみてはいかがでしょうか。
この記事の監修者・著者

-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
最新の投稿
- 2023年11月21日キャリア・転職ITエンジニアへのキャリアチェンジに多い理由は?
- 2023年11月20日キャリア・転職フリーターからの就職でおすすめの職業は?
- 2023年11月20日キャリア・転職経理へのキャリアチェンジ転職・志望動機は?
- 2023年11月20日キャリア・転職法務からのキャリアチェンジおすすめの業界は?