技術的な実現性やコストを勘案してご実施いただければと思いますが、各社ごとにリスクをどう捉えるかが重要です。
弊社プリセットでは以下を設定しています。
- 管理策:A.12.1.4 開発環境、試験環境及び運用環境の分離
- 管理策詳細:開発環境、試験環境及び運用環境は、運用環境への認可されていないアクセス又は変更によるリスクを低減するために、分離しなければならない。
- リスク:誤った操作によるシステムの停止
- リスク対策1:開発環境・試験環境・運用環境(本番環境)は分離する
- リスク対策2:各環境にて利用する秘密認証情報(パスワード、秘密鍵など)は、環境ごとに異なった文字列を利用する
「誤ってシステムが停止されること」を防ぎたいので、まずは本番環境(運用環境)が不用意にアクセス可能な状態になっていないことが重要です。そのほか、以下の要因が考えられます。
- 開発段階の資材(コード)の取り違い
- リリース段階のコードの混在やデプロイ先の間違い
- 変更時の本番環境への誤操作
このリスクと要因を防ぎたく、以下のようにそのリスク対応が説明可能になっていれば問題ありません(審査時に対策のレベル感は問われません)。
- AWSアカウントが分離されており、かつAWSルートユーザーと通常利用ユーザーを分けることでアクセス管理を厳密にする
- インスタンスが分離されており、SSH秘密鍵でアクセス権を制御し、リリース手順書も用意している
- 資材置き場のセグメントを分けており、リリース作業はインフラ担当者のみとしてアクセス権を制御している