Desplegar Conector de clave
Este artículo le guiará a través del procedimiento para habilitar y configurar el Conector de clave en un entorno autoalojado existente. Antes de continuar , revise detenidamente el artículo sobre Key Connector para garantizar una comprensión completa de qué es Key Connector, cómo funciona y los impactos de su implementación.
Bitwarden admite la implementación de un Conector de clave para su uso por una organización para una instancia autoalojada.
advertencia
La gestión de las claves criptográficas es increíblemente sensible y se recomienda solo para empresas con un equipo e infraestructura que puedan respaldar de manera segura la implementación y gestión de un servidor de claves.
Para usar el Conector de clave debes:
Si su organización cumple o puede cumplir con estos requisitos, incluyendo un equipo e infraestructura que pueden gestionar un servidor clave, contáctenos y activaremos el Conector de clave.
Una vez que se haya comunicado con nosotros con respecto a Key Connector , nos comunicaremos con nosotros para iniciar una discusión sobre Key Connector. Los pasos que siguen en este artículo deben completarse en colaboración con los especialistas en éxito del cliente e implementación de Bitwarden.
Una vez que nos haya contactado con respecto al Conector de clave, un miembro del equipo de éxito del cliente y de implementación generará un archivo de licencia habilitado para el Conector de clave para su organización. Cuando tu colaborador de Bitwarden te indique que está listo, completa los siguientes pasos para obtener la nueva licencia:
Abra la aplicación web en la nube de Bitwarden y navegue hasta la pantalla de Factura → Suscripción en la Consola de Administrador de su organización.
Desplázate hacia abajo y selecciona el botón Descargar Licencia.
Cuando se le solicite, ingrese el ID de instalación que se utilizó para instalar su servidor autoalojado y seleccione Enviar. Si no conoces tu ID de instalación de memoria, puedes recuperarlo de
./bwdata/env/global.override.env
.
No necesitarás tu archivo de licencia de inmediato, pero se te requerirá subirlo a tu servidor autoalojado en un paso posterior.
Para preparar tu servidor Bitwarden para el Conector de clave:
Guarda una copia de seguridad de, como mínimo,
.bwdata/mssql
. Una vez que el Conector de clave está en uso, se recomienda que tenga acceso a una imagen de respaldo previa al Conector de clave en caso de un problema.nota
Si está utilizando una base de datos MSSQL externa, haga una copia de seguridad de su base de datos de la manera que mejor se adapte a su implementación.
Actualiza tu instalación de Bitwarden autoalojada para obtener los últimos cambios:
Bash./bitwarden.sh update
Edita el archivo
.bwdata/config.yml
y habilita el Conector de clave cambiandoenable_key_connector
averdadero
.Bashnano bwdata/config.yml
Reconstruye tu instalación de Bitwarden autoalojada:
Bash./bitwarden.sh rebuild
Actualiza nuevamente tu instalación de Bitwarden autoalojada para aplicar los cambios:
Bash./bitwarden.sh update
Para configurar el Conector de clave:
Edita el archivo
.bwdata/env/key-connector.override.env
que se habrá descargado con la./bitwarden.sh actualizar
.Bashnano bwdata/env/key-connector.override.env
advertencia
Este archivo se prellenará con valores predeterminados que activarán una configuración funcional local de Conector de clave, sin embargo, los valores predeterminados no se recomiendan para entornos de producción.
En
key-connector.override.env
, necesitarás especificar valores para lo siguiente:Endpoints: Con qué endpoints de Bitwarden puede comunicarse el Conector de clave.
Base de datos: Donde el Conector de clave almacenará y recuperará las claves de usuario.
Par de claves RSA : cómo Key Connector accederá a un par de claves RSA para proteger las claves de usuario en reposo.
Puntos finales
La configuración automatizada llenará los valores de los puntos finales basándose en la configuración de su instalación, sin embargo, se recomienda que confirme que los siguientes valores en key-connector.override.env
son precisos para su configuración:
BashkeyConnectorSettings__webVaultUri=https://your.bitwarden.domain.com keyConnectorSettings__identityServerUri=http://identity:5000
Base de datos
El Conector de clave debe acceder a una base de datos que almacena claves de usuario cifradas para los miembros de su organización. Crea una base de datos segura para almacenar las claves de usuarios cifradas y reemplaza los valores predeterminados de keyConnectorSettings__database__
en key-connector.override.env
con los valores designados en la columna de Valores Requeridos para la base de datos elegida:
advertencia
La migración de una base de datos a otra no está soportada en este momento. Independientemente del proveedor que elijas, implementa un horario de respaldo automatizado frecuente para la base de datos.
Base de datos | Valores requeridos |
---|---|
Local JSON (predeterminado) | No recomendado fuera de las pruebas.
|
Microsoft SQL Server |
|
PostgreSQL |
|
MySQL/MariaDB |
|
MongoDB |
|
Par de claves RSA
El Conector de clave utiliza un par de claves RSA para proteger las claves de usuario en reposo. Crea un par de claves y reemplaza los valores predeterminados de keyConnectorSettings__rsaKey__
y keyConnectorSettings__certificate__
en key-connector.override.env
con los valores requeridos para tu implementación elegida.
consejo
El par de claves RSA debe ser como mínimo de 2048 bits de longitud.
Generalmente, tus opciones incluyen otorgar al Conector de Clave acceso a un Certificado X509 que contiene el par de claves o conceder al Conector de Clave acceso directamente al Par de Claves:
Para usar un certificado X509 que contiene un par de claves RSA, especifica los valores requeridos dependiendo de la ubicación donde se almacena tu certificado (ver Sistema de archivos, Almacén de certificados del sistema operativo, y así sucesivamente):
consejo
El certificado debe estar disponible como un archivo PKCS12 .pfx
, por ejemplo:
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}
En todas las implementaciones de certificados, necesitarás el valor CN
mostrado en este ejemplo.
Sistema de archivos (predeterminado)
Si el certificado se almacena en el sistema de archivos de la máquina que ejecuta el Conector de clave, especifique los siguientes valores:
nota
Por defecto, el Conector de clave estará configurado para crear un archivo .pfx
ubicado en etc/bitwarden/key-connector/bwkc.pfx
con una contraseña generada. No se recomienda que las implementaciones empresariales utilicen estos valores predeterminados.
BashkeyConnectorSettings__rsaKey__provider=certificate keyConnectorSettings__certificate__provider=filesystem keyConnectorSettings__certificate__filesystemPath={Certificate_Path} keyConnectorSettings__certificate__filesystemPassword={Certificate_Password}
Almacenamiento Blob de Azure
Si el certificado se sube al Almacenamiento Blob de Azure, especifica los siguientes valores:
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}
Establezca azureStorageConnectionString
a una Cadena de conexión que puede generar en su portal de Azure desde la página de Firma de acceso compartido (SAS) de su cuenta de almacenamiento. El SAS debe tener:
Servicios permitidos: Blob y Archivo
Tipos de recursos permitidos: Servicio, Contenedor y Objeto
Permisos permitidos: Leer, Escribir y Listar.
Permisos de índice de blob permitidos: Leer/Escribir y Filtrar
Azure Caja Fuerte de Claves
Si el certificado se almacena en Azure Key Vault, especifique los siguientes valores:
nota
Para usar Azure Key Vault para almacenar tu certificado .pfx
, necesitarás crear un Registro de Aplicación en el Directorio Activo. Esta Registración de Aplicación debe:
Otorgue permisos de API delegados para acceder a Azure Key Vault
Genere un secreto de cliente para permitir el acceso por el Conector de clave.
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 Caja Fuerte
Si el certificado se almacena en la caja fuerte de Hashicorp, especifique los siguientes valores:
nota
El Conector de clave se integra con el Motor de Almacenamiento KV2 de Hashicorp Vault. Según la parte superior de esta pestaña, el archivo de certificado debe estar en formato PKCS12 y almacenado en base64 como el valor de una clave nombrada en su caja fuerte. Si sigues un tutorial de Vault para el Motor de Almacenamiento KV2, el nombre de la clave puede ser archivo
a menos que se especifique lo contrario.
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}
Para usar un proveedor de nube o un dispositivo físico para almacenar un par de claves RSA 2048, especifica los valores requeridos dependiendo de tu implementación elegida (ver Azure Key Vault, Google Cloud Key Management, y así sucesivamente):
Azure Caja Fuerte de Claves
Si está utilizando Azure Key Vault para almacenar un par de claves RSA 2048, especifique los siguientes valores:
nota
Para usar Azure Key Vault para almacenar tu clave RSA 2048, necesitarás crear un Registro de Aplicación en el Directorio Activo. Esta Registración de Aplicación debe:
Otorgue permisos de API delegados para acceder a la caja fuerte de claves de Azure.
Genere un secreto de cliente para permitir el acceso por el Conector de clave.
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}
Aprende cómo usar Azure Key Vault para crear un par de claves
Gestión de Claves de Google Cloud
Si está utilizando Google Cloud Key Management para almacenar un par de claves RSA 2048, especifique los siguientes valores:
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}
Servicio de Gestión de Claves AWS
Si está utilizando el Servicio de Gestión de Claves (KMS) de AWS para almacenar un par de claves RSA 2048, especifique los siguientes valores:
BashkeyConnectorSettings__rsaKey__provider=awskms keyConnectorSettings__rsaKey__awsAccessKeyId={AccessKey_Id} keyConnectorSettings__rsaKey__awsAccessKeySecret={AccessKey_Secret} keyConnectorSettings__rsaKey__awsRegion={Region_Name} keyConnectorSettings__rsaKey__awsKeyId={Key_Id}
Aprende cómo usar AWS KMS para crear claves asimétricas
PKCS11 HSM Físico
Si está utilizando un dispositivo HSM físico con el proveedor PKCS11, especifique los siguientes valores:
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}
Dónde
{Provider}
puede seryubihsm
oopensc
{Login_UserType}
puede serusuario
,así
, oespecífico_del_contexto
nota
Si está utilizando el proveedor PKCS11 para almacenar su clave privada en un dispositivo HSM, la clave pública asociada debe estar disponible y configurada como un certificado utilizando cualquiera de las opciones que se encuentran en la pestaña Certificados.
Ahora que el Conector de clave está completamente configurado y tienes una licencia habilitada para Conector de clave, completa los siguientes pasos:
Reinicie su instalación de Bitwarden autoalojada para aplicar los cambios de configuración:
Bash./bitwarden.sh restart
Inicie sesión en su Bitwarden autohospedado como propietario de una organización y navegue hasta la pantalla Facturación → Suscripción de la Consola de administración.
Seleccione el botón Actualizar licencia y suba la licencia habilitada para el Conector de clave recuperada en un paso anterior.
Si aún no lo has hecho, navega a la pantalla de Ajustes → Políticas y habilita las políticas de Organización única y Requerir autenticación de inicio de sesión único. Ambos son necesarios para utilizar Key Connector .
Navega a la pantalla de Ajustes → Inicio de sesión único.
consejo
Los siguientes pasos asumen que ya tienes una implementación activa de inicio de sesión con SSO utilizando SAML 2.0 o OIDC. Si no lo hace , implemente y pruebe el inicio de sesión con SSO antes de continuar.
En la sección de Opciones de descifrado de miembro, selecciona Conector de clave.
En la entrada de URL del Conector de clave, ingrese la dirección donde se está ejecutando el Conector de clave (por defecto,
https://your.domain/key-connector
) y seleccione el botón de Prueba para asegurarse de que puede acceder al Conector de clave.Desplázate hasta la parte inferior de la pantalla y selecciona Guardar.
Sugerir cambios en esta página
¿Cómo podemos mejorar esta página para usted?
Si tiene preguntas técnicas, sobre facturación o sobre el producto, póngase en contacto con el servicio de asistencia.