設計の段階から始める
セキュリティを日常の技術判断に組み込むと、考えるべきことが見えやすくなります。何を扱い、誰が使い、どの要素を信頼しているのか。その前提が崩れたときに何が起きるのかを整理します。
簡単なデータフロー図も、よい出発点です。機密情報、外部の依存先、アクセス権を判断する場所を明示しましょう。
アクセスには明確な目的を
アカウントと権限は、人やサービスが必要とする仕事に合わせて設計します。開発中に便利だからという理由だけで、広い権限を標準にしないことが大切です。
- 日常的な利用と、特権を伴う管理を分ける。
- サービスの認証情報と、許可する範囲を確認する。
- 担当や責任が変わったら、不要な権限を削除する。
- ソースや共有資料に機密情報を残さない。
安全なリリースを日常にする
役立つセキュリティの実践は、チームの働き方に自然に組み込まれています。変更をレビューし、依存関係を理解し、設定を明確にする。設計上の前提を、コードレビューや技術資料で共有しましょう。
更新には、担当と進め方が必要です。利用している構成要素と、その保守方法がわかれば、対応が必要になったときに動きやすくなります。
防ぐだけでなく、復旧を試す
回復力には、必要なサービスを戻せることも含まれます。どの情報が重要か、バックアップはどこにあるか、誰が復旧を始められるかを定めます。バックアップ計画には、復元を試す方法も含めましょう。
運用手順書は、書いた本人以外にも理解できる必要があります。訓練を行うと、権限の不足、曖昧な担当、記録されていない依存関係を、障害の前に見つけられます。
続けられる習慣をつくる
扱える数の実践から始め、担当を明確にします。リリース直前だけに現れるチェックリストよりも、小さく繰り返せる改善のほうが続けやすくなります。
セキュリティは、継続するエンジニアリングの責任です。システムを理解し、不要な権限を減らし、復旧に備えます。
優先順位は、システムの性質、扱う情報、組織の責務によって変わります。範囲を定めた評価から、実行できる計画へとつなげましょう。
