TL

Cloud Service

OCI Security Zones

危険な構成のリソースを「作らせない」予防的ガードレール。公開バケットや非暗号化など、ポリシー違反の操作をそもそも拒否し、本番コンパートメントのセキュリティ姿勢を強制する。AWS の Control Tower ガードレールに近い位置づけ。

中級セキュリティ運用上の優秀性
最終更新: 2026-06-28公式ドキュメント ↗
TL;DR要点だけ先に
  • 1.ポリシー違反となる操作をコンパートメント単位でそもそも拒否する予防的ガードレール。
  • 2.セキュリティゾーンレシピにポリシーを束ね、Oracle 提供のMaximum Security Recipeをそのまま使える。
  • 3.Cloud Guard と連携し、有効化が前提。サービス自体は追加料金なし。

解決する課題

  • 公開バケット・非暗号化ボリューム・パブリックサブネットなど、危険な構成のリソースをそもそも作らせたくない
  • 検知して直す(事後対応)だけでは、違反リソースが一時的にでも存在する隙が生まれる → 作成・更新の時点でブロックしたい
  • 規制対象や本番の機密データを置くコンパートメントで、セキュリティ要件を技術的に強制したい(口頭ルールやレビュー任せにしない)
  • 顧客管理鍵の利用、ゾーン外へのリソース移動禁止など、組織のセキュリティ標準を一律に効かせたい

主要概念と用語

  • セキュリティゾーン(Security Zone): コンパートメントセキュリティゾーンレシピの関連付け。そのコンパートメント(および配下のサブコンパートメント)内のリソース操作が、レシピのポリシーで検証される。1つのコンパートメントに紐づけられるセキュリティゾーンは1つだけ
  • セキュリティゾーンレシピ(Security Zone Recipe): ゾーンに適用するセキュリティゾーンポリシーの集合。Oracle 管理の定義済みレシピをそのまま使うか、ポリシーを選んでカスタムレシピを作る
  • Maximum Security Recipe: Oracle が用意する定義済みの最大セキュリティレシピ。厳選されたポリシー群を含み、変更不可。まずこれを当てるのが基本
  • セキュリティゾーンポリシー(Security Zone Policy): 「公開バケットを禁止」「ブロックボリュームは暗号化必須」「ゾーン外へリソースを移動しない」といった個々の要件。有効なポリシーに違反する操作は自動的に拒否される
  • IAM ポリシーとの違い: IAM ポリシーは権限を付与するもの。セキュリティゾーンポリシーは権限ではなく、操作がセキュリティ要件に適合するかを検証するもので、目的が異なる
  • 対象リソース種別: Compute、Networking、Object Storage、Block Volume、Database など、ポリシーが適用される OCI のリソース群

仕様・制限・クォータ

  • セキュリティゾーンの利用には Cloud Guard の有効化が前提。両者は連携して動く
  • 1コンパートメント = 1セキュリティゾーン。同じコンパートメントに複数のゾーンは紐づけられない
  • Oracle 管理の Maximum Security Recipe は変更不可(読み取り専用)。要件を調整したい場合はカスタムレシピを作る
  • ポリシーは作成・更新の時点で検証され、違反すると操作自体がエラーで拒否される(事前のブロック)
  • ゾーン有効化以前から存在していた違反リソースは作成時にブロックできないため、Cloud Guard 側で検知する役割分担になる
  • どのポリシーが利用可能か、どのリソース種別を対象にできるかはリージョンやサービスの対応状況で変わりうるため、最新は公式ドキュメントで確認する

内部の仕組み

