0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OCI Vault GUI構築手順:キーコンテナ作成とネットワーク設定

0
Posted at

0. 今回作る構成

ポイント

  • VaultそのものをVCNの中に作るわけではありません。
  • VCN内のVM/アプリからVaultへ通信するために、Service Gatewayとルート表を設定します。
  • 通信許可(Security List / NSG)とIAM権限は別物です。ネットワークが通ってもIAM Policyが不足していればVault操作は拒否されます。

1. Vault(キーコンテナ)をGUIで作成する

1-1. Vault画面を開く

  1. OCIコンソールへログインします。
  2. 左上の ☰ ナビゲーション・メニュー をクリックします。
  3. Identity & Security(アイデンティティとセキュリティ) を選択します。
  4. Key Management & Secret Management → Vault をクリックします。

OCIコンソールからVaultを開く画面.png

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画面.png

Create Vault画面

⚠️![OCI Route Tableの画面例.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3634370/cef3182b-bd0a-4c6f-93cb-bec901f22aad.png)

Virtual Private Vaultは後から通常Vaultへ変更できません。 要件がなければ、まず通常Vaultで構成する方が分かりやすいです。

最後に Create Vault をクリックします。状態が ACTIVE になるまで待ちます。


2. Master Encryption Keyを作成する

Vaultは「入れ物」です。Secretを暗号化するには、そのVault内に暗号化キーを作成します。

  1. 作成したVault名をクリックします。
  2. 左メニューまたはタブの Master Encryption Keys を開きます。
  3. Create Key をクリックします。
  4. 次のように入力します。
項目 推奨例
Compartment Vaultと同じCompartment
Protection Mode Software(まずはこちらで可)
Name app-master-key
Algorithm AES
Length 256 bits
  1. Create Key をクリックします。
  2. キーの状態が ENABLED になれば作成完了です。
💡

Secretを保存する用途では対称鍵(AES)を使用します。特別な要件がない限り、最初はAES 256 bitで理解すると構成を追いやすくなります。


3. Secretを登録する場合

DBパスワードやAPIキーなどをVaultへ格納する場合はSecretを作成します。

  1. Vault詳細画面で Secrets を開きます。
  2. Create Secret をクリックします。
  3. Compartmentを選択します。
  4. Secret名を入力します。例: db-password
  5. Encryption Key で先ほどの app-master-key を選択します。
  6. Secret生成方式を選択します。既存パスワード等を登録する場合は Manual secret generation を使用します。
  7. Secret Contentsへ値を入力します。
  8. Create Secret をクリックします。

4. ネットワーク設定:何を「穴あけ」するのか

プライベート・サブネットのComputeからVaultへ接続する場合、主に次の3点を設定します。

  1. Service Gatewayを作る
  2. Route TableにOracle Services Network向けルートを追加する
  3. Security ListまたはNSGでHTTPS(TCP 443)のEgressを許可する

5. Service GatewayをGUIで作成する

5-1. VCNを開く

  1. 左上の ☰ をクリックします。
  2. Networking → Virtual Cloud Networks を開きます。
  3. 対象のVCNをクリックします。
  4. VCN詳細画面の Service Gateways を開きます。
  5. 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 にルールを追加します。

  1. VCN詳細画面へ戻ります。
  2. Route Tables をクリックします。
  3. Vaultへ接続するPrivate Subnetが使用しているRoute Tableをクリックします。
  4. Add Route Rules をクリックします。
  5. 次の値を設定します。
項目 設定値
Target Type Service Gateway
Destination Type Service
Destination Service All <region> Services in Oracle Services Network
Target Service Gateway 先ほど作成した sgw-vault

Service Gateway向けRoute Ruleの画面例.png

OCI Route Tableの画面例

ルート追加画面の例:

Security List Egress Ruleの画面例.png

Service Gateway向けRoute Ruleの画面例

🔎

重要: 「どのRoute Tableを編集するか」はVCNではなく、Vaultを利用するComputeが所属している Subnet → Route Table を確認して決めます。


7. Security ListでTCP 443を許可する

次に通信そのものを許可します。本資料ではSecurity Listで説明します。NSGを利用している環境では同じ考え方でNSGのEgress Ruleを設定します。

  1. VCN詳細画面を開きます。
  2. Security Lists をクリックします。
  3. 対象Private Subnetに関連付いているSecurity Listを選択します。
  4. Add Egress Rules をクリックします。
  5. 次を設定します。
項目 推奨設定
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の画面例.png

Security List Egress Ruleの画面例

💡

既存のEgress Ruleとして 0.0.0.0/0 への全通信許可がある場合、ネットワーク上はすでに許可されている可能性があります。ただし、本番環境では必要な宛先・ポートへ絞る設計を検討します。


8. SubnetとRoute Tableの関連付けを確認する

ここは設定漏れが起きやすい箇所です。

  1. Networking → Virtual Cloud Networks
  2. VCNを選択
  3. Subnets
  4. 対象Private Subnetを選択
  5. Route Table の項目を確認
  6. 手順6で編集したRoute Tableと一致していることを確認
  7. 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を取得できない

次の順に確認します。

  1. VaultがACTIVEか
  2. KeyがENABLEDか
  3. SecretがACTIVEか
  4. Regionが合っているか
  5. Vault / SecretのOCIDが合っているか
  6. Service GatewayとRoute Tableが設定されているか
  7. TCP 443 Egressが許可されているか
  8. 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つを軸に辿れば設定箇所を見つけられます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?