キーコネクターをデプロイする
この記事では、既存の自己ホスト型環境でキーコネクターを有 効にし、設定する手順を説明します。続行する前に、キー コネクタに関する記事をよく読んで、キー コネクタとは何か、その仕組み、および実装の影響を完全に理解してください。
Bitwardenは、自己ホスト型インスタンスのための1つの組織による1つのキーコネクターのデプロイメントをサポートします。
注意
暗号化キーの管理は非常にデリケートであり、キーサーバーのデプロイメントと管理を安全にサポートできるインフラストラクチャとチームを持つエンタープライズのみが推奨されます。
キーコネクターを使用するためには、以下の手順を守る必要があります:
あなたの組織がこれらの要件を満たすか、または満たすことができ、キーサーバーの管理をサポートできるチームとインフラストラクチャを含む場合、私たちに連絡してください。そうすれば、私たちはキーコネクターを有効にします。
キーコネクターについて私たちに連絡を取ったら、キーコネクターの議論を始めるために私たちは連絡を取ります。この記事に続く手順は、Bitwardenのカスタマーサクセス&実装スペシャリストと協力して完了させる必要があります。
キーコネクターについて私たちに連絡を取った後、カスタマーサクセス&実装チームのメンバーが、あなたの組織のためのキーコネクター対応ライセンスファイルを生成します。あなたのBitwardenの共同作業者が準備ができたと指示したら、新しいライセンスを取得するための次の手順を完了してください:
Bitwardenクラウドウェブアプリを開き、管理者コンソール内のあなたの組織の請求書 → サブスクリプション画面に移動します。
下にスクロールして、ライセンスをダウンロードボタンを選択してください。
指示に従って、自己ホスト型サーバーのインストールに使用したインストールIDを入力し、送信を選択してください。あなたがインストールIDをすぐに思い出せない場合は、
./bwdata/env/global.override.env
から取得することができます。
ライセンス ファイルはすぐには必要ありませんが、後の手順でセルフホスト サーバーにアップロードする必要があります。
あなたのBitwardenサーバーをキーコネクターのために準備するには:
少なくとも.bwdata/mssqlの
バックアップ
を保存してください。キーコネクターが使用中の場合、問題が発生した場合に備えて、キーコネクター使用前のバックアップイメージにアクセスできることをお勧めします。備考
あなたが外部のMSSQLデータベースを使用している場合、あなたの実装に最も適した方法でデータベースのバックアップを取ってください。
最新の変更を取得するために、自己ホスト型のBitwardenインストールを更新してください。
Bash./bitwarden.sh update
.bwdata/config.yml
ファイルを編集し、enable_key_connector
をtrue
に切り替えてキーコネクターを有効にしてください。Bashnano bwdata/config.yml
あなたの自己ホスト型Bitwardenインストールを再構築します:
Bash./bitwarden.sh rebuild
変更を適用するために、自己ホスト型のBitwardenインストールを再度更新してください。
Bash./bitwarden.sh update
キーコネクターを設定するには:
.bwdata/env/key-connector.override.env
ファイルを編集してください。このファイルは./bitwarden.sh 更新
でダウンロードされるはずです。Bashnano bwdata/env/key-connector.override.env
注意
このファイルは、機能的なローカルキーコネクターのセットアップをスピンアップするデフォルト値で事前に準備されますが、デフォルト値は本番環境には推奨されません。
key-connector.override.env
で、次の項目に値を指定する必要があります:エンドポイント: キーコネクターが通信できるBitwardenのエンドポイント。
データベース:キーコネクターがユーザーキーを保存し、取得する場所。
RSAキーペア: キーコネクターがユーザーキーを保護するためにRSAキーペアにどのようにアクセスするか。
エンドポイント
自動設定は、インストール設定に基づいてエンドポイントの値を自動的に設定しますが、key-connector.override.env
の以下の値があなたの設定に適していることを確認することをお勧めします:
BashkeyConnectorSettings__webVaultUri=https://your.bitwarden.domain.com keyConnectorSettings__identityServerUri=http://identity:5000
データベース
キーコネクターは、組織のメンバーのための暗号化されたユーザーキーを保存するデータベースにアクセスする必要があります。暗号化されたユーザーキーを保存するための安全なデータベースを作成し、デフォルトのkeyConnectorSettings__database__
の値をkey-connector.override.env
で指定された値に置き換えてください。選択したデータベースの必要な値列に記載されています。
注意
現時点では、あるデータベースから別のデータベースへの移行はサポートされていません。どのプロバイダーを選んでも、データベースに対して頻繁な自動バックアップスケジュールを実装してください。
データベース | 必要な値 |
---|---|
ローカルJSON(デフォルト) | テスト以外では推奨されません。
|
Microsoft SQLサーバー |
|
PostgreSQL |
|
MySQL/MariaDB |
|
MongoDB |
|
RSAキーペア
キーコネクターはRSAキーペアを使用して、ユーザーキーを保護します。キーペアを作成し、デフォルトのkeyConnectorSettings__rsaKey__
とkeyConnectorSettings__certificate__
の値をkey-connector.override.env
で選択した実装に必要な値に置き換えてください。
チップ
RSAキーペアは、最低でも2048ビットの長さでなければなりません。
一般的に、選択肢としては、キーペアを含むX509 証明書へのキーコネクターへのアクセスを許可するか、直接キーペアへのキーコネクターへのアクセスを許可するかがあります。
RSAキーペアを含むX509証明書を使用するには、証明書が保存されている場所に応じて必要な値を指定します(ファイルシステム、OS証明書ストアなどを参照してください):
チップ
証明書は、例えば、PKCS12の必須の.pfx
ファイルとして利用可能でなければなりません。
Bashopenssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout bwkc.key -out bwkc.crt -subj "/CN=Bitwarden Key Connector" -days 36500
openssl pkcs12 -export -out ./bwkc.pfx -inkey bwkc.key -in bwkc.crt -passout pass:{Password}
すべての証明書の実装で、この例で示されているCN
の値が必要になります。
ファイルシステム(デフォルト)
証明書がキーコネクターを実行しているマシンのファイルシステムに保存されている場合、次の値を指定してください:
備考
デフォルトでは、キーコネクターは生成されたパスワードを持つ.pfx
ファイルを作成するように設定されており、その場所はetc/bitwarden/key-connector/bwkc.pfx
です。これらのデフォルトをエンタープライズの実装に使用することは推奨されません。
BashkeyConnectorSettings__rsaKey__provider=certificate keyConnectorSettings__certificate__provider=filesystem keyConnectorSettings__certificate__filesystemPath={Certificate_Path} keyConnectorSettings__certificate__filesystemPassword={Certificate_Password}
アジュール ブロブ ストレージ
証明書がAzure Blob Storageにアップロードされる場合、次の値を指定してください:
BashkeyConnectorSettings__rsaKey__provider=certificate keyConnectorSettings__certificate__provider=azurestorage keyConnectorSettings__certificate__azureStorageConnectionString={Connection_String} keyConnectorSettings__certificate__azureStorageContainer={Container_Name} keyConnectorSettings__certificate__azureStorageFileName={File_Name} keyConnectorSettings__certificate__azureStorageFilePassword={File_Password}
azureStorageConnectionString
を、Azureポータルで共有アクセス署名(SAS)のページからあなたのストレージアカウントで生成できる接続文字列に設定します。SASは以下を持つ必要があります:
許可されるサービス:BlobとFile
許可されたリソースタイプ:サービス、コンテナ、オブジェクト
許可された権限:読み取り、書き込み、リスト
許可されたblobインデックスの権限:読み取り/書き込みとフィルター
Azure キー保管庫
証明書がAzure Key Vaultに保存されている場合、以下の値を指定してください:
備考
あなたの.pfx
証明書をAzure Key Vaultに保存するには、Active Directoryのアプリ登録を作成する必要があります。このアプリ登録は以下のことが必要です:
Azure Key Vaultへのアクセスのために委任されたAPI権限を与えます
キーコネクターによるアクセスを許可するために、クライアントシークレットを生成してください。
BashkeyConnectorSettings__certificate__provider=azurekv keyConnectorSettings__certificate__azureKeyvaultUri={Vault_URI} keyConnectorSettings__certificate__azureKeyvaultCertificateName={Certificate_Name} keyConnectorSettings__certificate__azureKeyvaultAdTenantId={ActiveDirectory_TenantId} keyConnectorSettings__certificate__azureKeyvaultAdAppId={AppRegistration_ApplicationId} keyConnectorSettings__certificate__azureKeyvaultAdSecret={AppRegistration_ClientSecretValue}
Hashicorp 保管庫
証明書がHashicorp保管庫に保存されている場合、次の値を指定してください:
備考
キーコネクターはHashicorp保管庫KV2ストレージエンジンと統合します。このタブの上部によれば、証明書ファイルはPKCS12形式であり、Vault内の名前付きキーの値としてbase64でエンコードされて保存されるべきです。KV2ストレージエンジンのVaultチュートリアルに従っている場合、特に指定がない限り、キーの名前はファイル
になるかもしれません。
BashkeyConnectorSettings__rsaKey__provider=certificate keyConnectorSettings__certificate__provider=vault keyConnectorSettings__certificate__vaultServerUri={Server_URI} keyConnectorSettings__certificate__vaultToken={Token} keyConnectorSettings__certificate__vaultSecretMountPoint={Secret_MountPoint} keyConnectorSettings__certificate__vaultSecretPath={Secret_Path} keyConnectorSettings__certificate__vaultSecretDataKey={Secret_DataKey} keyConnectorSettings__certificate__vaultSecretFilePassword={Secret_FilePassword}
RSA 2048キーペアを保存するためにクラウドプロバイダーまたは物理的なデバイスを使用するには、選択した実装に応じて必要な値を指定します(Azure Key 保管庫、Google Cloud Key 管理などを参照してください):
Azure キー保管庫
RSA 2048キーペアを保存するためにAzure Key Vaultを使用している場合、次の値を指定してください:
備考
RSA 2048キーを保存するためにAzure Key Vaultを使用するには、Active Directoryのアプリ登録を作成する必要があります。このアプリ登録は以下のことが必要です:
Azure Key Vaultへのアクセスを許可するために、委任されたAPI権限を与えてください。
キーコネクターによるアクセスを許可するために、クライアントシークレットを生成してください。
BashkeyConnectorSettings__rsaKey__provider=azurekv keyConnectorSettings__rsaKey__azureKeyvaultUri={Vault_URI} keyConnectorSettings__rsaKey__azureKeyvaultKeyName={Key_Name} keyConnectorSettings__rsaKey__azureKeyvaultAdTenantId={ActiveDirectory_TenantId} keyConnectorSettings__rsaKey__azureKeyvaultAdAppId={AppRegistration_ApplicationId} keyConnectorSettings__rsaKey__azureKeyvaultAdSecret={AppRegistration_ClientSecretValue}
Azure Key Vaultを使用してキーペアを作成する方法を学びましょう
Google Cloudキー管理
あなたがGoogle Cloud Key Managementを使用してRSA 2048キーペアを保存している場合、次の値を指定してください:
BashkeyConnectorSettings__rsaKey__provider=gcpkms keyConnectorSettings__rsaKey__googleCloudProjectId={Project_Id} keyConnectorSettings__rsaKey__googleCloudLocationId={Location_Id} keyConnectorSettings__rsaKey__googleCloudKeyringId={Keyring_Id} keyConnectorSettings__rsaKey__googleCloudKeyId={Key_Id} keyConnectorSettings__rsaKey__googleCloudKeyVersionId={KeyVersionId}
Google Cloud Key Management Serviceを使用してキーリングと非対称キーを作成する方法を学びましょう
AWSキーマネージメントサービス
あなたがAWSキー管理サービス(KMS)を使用してRSA 2048キーペアを保存する場合、次の値を指定してください:
BashkeyConnectorSettings__rsaKey__provider=awskms keyConnectorSettings__rsaKey__awsAccessKeyId={AccessKey_Id} keyConnectorSettings__rsaKey__awsAccessKeySecret={AccessKey_Secret} keyConnectorSettings__rsaKey__awsRegion={Region_Name} keyConnectorSettings__rsaKey__awsKeyId={Key_Id}
AWS KMSを使用して非対称キーを作成する方法を学びましょう
PKCS11 物理的な HSM
PKCS11プロバイダーと物理的なHSMデバイスを使用している場合、次の値を指定してください:
BashkeyConnectorSettings__rsaKey__provider=pkcs11 keyConnectorSettings__rsaKey__pkcs11Provider={Provider} keyConnectorSettings__rsaKey__pkcs11SlotTokenSerialNumber={Token_SerialNumber} keyConnectorSettings__rsaKey__pkcs11LoginUserType={Login_UserType} keyConnectorSettings__rsaKey__pkcs11LoginPin={Login_PIN} ONE OF THE FOLLOWING TWO: keyConnectorSettings__rsaKey__pkcs11PrivateKeyLabel={PrivateKeyLabel} keyConnectorSettings__rsaKey__pkcs11PrivateKeyId={PrivateKeyId} OPTIONALLY: keyConnectorSettings__rsaKey__pkcsLibraryPath={path/to/library/file}
どこで
{Provider}
はyubihsm
またはopensc
になることができます。{Login_UserType}
はユーザー
、だから
、またはコンテキストに依存する
ことができます
備考
HSMデバイスにプライベートキーを保存するためにPKCS11プロバイダを使用している場合、関連する公開キーは証明書として利用可能にし、証明書タブで見つかる任意のオプションを使用して設定する必要があります。
キーコネクターが完全に設定され、キーコネクター対応ライセンスを取得したので、次の手順を完了してください:
設定の変更を適用するために、自己ホスト型のBitwardenインストールを再起動してください。
Bash./bitwarden.sh restart
セルフホスト型 Bitwarden に組織所有者としてログインし、管理コンソールの[請求] → [サブスクリプション]画面に移動します。
ライセンスを更新ボタンを選択し、キーコネクター対応のライセンスをアップロードします。これは前のステップで取得したものです。
まだ行っていない場合は、設定→ポリシー画面に移動し、単一組織と単一サインオン認証が必要のポリシーを有効にしてください。両方ともキーコネクターを使用する必要があります。
設定→ シングルサインオン画面に移動します。
メンバー復号化オプションセクションで、キーコネクターを選択します。
キーコネクターURLの入力欄に、キーコネクターが動作しているアドレス(デフォルトでは、
https://your.domain/key-connector
)を入力し、テストボタンを選択してキーコネクターにアクセスできることを確認してください。画面の下までスクロールし、保存を選択してください。
このページの変更を提案する
どうすればこのページを改善できますか?
技術、請求、製品に関するご質問は、サポートまでお問い合わせください。