こんにちは、エンタープライズクラウド部クラウドリライアビリティ課の呉屋です。
普段はプリセールスやPM業務がメインの私ですが、サーバレス提案に向けての知見を得るために、本セッションに参加することにしました。
現地で受けたセッションは「Amazon ECS によるデータ保護とコンプライアンスのためのアーキテクチャ構築」です。
実際に受けた内容と感じたことを記載します。
はじめに〜事前知識〜
Amazon Elastic Container Service (ECS) とは
ECSは、AWSが提供するコンテナ管理サービスです。 アプリケーションをコンテナ(軽量な仮想環境)にまとめ、簡単にデプロイ・管理できます。
ECSの詳細は、弊社エンジニアが書いているブログがありますので、ぜひ見てみてください。
HIPAAとは
HIPAA準拠は、患者の医療データまたは保護対象医療情報 (PHI) を保護するためのプロセスです。 HIPAA準拠には、PHI の内容、方法、時期、および誰が共有できるかに影響を与える規則と規制の遵守が含まれます。AWS HIPAA リスク管理プログラムは、FedRAMP および NIST 800-53 に準拠しています。
Builders' Sessionとは
グループに分かれて、用意されたハンズオンの資料に沿って黙々と取り組むセッションです。 AWS環境は用意されているので、こちらで準備する必要や料金が発生することもありません。
近くにAWSエキスパートの方もいるので、気軽に質問することもできます。
Builders' Sessionの雰囲気について知りたい方は、こちらのブログを見てください。
セッションの内容
タイトル
SVS301-R1 | Architecting for data protection and compliance with Amazon ECS (Amazon ECS によるデータ保護とコンプライアンスのためのアーキテクチャ構築)
概要
コンテナ化されたワークロードでPHI(保護された医療情報)を扱う際のHIPAA準拠について解説するセッション。 ECSやAWSサービスを活用したPHI対応のコンテナアプリケーションの運用方法やECS、ECR、GuardDutyのベストプラクティスが学べる。
レベル: 300 – 上級
全体像
- 2つのAZにまたがる高可用性アーキテクチャ
- ログ記録と監査制御には、メトリクス監視としきい値アラーム用の Amazon CloudWatch を使用
- フローログを S3 バケットに配信し、アクセスログ記録用の AWS CloudTrail を使用
- アクセス制御とアラートについては、アラームからメールアラートを送信するための Amazon Simple Notification Service (Amazon SNS) を使用
- アクセス制御と承認には AWS Identity and Access Management (IAM) を使用
- ECSにAWS API 呼び出しを行う権限を付与する ECS クラスターおよび ECS タスク実行 IAM ロールを使用
実施したこと
AWS Artifactでレポート出力
AWS マネージメントコンソールから AWS Artifact サービスに移動します。
対象のレポートを選択し、検索に「HIPAA」と入力して、 「顧客コンプライアンス ガイド- 最新」を選択し、「レポートのダウンロード」 ボタンをクリックします。
初めてAWS Artifactを使用しました。 レポートは英語だったので、日本語翻訳をして「HIPAA」のコンプライアンスガイドについて、ざっくりみました。
共有責任モデルの理解
AWSは、お客様の間で共有される責任モデルがあります。サービスをインフラストラクチャ、コンテナ、抽象化の 3 つの主要カテゴリに分類したものを理解します。
お客様側の責任範囲についてのセキュリティを高める作業をしていきます。
アイデンティティとアクセス管理の理解
HIPAAは、規定、プライバシー ルール、セキュリティ ルール、健康コード識別子、トランザクション コードに分かれています。
IAMを使用してECSへのアクセス管理を行うため、必要最低限にしていきます。
IAM のベストプラクティスの詳細については、こちらを参照してください。 https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html
ECSのIAM ポリシー設定
ユーザーが規定のジョブを実行できるようにスコープを設定したポリシーを作成します。たとえば、開発者がタスクを定期的に停止する必要がある場合は、その特定のアクションのみを許可するポリシーを作成します。 下記の例では、特定のリソース名 (ARN) を持つクラスター上の特定のtask_familyに属するタスクのみをユーザーが停止できるようにしています。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:StopTask" ], "Condition": { "ArnEquals": { "ecs:cluster": "arn:aws:ecs:<region>:<account_id>:cluster/HipaaWorkshopDemoApp" } }, "Resource": [ "arn:aws:ecs:<region>:<account_id>:task-definition/<task_family>:*" ] } ] }
ポリシー条件を使用してセキュリティを強化する ポリシーに条件を追加することで、セキュリティ レイヤーを追加できます。下記の例は、特定のリソースに対して実行できるアクションのセットを制限する必要がある場合に便利です。次のポリシー例では、クラスターを削除するときに多要素認証が必要です。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:DeleteCluster" ], "Condition": { "Bool": { "aws:MultiFactorAuthPresent": "true" } }, "Resource": ["*"] } ] }
ログ設定
- AWS Configの有効化
ポイントは、適合パックから「HIPAAセキュリティの運用ベストプラクティステンプレート」を選択することです。
- AWS CloudTrailの有効化
- Amazon CloudWatchの設定
- Amazon GuardDutyの有効化
- CloudWatch Container Insights のセットアップ
監査、バックアップ、災害復旧
HIPAA のセキュリティルールには、詳細な監査機能、データバックアップ手順、災害復旧メカニズムに関する詳細な要件が規定されています。 たとえば、お客様は、セキュリティアナリストが詳細なアクティビティログやレポートを調べて、誰がアクセスしたか、IP アドレスの入力、どのデータにアクセスしたかなどを確認できるように、監査機能を確立することを検討する必要があります。
また、HIPAA には、緊急時にデータを保護するための緊急時対応計画の維持に関する詳細な要件もあり、電子 PHI の取得可能な正確なコピーを作成して維持する必要があります。
実施したことは次の二つです。
- AWS バックアップによる手動削除保護の確保
- AWS バックアップを使用した最小バックアップ頻度と保持期間の設定
バックアップ リカバリ ポイントを偶発的または意図的な削除から保護すること。 HIPAA の緊急アクセス手順の要件に沿って、緊急時に電子的に保護された医療情報 (ePHI) の可用性を確保するための設定を実施します。
本セッションのまとめ
- AWS Artifact をソースとして使用して AWS が運用するコントロールを保証する方法を確認する
- 共有責任モデルの理解を理解し、利用側でやるべきことは徹底してセキュリティを保護する
- HIPAA のルールに準拠して、セキュリティやバックアップ体制を整える
学びと感想
初めてのre:Inventでワークショップに参加しました。 英語力がなくても、事前に用意されたワークショップ用の資料があるので、黙々と作業ができます。
一部エラーが起きた際もマネコンを指差しで、AWSのエキスパートの方に拙い英語でもフォローいただくことができました。
今後はセキュリティに関してもっと深く理解し、お客様の環境をベストプラクティスに沿って対応していきます。