こんにちは、技術部の今野です。
クラウドセキュリティは一見複雑に思われがちですが、一番大切なのは「最小権限(Least Privilege)」と「最小公開(Least Exposure)」というシンプルな原則です。Oracle Cloud Infrastructure(OCI)に限らず、すべてのクラウドで共通する考え方です。
- 最小権限:必要な人に、必要な分だけの権限を与える。
- 最小公開:必要なサービスだけを外に公開し、他は徹底的に隠す。
この「最小限」を徹底すれば、万が一の時も被害を最小限に抑えられます。この記事では、OCIでこれをどう実現するか、基本的な機能と実践ポイントを解説します。
クラウドセキュリティの基本:2つのカギ🔑
クラウドでは、アクセスとネットワークの管理が特に重要です。OCIでは、以下の2つの機能が「最小限」の原則を実現するカギとなります。
- IAM (Identity and Access Management):誰がリソースにアクセスできるかを管理します。
- VCN (Virtual Cloud Network):どこまでネットワークを公開するかを管理します。
これらは「ゼロトラスト」という考え方の土台にもなります。OCIは最初から最低限の権限しか与えない設定なので、安心してセキュリティ対策を始められます。
1. 権限を決める:IAMで「最小権限」を実践
OCIの権限は「IAMポリシー」というルールで設定します。ポイントは、個人ではなく「グループ」に権限を付与することです。
役割ごとにグループ化
- 職務(役割)別グループ:例えば「ネットワーク管理者」「データベース管理者」など、仕事の役割ごとにグループを作り、そこにユーザーを割り当てます。
- 必要な権限だけ付与:そのグループに、その役割で本当に必要な最低限の権限だけを与えます。例えば、サーバーの閲覧だけなら
read
、操作が必要ならuse
、全てできるmanage
はごく一部の管理者のみに絞ります。
コンパートメントでリソースを分ける
コンパートメントは、リソース(サーバーやデータベースなど)を論理的に整理する「箱」です。
- 環境やプロジェクトで分割:開発・テスト・本番環境ごと、またはプロジェクトごとにコンパートメントを分けます。
- アクセス範囲を限定:このコンパートメントごとにグループへのアクセス権限を設定することで、「Aプロジェクトの人はBプロジェクトのリソースに触れない」といった厳密な分離が可能です。親コンパートメントの権限は子に引き継がれるので、階層構造を意識しましょう。
2. 公開範囲を決める:VCNで「最小公開」を実践
OCI上のネットワークはVCNで構築し、外部への公開範囲をコントロールします。
パブリックとプライベートの使い分け
ネットワークを「パブリックサブネット」と「プライベートサブネット」に分けて、重要なリソースを隠します。
- パブリックサブネット(公開層):インターネットから直接アクセスが必要なWebサーバーなどを配置。
- プライベートサブネット(非公開層):データベースやアプリケーションサーバーなど、外部から直接見せたくない機密性の高いリソースを配置。攻撃対象を最小限に抑えられます。
セキュリティルールで通信を厳しく制限
- セキュリティリスト(サブネット単位):サブネット全体で、どの通信を許可するかを決めます。
- ネットワークセキュリティグループ(NSG / リソース単位):サーバーやデータベースなどのリソース個別に、さらに細かく通信ルールを設定できます。
これらを組み合わせて、「本当に必要な通信だけ」を許可するように設定します。
セキュリティリストとNSG(ネットワーク・セキュリティ・グループ)の使い分けについては、こちらのVCNの基本と考え方の記事でも少し触れています。
外部への出口を最小限に
インターネットとの接続点(ゲートウェイ)も最小限に絞り、管理します。
- インターネットゲートウェイ (IGW):公開サービスがインターネットからアクセスされるために必要ですが、公開したいものだけここを通るようにルーティングを限定します。
- サービスゲートウェイ (SGW):OCI内のサービス(ストレージなど)とは、インターネットを通さずに安全に接続できます。これにより、機密データをインターネットに晒すリスクを減らせます。
継続的な運用と監視:作った後も安全に
セキュリティは一度設定したら終わりではありません。常にチェックし、変化に対応することが重要です。
定期的な見直し
- 権限の棚卸し:グループメンバーシップや付与された権限が、今も適切か定期的に確認し、不要な権限はすぐに削除しましょう。異動・退職者への対応も速やかに。
- ネットワーク設定の見直し:セキュリティルールやルーティングに不要な穴がないか定期的にチェックし、一時的に開けたポートは用が済んだら閉じましょう。
監査と通知を活用
OCIには強力な監査機能があります。
- Auditサービス:OCIで行われたすべての操作を自動で記録します。「誰が、いつ、何をしたか」がわかるので、もしもの時に原因究明に役立ちます。
- Events Service / Cloud Guard:おかしな設定や不審な動きがあった場合に、自動で検知して通知してくれます。これにより、問題を早期に発見し、対応できます。
もしもの時の準備(インシデント対応)
- 対応手順の準備:トラブルが起きたときの対応手順を事前に決めておきましょう。
- 設定変更の記録:一時的に設定を変える場合は、必ず記録を残し、作業後は元に戻すルールを徹底します。
- 弱点の洗い出し:定期的な脆弱性診断や侵入テストで、隠れた弱点を見つけて改善することも大切です。
まとめ:OCIセキュリティの基本を実践
OCIのセキュリティは、この「最小限」の原則をいかに徹底するかにかかっています。
- 設計: 権限とネットワークを慎重に設計する。
- 実装: 最小権限・最小公開の原則に従って設定する。
- 運用: 定期的に見直し、監視する。
- 改善: 新たな脅威や要件に合わせて、継続的にセキュリティを強化する。
これらの基本原則を実践していくことで、OCI環境におけるセキュリティレベルは飛躍的に高まり、安心してクラウド上で展開できるようになります。今日からOCIセキュリティを盤石なものにし、クラウドの真のメリットを享受していきましょう。
参考リンク