システム構成
1. システム概要
1.1 システム概要
- システムはAWS上に構築されており、マイクロサービスアーキテクチャを採用しています。
- 開発環境、UAT(User Acceptance Test)環境、および、本番環境の3環境にて運用されています。各環境はAWSアカウントが分離されており、それぞれ異なるAWSアカウントを利用しています。
- 通知証跡が保存されるAWSアカウントについては専用のAWSアカウントを利用しており、上記3環境とは異なるAWSアカウントで運用されています。
- システムは大きくフロ ントエンド(ここでは管理画面を意味します、xIDアプリは含みません)、バックエンドサービス群、データベースにて構成されています。
- グローバルサービスを除くリソースは東京リージョン(ap-northeast-1)に配置されています。
- DNSとしてAmazon Route 53を利用しています。
1.2 利用AWSサービス
- フロントエンドは次のサービスを利用しています。
- Amazon CloudFront
- Amazon Simple Storage Service
- バックエンドサービス群は次のサービスを利用しています。
- Amazon Virtual Private Cloud(VPC)
- Elastic Load Balancing
- AWS AppMesh
- AWS Cloud Map
- Amazon Elastic Container Registry
- Amazon Elastic Container Service(ECS)
- AWS Systems Manager
- AWS Step Functions
- AWS Lambda
- Amazon Pinpoint
- Amazon Data Firehose
- データベースにはAmazon Aurora PostgreSQL(Amazon Relational Database Service)を利用しています。
- その他、運用、管理、セキュリティ、サービス監視といった用途にて、次のサービス(既出は除く)を利用しています。
- AWS Organizations
- AWS Identity and Access Management(IAM)
- AWS CloudTrail
- AWS Config
- Amazon EventBridge
- Amazon CloudWatch
- CloudWatch Logs
- AWS X-Ray
- Amazon Elastic File System(EFS)
- Amazon Managed Service for Prometheus
- Amazon Managed Grafana
- Amazon Simple Notification Service
- AWS Chatbot
- Amazon EC2
- AWS Backup
- AWS Glue
- Amazon Athena
- Amazon QuickSight
- AWS IAM Identity Center
- AWS WAF
- AWS Security Hub
- AWS Key Management Service
- Amazon GuardDuty
なお、記載の利用AWSサービスについては、政府情報システムのためのセキュリティ評価制度 (ISMAP)についてのAWS保証プログラムの適用範囲となっています。
詳細については下記、AWS提供のドキュメントページをご覧ください。
https://aws.amazon.com/jp/compliance/services-in-scope/ISMAP/
1.3 ネットワーク構成
- 東京リージョンで利用可能な3つのアベイラビリティゾーンを利用した冗長化構成をとっています。
- AWS VPCを利用し、プライベートサブネットとパブリックサブネットを使用してセグメント化されています。
- パブリックサブネットには、Application Load Balancer、および、NAT Gatewayが配置されます。
- プライベートサブネットには、バックエンドサービスが実行されるECSサービス、Lambda関数、および、Auroraクラスターが配置されます。
- Lambda関数についてはVPC内のリソースにアクセスが必要なもののみ、VPC内で実行されます。
- Lambda関数についてはVPC内のリソースにアクセスが必要なもののみ、VPC内で実行されます。
1.4 システム概要図
システム概要図を示します。
2. AWS権限設定
2.1 リソースにおける権限設定
各リソースには役割に応じた適切なIAMロールを割り当てています。
例えばAuroraクラスターへの接続はIAMデータベース認証を用いて行われますが、データベースへのアクセスのあるリソースにのみ、IAMポリシーにて権限が付与されています。
2.2 ユーザーの権限設定
AWS IAM Identity Centerを使用して社内ユーザーの認証、および、認可を行っています。
各ユーザーの役割に応じた適切な権限管理(例えば開発者は開発環境にのみアクセス可能など)を行い、特に本番環境へのアクセスは業務上必要な者のみに制限されています。
部署異動、退職等による権限の変更については適宜行っています。
管理者(スーパーユーザー)権限についての補足
手動による変更作業においては管理者(スーパーユーザー)権限を利用してますが、対応者をCTO、および、プロダクト責任者のみに限定して運用しています。
他開発者、委託先等の簡易的に作業を行うという運用は現在とっておりません。
2.3 多要素認証
アクセスについて、多要素認証を必須としています。