TOP>コラム一覧>Athenaでのクロスアカウント接続 SageMakerの閉域化と監視及び接続のセキュア化(後編)

Athenaでのクロスアカウント接続
SageMakerの閉域化と監視及び接続のセキュア化
(後編)

前編に引き続いて、後編になります。

Athenaでのクロスアカウント接続 SageMakerの閉域化と監視及び接続のセキュア化(前編)

1. 概要

前編でAmazon SageMakerを閉域化しましたが、そのSageMakerの通信を監視する必要性が出てくると思います。また、Amazon SageMakerへの接続に関するセキュリティーを強化したい場合もあります。
後編では、VPC Flow Logsによる監視や接続のセキュア化方法をご紹介します。

2. VPC Flow Logsによる閉域網の監視

VPC フローログは、VPC のネットワークインターフェイスとの間で行き来する IP トラフィックに関する情報をキャプチャできるようにする機能です。フローログデータは、Amazon CloudWatch Logs、Amazon S3、Amazon Data Firehose に発行できます。フローログを作成したら、設定したロググループ、バケット、または配信ストリームのフローログレコードを取得して表示できます。

フローログは、以下のような多くのタスクに役立ちます。

  • 制限の過度に厳しいセキュリティグループルールを診断する
  • インスタンスに到達するトラフィックを監視する
  • ネットワークインターフェイスに出入りするトラフィックの方向を決定する

https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/flow-logs.html

3. リモート接続制御によるセキュア化

たとえMFA認証していても、一旦、AWSコンソールにログインすると、データが接続端末に自由にダウンロードできてしまいます。

対策として、以下のような設計を行うことでセキュア化します。

  1. ① 許可した端末以外からAWS管理コンソールへ接続させない
  2. ② WorkSpacesからデータを持ち出すことはできないので、 AWS管理コンソールへのアクセスをWorkSpaces経由することを強制させる。

4. 追加した構成

前編までの構成に、2.VPC Flow Logs、3.リモート接続制御によるセキュア化を構築していきます。

① VPC Flow Logs、WorkSpaces

VPC Flow Logs設定

アカウントXで作成したVPC全体に対してすべての通信をキャプチャしてS3バケットに配置するようにします。

フィルタ 送信先タイプ 送信先
すべて S3 arn:aws:s3:::s3bucket-xxxx/91_vpcflowlogs/

VPC Flow LogsのAthenaテーブル作成設定

VPC Flow Logsを検索用のAthenaテーブルの作成は、さまざまな作り方がありますので、以下のユーザガイドを参考にしてみてください。

https://docs.aws.amazon.com/ja_jp/athena/latest/ug/vpc-flow-logs-create-table-statement.html

WorkSpaces

WorkSpaceをプライベートサブネット2,3に配置します。

② ポリシー、ロール

アカウントX側に以下のポリシー(remote-policy)を作成します(IPアドレスは仮で設定しています)。NATゲートウェイのElasticIPアドレス以外からAWS管理コンソールに接続した場合には、すべてのリソースに対するすべての操作が拒否されます。

このポリシーをアカウントの接続を制御したいユーザにアタッチします。

{
    "Version": "2012-10-17",
    "Statement": {
        "Effect": "Deny",
        "Action": "*",
        "Resource": "*",
        "Condition": {
            "NotIpAddress": {
                "aws:SourceIp": [
                    “131.248.10.10/32"
                ]
            }
        }
    }
}    

最終的な構成は以下のようになります。

5. 動作確認

① VPC Flow LogsによるSageMakerの通信ログ確認

SageMakerのプライベートサブネットから外部へ通信したデータを検索してみます。

SELECT srcaddr,dstaddr,from_unixtime(start, 'Asia/Tokyo') as start_time,from_unixtime("end", 'Asia/Tokyo') as end_time
FROM "db-xxxx"."vpc_flow_logs" 
where srcaddr like '10.10.24.%'
and dstaddr not like '10.10.%'
and srcaddr <> '-'
order by 3    

② WorkSpacesを経由しないAWS管理コンソール接続

Remote-policyをアタッチしたユーザでログインすると、何も表示されません。

③ WorkSpacesを経由したAWS管理コンソール接続

同じIAMユーザでWorkSpace経由でログインします。同じ画面を開いていますが、表示されました。

6. まとめ

  • Athenaはアドホック分析に向いており、S3バケットにデータを配置するだけでインタラクティブな分析が可能。
  • アカウントを超えたデータのやり取りをしたい場合、どのサービスでデータを取得がしたいのか、どこにどのような認可認証を設定すべきなのかを検討する。
  • AWSのようなパブリッククラウドサービスはインターネット上にあるので、誰でもアクセスできないような状態にするためには、VPCで囲っておく必要がある。
  • VPCで囲ってしまえばVPC Flow Logsですべての通信ログを取得できるので、デバッグ情報としての活用や監査情報として有用となる。
  • WorkSpacesを活用することで、データ流出防止対策も実装可能。

CTCは、AWSのビジネス利活用に向けて、お客様のステージに合わせた幅広い構築・運用支援サービスを提供しています。
経験豊富なエンジニアが、ワンストップかつ柔軟にご支援します。
ぜひ、お気軽にお問い合わせください。

お問い合わせ

【著者プロフィール】

山近 和樹(やまちか かずき)

伊藤忠テクノソリューションズ株式会社

AWS Certified Solutions Architect – Professional
AWS Certified DevOps Engineer – Professional
AWSを中心に機械学習における分析やAIシステム導入のプリセールス及び設計・導入を担当。
社内活動としてAWS AI/MLサービスの啓蒙活動に取り組んでいる。

山近 和樹(やまちか かずき)

TOP>コラム一覧>Athenaでのクロスアカウント接続 SageMakerの閉域化と監視及び接続のセキュア化(後編)

pagetop