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

  1. HCP Vaultにサインインします。
  2. 左側のナビゲーションペインから、Vault Dedicatedを選択します。
  3. クラスター(Clusters)を選択し、Vaultクラスター(Vault clusters)(vault-cluster)リストからvault-cluster(Vault clusters)を選択します。vault-clusterページが開きます。
  4. クラスターURL(Cluster URLs)セクションまでスクロールし、パブリックURLをコピーします。
  5. ターミナルを開き、次のコマンドを実行します。[Public_Cluster_URL]を前の手順でコピーした値に置き換えます:
    #!/bin/bash
    export VAULT_ADDR=[Public_Cluster_URL]
  6. vault-clusterページで、トークンを生成(Generate token)をクリックして管理者トークンを作成します。
  7. コピー(Copy)をクリックします。
  8. ターミナルで、このコマンドを実行します。[token]を前の手順でコピーした値に置き換えます:
    #!/bin/bash
    export VAULT_TOKEN=[token]
  9. このコマンドを実行して、VAULT_NAMESPACE変数をadminに設定します:
    #!/bin/bash 
    export VAULT_NAMESPACE=admin
  10. vault statusを入力して、HCP Vaultクラスターに接続していることを確認します:
    #!/bin/bash 
    vault status
    ターミナルにキーとその値のリストが表示されます。
  11. このコマンドを実行して、HCP Vaultクラスターで利用できる認証方式を表示します。
    #!/bin/bash 
    vault auth list

HCP Vault

これらの手順にはVaultルートトークンを使用できます。ただし、Oktaは、これらのトークンは初期セットアップ時または緊急時にのみ使用することを推奨しています。

  1. ターミナルを開き、次のコマンドを実行してルートトークンでサーバーを作成します:
    #!/bin/bash 
    vault server -dev -dev-root-token-id root
    サーバーが初期化され、ロック解除されます。デフォルトでは、127.0.0.1:8200で実行されます。
  2. Vault CLI変数がHCP Vaultサーバーにアクセスできるように、次のコマンドを実行します:
    #!/bin/bash 
    export VAULT_ADDR=http://127.0.0.1:8200
  3. Vault CLI変数がHCP Vaultサーバーで認証できるように、次のコマンドを実行します:
    #!/bin/bash 
    export VAULT_TOKEN=root

Oktaでアプリを構成する

  1. Admin Consoleで、アプリケーション(Applications) > アプリケーション(Applications)に移動します。

  2. アプリカタログを参照(Browse App Catalog)をクリックします。
  3. HashiCorp Vaultを検索して選択し、統合を追加(Add Integration)をクリックします。
  4. ターミナルで次のコマンドを実行し、VAULT_ADDR変数に保存されているVaultクラスターアドレスを取得します:
    #!/bin/bash 
    echo $VAULT_ADDR
  5. アドレスをコピーし、アドレス(Address)フィールドに貼り付けます。
  6. サインオン(Sign On)タブ(認証(Authentication)とラベルされる場合もある)タブに移動し、高度なサインオン設定(Advanced Sign-on Settings)セクションまでスクロールします。
    • パス変数(Path Variable):デフォルトのoidcマウントパスを使用するには、このフィールドを空白のままにします。カスタム値を入力する場合、このコマンドを実行して確認します。パスは表示されるとおりに入力します(スラッシュは除く):
      #!/bin/bash 
      vault auth list
    • リスニングポート(Listening Port):デフォルトの8250ポートを使用するには、このフィールドを空白のままにします。カスタムポートは、HCP Vaultが別のポートでリスニングするように構成した場合にのみ使用してください。
  7. 一般(General)タブに移動し、クライアントID(Client ID)をコピーします。
  8. ターミナルで、このコマンドを実行します。[CLIENT_ID]を前の手順でコピーした値に置き換えます:
    #!/bin/bash 
    export OKTA_CLIENT_ID=[CLIENT_ID]
  9. 一般(General)タブで、クライアントシークレット(Client secret)をコピーします。
  10. ターミナルで、このコマンドを実行します。[CLIENT_SECRET]を前の手順でコピーした値に置き換えます:
    #!/bin/bash 
    export OKTA_CLIENT_SECRET=[CLIENT_SECRET]
  11. Admin Consoleで、右上のユーザー名をクリックし、orgのURLをコピーします。

  12. ターミナルで、このコマンドを実行します。[OKTA DOMAIN]を前の手順でコピーした値に置き換えます:
    #!/bin/bash 
    export OKTA_DOMAIN=[OKTA_DOMAIN] 

次の手順

OIDC認証方法を構成する