Azure Key Vault

Virtual DataPort では、Azure Key Vault から資格情報を取得する手段として、次の認証方法をサポートします。

  • Client certificate: クライアント証明書を使用して、資格情報保管方法に接続します。

  • Client secret: クライアントシークレットを使用して、資格情報保管方法に接続します。

  • Environment variables: システム環境変数を使用して資格情報保管方法に接続します。構成時に資格情報は要求されません。

  • System managed. マネージド認証を使用して資格情報保管方法に接続します。構成時に資格情報は要求されません。

  • User managed: マネージドユーザーによる認証を使用して資格情報保管方法に接続します。構成時に資格情報は要求されません。

Client Certificate

資格情報保管方法への接続にクライアント証明書を要求するモードです。サポートする形式は PEM と PFX/PKCS#12 です。

Enabling Azure Key Vault with PKCS#12 certificate

以下のデータを指定する必要があります。

  • Key vault URI: ターゲットとする Key Vault の URI です。この値は Key Vault の [概要] セクションで、Azure から指定されます。

  • Proxy (オプション): 必要に応じてプロキシ構成を指定します。

  • Tenant id: Azure アカウントのテナント ID を指定します。

  • Client id: アクセスに使用する Azure アプリケーションのクライアント ID を指定します。

  • Certificate format: 認証フォーマットを指定します。

  • Client certificate (private key): 資格情報保管方法による認証に使用するキーを含むファイルを指定します。

    • Password: クライアント証明書 を含むファイルのパスワードです (PFX/PKCS#12 形式用)。

[Ok] をクリックして変更を保存します。

Client Secret

このモードでは、資格情報保管方法への接続にクライアントシークレットが必要となります。

Enabling Azure Key Vault with client secret

以下のデータを指定する必要があります。

  • Key vault URI: ターゲットとする Key Vault の URI です。この値は Key Vault の [概要] セクションで、Azure から指定されます。

  • Proxy (オプション): 必要に応じてプロキシ構成を指定します。

  • Tenant id: Azure アカウントのテナント ID を指定します。

  • Client id: アクセスに使用する Azure アプリケーションのクライアント ID を指定します。

  • Client secret: アクセスに使用する Azure アプリケーションのクライアントシークレットを指定します。

[Ok] をクリックして変更を保存します。

Environment Variables

このモードでは、Azure SDK を使用して環境変数から認証資格情報を読み込みます。

Virtual DataPort は資格情報を要求しません。

Enabling Azure Key Vault with environment variables

以下のデータを指定する必要があります。

  • Key vault URI: ターゲットとする Key Vault の URI です。この値は Key Vault の [概要] セクションで、Azure から指定されます。

  • Proxy (オプション): 必要に応じてプロキシ構成を指定します。

[Ok] をクリックして変更を保存します。

Azure SDK が想定する環境変数は次のとおりです (詳細については「 EnvironmentCredential クラス 」を参照)。

  • AZURE_CLIENT_ID

  • AZURE_CLIENT_SECRET

  • AZURE_TENANT_ID

または

  • AZURE_CLIENT_ID

  • AZURE_CLIENT_CERTIFICATE_PATH

  • AZURE_TENANT_ID

または

  • AZURE_CLIENT_ID

  • AZURE_USERNAME

  • AZURE_PASSWORD

System Managed

このモードでは、Virtual DataPort が動作しているサービスインスタンスから取得したマネージド ID を使用して認証を行います。Key Vault へのアクセスに必要な権限をこのサービスインスタンスに与える必要があります。

Virtual DataPort は資格情報を要求しません。

Enabling Azure Key Vault with system managed

以下のデータを指定する必要があります。

  • Key vault URI: ターゲットとする Key Vault の URI です。この値は Key Vault の [概要] セクションで、Azure から指定されます。

  • Proxy (オプション): 必要に応じてプロキシ構成を指定します。

[Ok] をクリックして変更を保存します。

User Managed

このモードでは、Virtual DataPort が動作している Azure サービスにユーザーが割り当てたマネージド ID を使用して認証を行います。ユーザーが割り当てたマネージド ID に Key Vault へのアクセスに必要な権限を与え、この ID を Azure サービスに割り当てて、Azure サービスがマネージド ID を使用して認証トークンを要求できるようにする必要があります。

Virtual DataPort は資格情報を要求しません。

Enabling Azure Key Vault with user managed

以下のデータを指定する必要があります。

  • Key vault URI: ターゲットとする Key Vault の URI です。この値は Key Vault の [概要] セクションで、Azure から指定されます。

  • Proxy (オプション): 必要に応じてプロキシ構成を指定します。

  • Client id: ユーザーが割り当てたマネージド ID のクライアント ID です。マネージド ID ビューの [概要] セクションで指定されます。

[Ok] をクリックして変更を保存します。

Azure Key Vault の命名規則

Azure Key Vault はシークレットをプレーン値で保存します。したがって、Azure Key Vault を使用してデータソースを認証する構成の場合、複数のシークレットが必要となる可能性があります (フィールドごとに 1 シークレット)。たとえば、次の 2 つのシークレットを Azure Key Vault に作成する必要があります。

"oracle-user" = "my-oracle-login"
"oracle-pwd"  = "my-oracle-secure-password"

Azure Key Vault を使用する場合、データソースの認証に両方のシークレットを使う必要があります。値の指定方法を次の画像に示します。

JDBC Data Source using secret per field

この構成によって、[Login] と [Password] の値が Azure Key Vault から取得されます。Virtual DataPort のメタデータに資格情報は保存されません。

注釈

両方のフィールドにシークレットを使用することは、必須ではありません。

どちらかのフィールドだけを Key Vault に保存することも可能です。フィールドの値を Key Vault から取得するか、値を直接指定するかは、[From vault] チェックボックスで指定できます。

たとえば以下の構成にすると、Key Vault にアクセスして [Password] のみを取得できます。[Login] フィールドには値として my-oracle-login が直接指定されており、[From vault] がチェックされていないことを確認してください。

JDBC Data Source using secret per field

この構成では、[Login] 資格情報のみが Virtual DataPort のメタデータに保存されます。