HashiCorp VaultをOktaと統合する
OktaをHashiCorp(HCP)VaultのIDプロバイダーとして構成します。HCP Vault DedicatedまたはHCP Vaultを使用して統合を完了できます。開発者モードでHCP Community Editionを使用することもできます。
このページは、HCP Vaultクラスターを構成し、Oktaでアプリを統合するのに役立ちます。
開始する前に
- Oktaでユーザー、グループ、アプリを管理する権限がある。
- HCP Vaultアカウントがある。
- OktaによるOIDC認証ガイドを確認済みである。
- Vault CLIがローカルシステムにインストールされている。「Vaultのインストール」を参照してください。
- HCP Vault Dedicatedを使用する場合は、以下の手順を完了している。
- HCP Vault Dedicated開発者ガイドを確認した。
- HCP Vault仮想ネットワークを作成した。
- 公開アドレスがあるVaultクラスターと開発ティア以上を持っている。「Vaultクラスターの作成」を参照してください。
HCP Vaultクラスターを構成する
HCP Vault DedicatedまたはHCP Vaultのいずれかで次の手順を完了します。
HCP Vault Dedicated
- HCP Vaultにサインインします。
- 左側のナビゲーションペインから、Vault Dedicatedを選択します。
- クラスター(Clusters)を選択し、Vaultクラスター(Vault clusters)(vault-cluster)リストからvault-cluster(Vault clusters)を選択します。vault-clusterページが開きます。
- クラスターURL(Cluster URLs)セクションまでスクロールし、パブリックURLをコピーします。
- ターミナルを開き、次のコマンドを実行します。
[Public_Cluster_URL]を前の手順でコピーした値に置き換えます:#!/bin/bash export VAULT_ADDR=[Public_Cluster_URL] - vault-clusterページで、トークンを生成(Generate token)をクリックして管理者トークンを作成します。
- コピー(Copy)をクリックします。
- ターミナルで、このコマンドを実行します。
[token]を前の手順でコピーした値に置き換えます:#!/bin/bash export VAULT_TOKEN=[token] - このコマンドを実行して、VAULT_NAMESPACE変数を
adminに設定します:#!/bin/bash export VAULT_NAMESPACE=admin vault statusを入力して、HCP Vaultクラスターに接続していることを確認します:
ターミナルにキーとその値のリストが表示されます。#!/bin/bash vault status- このコマンドを実行して、HCP Vaultクラスターで利用できる認証方式を表示します。
#!/bin/bash vault auth list
HCP Vault
これらの手順にはVaultルートトークンを使用できます。ただし、Oktaは、これらのトークンは初期セットアップ時または緊急時にのみ使用することを推奨しています。
- ターミナルを開き、次のコマンドを実行してルートトークンでサーバーを作成します:
サーバーが初期化され、ロック解除されます。デフォルトでは、127.0.0.1:8200で実行されます。#!/bin/bash vault server -dev -dev-root-token-id root注:本番環境でVault開発サーバーを実行しないでください。それ以外の場合、Vaultサーバーはセキュリティが低いインメモリのデータベースを使用します。
- Vault CLI変数がHCP Vaultサーバーにアクセスできるように、次のコマンドを実行します:
#!/bin/bash export VAULT_ADDR=http://127.0.0.1:8200 - Vault CLI変数がHCP Vaultサーバーで認証できるように、次のコマンドを実行します:
#!/bin/bash export VAULT_TOKEN=root
Oktaでアプリを構成する
-
Admin Consoleで、に移動します。
- アプリカタログを参照(Browse App Catalog)をクリックします。
HashiCorp Vaultを検索して選択し、統合を追加(Add Integration)をクリックします。- ターミナルで次のコマンドを実行し、VAULT_ADDR変数に保存されているVaultクラスターアドレスを取得します:
#!/bin/bash echo $VAULT_ADDR - アドレスをコピーし、アドレス(Address)フィールドに貼り付けます。
- サインオン(Sign On)タブ(認証(Authentication)とラベルされる場合もある)タブに移動し、高度なサインオン設定(Advanced Sign-on Settings)セクションまでスクロールします。
- パス変数(Path Variable):デフォルトの
oidcマウントパスを使用するには、このフィールドを空白のままにします。カスタム値を入力する場合、このコマンドを実行して確認します。パスは表示されるとおりに入力します(スラッシュは除く):#!/bin/bash vault auth list - リスニングポート(Listening Port):デフォルトの
8250ポートを使用するには、このフィールドを空白のままにします。カスタムポートは、HCP Vaultが別のポートでリスニングするように構成した場合にのみ使用してください。
- パス変数(Path Variable):デフォルトの
- 一般(General)タブに移動し、クライアントID(Client ID)をコピーします。
- ターミナルで、このコマンドを実行します。
[CLIENT_ID]を前の手順でコピーした値に置き換えます:#!/bin/bash export OKTA_CLIENT_ID=[CLIENT_ID] - 一般(General)タブで、クライアントシークレット(Client secret)をコピーします。
- ターミナルで、このコマンドを実行します。
[CLIENT_SECRET]を前の手順でコピーした値に置き換えます:#!/bin/bash export OKTA_CLIENT_SECRET=[CLIENT_SECRET] -
Admin Consoleで、右上のユーザー名をクリックし、orgのURLをコピーします。
- ターミナルで、このコマンドを実行します。
[OKTA DOMAIN]を前の手順でコピーした値に置き換えます:#!/bin/bash export OKTA_DOMAIN=[OKTA_DOMAIN]
次の手順