セキュリティゾーンは「危険な操作を最初から拒否する」予防的(事前)の仕組みです。コンパートメントにセキュリティゾーンレシピを関連付けると、そのコンパートメント配下でのリソース作成・更新の操作が、レシピに含まれるポリシーのリストに照らして検証されます。

  1. 対象コンパートメントにセキュリティゾーンレシピを関連付ける
  2. ゾーン内でリソースの作成・更新が行われると、OCI が全ポリシーに対して操作を検証する
  3. いずれかのポリシーに違反していれば、その操作は拒否され、エラーが返る(例: 公開バケットを作ろうとすると失敗する)
  4. ゾーン作成時に Cloud Guard 上にセキュリティゾーン用のターゲットが自動作成され、既存リソースの違反は検知側で監視される

つまり「新規・変更は予防(拒否)でブロック」「既存は Cloud Guard が検知」という二段構えになっており、ゾーンを有効化した瞬間からの操作は通さず、過去に作られたものは可視化して直す流れになります。

予防(Security Zone)と検知(Cloud Guard)の役割分担

**Security Zone は「危険な操作を最初から拒否する」(事前)**仕組みで、**Cloud Guard は「問題を検知して直す」(事後)**仕組みです。Security Zone は前提として Cloud Guard を有効化したうえで使い、新規操作はゾーンでブロック、ゾーン化以前の既存リソースは Cloud Guard が検知します。本番の重要コンパートメントでは両方を組み合わせるのが定石です。

設計パターン / ベストプラクティス

  • 重要コンパートメントにまず Maximum Security Recipe を適用し、最大の保護から始める。要件と合わない点だけカスタムレシピで調整する
  • 段階導入: いきなり本番全体に当てず、新規・小さなコンパートメントで挙動を確認してから広げる。既存リソースの違反が多いと正規の運用操作まで弾かれうるため
  • ゾーン化前に既存リソースを棚卸し: 既存の違反を Cloud Guard で洗い出し、ゾーン適用後の運用が止まらないよう先に是正する
  • 顧客管理鍵・暗号化必須などのポリシーをカスタムレシピで明示し、組織標準を技術的に強制する
  • ゾーン外への移動禁止ポリシーで、保護下のリソースが非保護コンパートメントへ抜けるのを防ぐ
  • Cloud Guard の検知と組み合わせ、予防(拒否)と検知(修復)の両輪でコンパートメントを守る

運用・監視

  • 拒否されたリソース操作はエラーとして利用者に即時に返るため、なぜ作成・更新できないかは違反したポリシーを確認して切り分ける
  • ゾーン化以前から存在する違反は **Cloud Guard の問題(Problem)**として上がるので、検知側のダッシュボードで追う
  • 正規の運用が頻繁に弾かれる場合は、当てているレシピのポリシーが運用と整合しているかを見直し、必要ならカスタムレシピで調整する
  • OCI Audit に操作が記録されるため、拒否された操作や設定変更の経緯を追跡できる
  • レシピ変更の影響範囲は配下のサブコンパートメント全体に及ぶ点に注意し、変更は影響を見積もってから行う

コスト

セキュリティゾーンは Cloud Guard の機能の一部として提供され、追加料金なしで利用できます。前提となる Cloud Guard の標準機能も無料のため、まず有効化のハードルは低いのが特徴です。ただし、ゾーン内で稼働させるリソース自体(Compute、Block Volume、Database など)は通常どおり課金され、ポリシーで必須化した暗号化や顧客管理鍵を支える Vault などの関連サービスには、それぞれの料金が発生します。

項目課金コストの考え方
Security Zone 本体無料Cloud Guard の機能の一部として提供
前提の Cloud Guard 標準機能無料有効化が前提。標準機能は追加料金なし
ゾーン内のリソース各リソースの料金Compute・Block Volume・Database などは通常どおり課金
関連サービス各サービスの料金顧客管理鍵を支える Vault など

