0. 今回作る構成
ポイント
- VaultそのものをVCNの中に作るわけではありません。
- VCN内のVM/アプリからVaultへ通信するために、Service Gatewayとルート表を設定します。
- 通信許可(Security List / NSG)とIAM権限は別物です。ネットワークが通ってもIAM Policyが不足していればVault操作は拒否されます。
1. Vault(キーコンテナ)をGUIで作成する
1-1. Vault画面を開く
- OCIコンソールへログインします。
- 左上の ☰ ナビゲーション・メニュー をクリックします。
- Identity & Security(アイデンティティとセキュリティ) を選択します。
- Key Management & Secret Management → Vault をクリックします。
OCIコンソールからVaultを開く画面
Oracle公式手順: Configure a Vault for a Custom Endpoint
1-2. 「Create Vault」を押す
Vault一覧画面で Create Vault をクリックします。
入力する項目は基本的に次の2つです。
| 項目 | 入力例 | 説明 |
|---|---|---|
| Create in compartment | my-compartment |
Vaultを管理するCompartment |
| Name | app-vault |
任意のVault名 |
| Make it a virtual private vault | OFF | 通常の学習・一般用途ならまずOFF。専用HSMパーティションが必要な場合のみON |
Create Vault画面
⚠️Virtual Private Vaultは後から通常Vaultへ変更できません。 要件がなければ、まず通常Vaultで構成する方が分かりやすいです。
最後に Create Vault をクリックします。状態が ACTIVE になるまで待ちます。
2. Master Encryption Keyを作成する
Vaultは「入れ物」です。Secretを暗号化するには、そのVault内に暗号化キーを作成します。
- 作成したVault名をクリックします。
- 左メニューまたはタブの Master Encryption Keys を開きます。
- Create Key をクリックします。
- 次のように入力します。
| 項目 | 推奨例 |
|---|---|
| Compartment | Vaultと同じCompartment |
| Protection Mode | Software(まずはこちらで可) |
| Name | app-master-key |
| Algorithm | AES |
| Length | 256 bits |
- Create Key をクリックします。
- キーの状態が ENABLED になれば作成完了です。
Secretを保存する用途では対称鍵(AES)を使用します。特別な要件がない限り、最初はAES 256 bitで理解すると構成を追いやすくなります。
3. Secretを登録する場合
DBパスワードやAPIキーなどをVaultへ格納する場合はSecretを作成します。
- Vault詳細画面で Secrets を開きます。
- Create Secret をクリックします。
- Compartmentを選択します。
- Secret名を入力します。例:
db-password -
Encryption Key で先ほどの
app-master-keyを選択します。 - Secret生成方式を選択します。既存パスワード等を登録する場合は Manual secret generation を使用します。
- Secret Contentsへ値を入力します。
- Create Secret をクリックします。
4. ネットワーク設定:何を「穴あけ」するのか
プライベート・サブネットのComputeからVaultへ接続する場合、主に次の3点を設定します。
- Service Gatewayを作る
- Route TableにOracle Services Network向けルートを追加する
- Security ListまたはNSGでHTTPS(TCP 443)のEgressを許可する
5. Service GatewayをGUIで作成する
5-1. VCNを開く
- 左上の ☰ をクリックします。
- Networking → Virtual Cloud Networks を開きます。
- 対象のVCNをクリックします。
- VCN詳細画面の Service Gateways を開きます。
- Create Service Gateway をクリックします。
5-2. Service Gatewayの入力
| 項目 | 設定値 |
|---|---|
| Name |
sgw-vault など |
| Compartment | 対象VCNと同じCompartmentを基本とする |
| Services | All <region> Services in Oracle Services Network |
Vaultへ接続する目的では、Object Storageだけではなく All <region> Services in Oracle Services Network を選択します。
最後に Create Service Gateway をクリックします。
✅OCI公式資料でも、OCI Vault(KMS Integration)をService Gateway経由で利用する場合は All <region> Services in Oracle Services Network を有効化する構成が案内されています。
6. Route TableをGUIで設定する
Service Gatewayを作成しただけでは、サブネットからVaultへ通信は流れません。対象サブネットが使っているRoute Table にルールを追加します。
- VCN詳細画面へ戻ります。
- Route Tables をクリックします。
- Vaultへ接続するPrivate Subnetが使用しているRoute Tableをクリックします。
- Add Route Rules をクリックします。
- 次の値を設定します。
| 項目 | 設定値 |
|---|---|
| Target Type | Service Gateway |
| Destination Type | Service |
| Destination Service | All <region> Services in Oracle Services Network |
| Target Service Gateway | 先ほど作成した sgw-vault
|
OCI Route Tableの画面例
ルート追加画面の例:
Service Gateway向けRoute Ruleの画面例
🔎重要: 「どのRoute Tableを編集するか」はVCNではなく、Vaultを利用するComputeが所属している Subnet → Route Table を確認して決めます。
7. Security ListでTCP 443を許可する
次に通信そのものを許可します。本資料ではSecurity Listで説明します。NSGを利用している環境では同じ考え方でNSGのEgress Ruleを設定します。
- VCN詳細画面を開きます。
- Security Lists をクリックします。
- 対象Private Subnetに関連付いているSecurity Listを選択します。
- Add Egress Rules をクリックします。
- 次を設定します。
| 項目 | 推奨設定 |
|---|---|
| Stateless | OFF(Stateful) |
| Destination Type | Service |
| Destination Service | All <region> Services in Oracle Services Network |
| IP Protocol | TCP |
| Source Port Range | All |
| Destination Port Range | 443 |
Security List Egress Ruleの画面例
💡既存のEgress Ruleとして 0.0.0.0/0 への全通信許可がある場合、ネットワーク上はすでに許可されている可能性があります。ただし、本番環境では必要な宛先・ポートへ絞る設計を検討します。
8. SubnetとRoute Tableの関連付けを確認する
ここは設定漏れが起きやすい箇所です。
- Networking → Virtual Cloud Networks
- VCNを選択
- Subnets
- 対象Private Subnetを選択
- Route Table の項目を確認
- 手順6で編集したRoute Tableと一致していることを確認
- Security Lists / NSG も手順7で編集したものと一致していることを確認
一致していなければ、正しいRoute Table/Security List側へルールを追加するか、Subnetへの関連付けを見直します。
9. IAM設定も必要
ネットワーク設定が正しくても、ComputeやアプリにVaultを読むIAM権限がなければ 403 / NotAuthorizedOrNotFound 等になります。
考え方は次のように分けます。
| 役割 | 設定 | 失敗時の代表例 |
|---|---|---|
| 通信経路 | Service Gateway / Route Table | Timeout / 接続不可 |
| FW相当 | Security List / NSG | Timeout / 接続不可 |
| 認証・認可 | Dynamic Group / IAM Policy | 403 / NotAuthorized |
10. GUI作業チェックリスト
- OCI Consoleで正しいRegionを選択した
- 正しいCompartmentを選択した
- Vaultを作成した
- VaultがACTIVEになった
- Master Encryption Keyを作成した
- 必要ならSecretを作成した
- 対象Computeが所属するVCNを確認した
- Service Gatewayを作成した
-
All <region> Services in Oracle Services Networkを選択した - Private SubnetのRoute TableにService Gateway向けルールを追加した
- Security List / NSGでEgress TCP 443を許可した
- SubnetとRoute Tableの関連付けを確認した
- SubnetとSecurity List / NSGの関連付けを確認した
- Dynamic Group / IAM Policyを設定した
11. 迷ったときの切り分け
Timeoutする
まずネットワークを確認します。
Subnet → Route Table → Service Gateway → Security List/NSG
403になる
ネットワークよりもIAM側を疑います。
Compute Instance → Dynamic Group → IAM Policy → Vault / Secret権限
Vaultは作れたがSecretを取得できない
次の順に確認します。
- VaultがACTIVEか
- KeyがENABLEDか
- SecretがACTIVEか
- Regionが合っているか
- Vault / SecretのOCIDが合っているか
- Service GatewayとRoute Tableが設定されているか
- TCP 443 Egressが許可されているか
- IAM Policyがあるか
12. 公式資料
- OCI: Creating a Vault
- OCI: Access to Oracle Services - Service Gateway
- OCI: Private Access / Vaultを含むService Gateway構成例
- Oracle Learning: Use Service Gateway(GUI画像あり)
OCI Consoleは更新によりボタン名や配置が多少変わる場合があります。画面が完全一致しない場合でも、Vault / Service Gateway / Route Table / Security List(またはNSG) の4つを軸に辿れば設定箇所を見つけられます。




