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 clusters(Vaultクラスター)]リストから[vault-cluster]を選択します。[vault-cluster]ページが開きます。
- [Cluster URLs(クラスターURL)]セクションまでスクロールし、パブリック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は、これらのトークンは初期セットアップ時または緊急時にのみ使用することを推奨しています。
- ターミナルを開き、次のコマンドを実行してルートトークンでサーバーを作成します:#!/bin/bash vault server -dev -dev-root-token-id rootサーバーは初期化され、アンシールされます。デフォルトでは、127.0.0.1:8200で実行されます。
本番環境で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が別のポートでリスニングするように構成した場合にのみ使用してください。
- [General(一般)]タブに移動し、[Client ID(クライアント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]