セキュリティ

  • 予防的ガードレール: 公開・非暗号化・パブリック露出などの危険な構成を作成時点でブロックし、違反リソースが存在する隙そのものを無くす
  • 技術的な強制: レビューや口頭ルールに頼らず、コンパートメント単位でセキュリティ要件を機械的に適用する
  • 多層防御の一部: IAM(誰が操作できるか)とは別軸で、操作の中身がセキュリティ標準に適合するかを検証し、IAM・Vault・Cloud Guard と補完しあう
  • 機密データの保護: 規制対象や本番の機密データを置くコンパートメントを Security Zone 化し、暗号化や非公開を逸脱できない形で担保する
  • 既存は検知で補完: ゾーン化以前の違反は予防できないため、Cloud Guard の検知と必ず併用する
アンチパターン

本番の機密コンパートメントを検知(Cloud Guard)だけで運用し、予防を入れないのは典型的な弱点です。検知は事後のため、違反リソースが一時的にでも存在する隙が残ります。重要コンパートメントには Security Zone を当てて違反操作そのものを拒否してください。逆に、既存リソースの是正をせずにいきなり広範囲へゾーンを当てると、正規の運用操作まで弾かれて業務が止まります。先に棚卸しと是正を行ってから適用するのが安全です。

関連サービス・比較

セキュリティゾーンは Cloud Guard と表裏一体です。Cloud Guard が「検知して直す(事後)」のに対し、Security Zone は「違反操作を拒否する(事前)」役割を担い、重要コンパートメントでは両方を組み合わせます。

観点OCI Security ZoneOCI Cloud Guard
役割違反操作を拒否(予防・事前)問題を検知して修復(事後)
タイミング作成・更新の時点でブロック既存・継続的に評価して検知
設定の核セキュリティゾーンレシピとポリシー検出器レシピと対応器レシピ
適用単位コンパートメント(1対1)コンパートメント(ターゲット)
前提Cloud Guard の有効化が必要単体で有効化可能
AWS の近い概念Control Tower ガードレール・SCPSecurity Hub と GuardDuty
AWS との対応

単一の完全な相当サービスはありませんが、違反操作を予防的に止める点では AWS の Control Tower のガードレールや **SCP(サービスコントロールポリシー)**が近い発想です。検知側は AWS Config や Security Hub に相当し、OCI では Cloud Guard が担います。

ハンズオン / CLI例

# 0. 前提: Cloud Guard が有効化されていること

# 1. 利用可能なセキュリティゾーンレシピを確認(Maximum Security Recipe を含む)
oci cloud-guard security-recipe list \
  --compartment-id <tenancy-or-compartment-ocid>

# 2. コンパートメントにセキュリティゾーンを作成し、レシピを関連付ける
#    (Maximum Security Recipe の OCID を指定して最大保護から始める)
oci cloud-guard security-zone create \
  --compartment-id <protected-compartment-ocid> \
  --display-name prod-security-zone \
  --security-zone-recipe-id <maximum-security-recipe-ocid>

# 3. 作成したセキュリティゾーンの一覧と状態を確認
oci cloud-guard security-zone list \
  --compartment-id <protected-compartment-ocid>

# 4. 独自要件がある場合はカスタムレシピを作成し、
#    含めるポリシーの OCID を指定する
oci cloud-guard security-recipe create \
  --compartment-id <compartment-ocid> \
  --display-name custom-security-recipe \
  --security-policies '["<policy-ocid-1>","<policy-ocid-2>"]'

OCI Service

OCI Security Zonesを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

セキュリティ・ID

比較で見る軸

クラウド: OCI / カテゴリ: セキュリティ・ID / 難易度: intermediate

導入後に効く点

セキュリティゾーンレシピにポリシーを束ね、Oracle 提供のMaximum Security Recipeをそのまま使える。

先に潰すリスク

サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。

数字・仕様の読み方
クラウド
OCI
カテゴリ
セキュリティ・ID
難易度
intermediate
関連資格
設計柱
security / operational

判断チェックリスト

  • 自社の用途が「セキュリティ・ID / security」に近いか確認する。
  • 強みである「ポリシー違反となる操作をコンパートメント単位でそもそも拒否する予防的ガードレール。」が本当に評価軸になるか確認する。
  • 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

セキュリティ・IDsecurityoperational