Administrador de secretosIntegraciones

Ansible

Bitwarden ofrece una integración con Ansible para recuperar secretos del Administrador de secretos e inyectarlos en tu libro de jugadas de Ansible. El plugin de búsqueda inyectará los secretos recuperados como variables de entorno enmascaradas dentro de un libro de jugadas de Ansible. Para configurar la colección:

Requisitos

  • Recomendamos instalar paquetes de Python en un entorno virtual de Python.

  • Versión actual de Ansible instalada en su sistema.

  • Administrador de secretos de Bitwarden con una cuenta de servicio activa.

Antes de configurar la colección de Ansible, también recomendamos que abra el Administrador de secretos para acceder a su token de acceso y cualquier secreto que desee incluir en la configuración.

Instala la colección Ansible de Bitwarden

La siguiente guía es un ejemplo de configuración para la colección de Bitwarden utilizando una máquina Linux.

  1. Instala el SDK de Bitwarden:

    Bash
    pip install bitwarden-sdk
  2. Instala la colección bitwarden.secrets:

    Bash
    ansible-galaxy collection install bitwarden.secrets

Ahora que la colección Ansible ha sido instalada, podemos comenzar a llamar a los secretos de Bitwarden desde un playbook de Ansible con bitwarden.secrets.lookup. La siguiente sección incluirá ejemplos para demostrar este proceso.

nota

Los usuarios de macOS pueden necesitar establecer la siguiente variable de entorno en shell para evitar problemas de Ansible aguas arriba.

  • exportar OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES

Obtener secretos de Bitwarden

Para obtener secretos del Administrador de secretos en tu guion, hay dos métodos:

Guardar token de acceso como variable de entorno.

Usando el Administrador de secretos, podemos establecer de manera segura nuestro token de acceso como una variable de entorno en la shell y usar el libro de jugadas para recuperar el secreto. Para autenticar el token de acceso:

  1. En la terminal, ejecute el siguiente comando para establecer su variable de entorno de token de acceso:

    Bash
    export BWS_ACCESS_TOKEN=<ACCESS_TOKEN_VALUE>
  2. Ahora que la variable de entorno ha sido establecida, podemos usar el plugin de búsqueda para poblar variables en nuestro playbook. Por ejemplo:

    Bash
    vars: database_password: "{{ lookup('bitwarden.secrets.lookup', '<SECRET_ID>') }}"
nota

Al establecer BWS_ACCESS_TOKEN como una variable de entorno, el token de acceso puede ser referenciado sin incluir el valor crudo del token de acceso en el libro de jugadas.

Suministra el token de acceso en el libro de jugadas

El token de acceso del Administrador de secretos también puede ser referenciado dentro del propio libro de jugadas. Este método no requeriría que utilices la variable de entorno BWS_ACCESS_TOKEN en tu shell, sin embargo, el valor del token de acceso se almacenará en el playbook en sí.

  1. Los tokens de acceso pueden incluirse en el libro de jugadas con el siguiente ejemplo:

    Bash
    vars: password_with_a_different_access_token: "{{ lookup('bitwarden.secrets.lookup', '<SECRET_ID_VALUE>', access_token='<ACCESS_TOKEN_VALUE>') }}"

Usando este método, se pueden referenciar múltiples tokens de acceso en un solo libro de jugadas.

Recupera el secreto de un servidor diferente

Los usuarios autoalojados de Bitwarden pueden recuperar secretos de su servidor Bitwarden incluyendo el base_url, api_url y identity_url:

Bash
vars: secret_from_other_server: "{{ lookup('bitwarden.secrets.lookup', '<SECRET_ID>', base_url='https://bitwarden.example.com' ) }}" secret_advanced: >- {{ lookup('bitwarden.secrets.lookup', '<SECRET_ID>', api_url='https://bitwarden.example.com/api', identity_url='https://bitwarden.example.com/identity' ) }}

Ejemplo de libro de jugadas

El siguiente es un ejemplo de un archivo de libro de jugadas con varias opciones de configuración.

Bash
--- - name: Using secrets from Bitwarden vars: bws_access_token: "{{ lookup('env', 'CUSTOM_ACCESS_TOKEN_VAR') }}" state_file_dir: "{{ '~/.config/bitwarden-sm' | expanduser }}" secret_id: "9165d7a8-2c22-476e-8add-b0d50162c5cc" secret: "{{ lookup('bitwarden.secrets.lookup', secret_id) }}" secret_with_field: "{{ lookup('bitwarden.secrets.lookup', secret_id, field='note' ) }}" secret_with_access_token: "{{ lookup('bitwarden.secrets.lookup', secret_id, access_token=bws_access_token ) }}" secret_with_state_file: "{{ lookup('bitwarden.secrets.lookup', secret_id, state_file_dir=state_file_dir ) }}" tasks: - name: Use the secret in a task include_tasks: tasks/add_db_user.yml # reference the secrets with "{{ secret }}", "{{ secret_with_field }}", etc.
nota

En el ejemplo anterior, el CUSTOM_ACCESS_TOKEN_VAR demuestra que puedes incluir múltiples tokens de acceso diferentes. Estos no tienen que ser tarjetas duras y pueden ser suministrados de manera segura a tu libro de jugadas.

Variable

Información adicional

bws_token_de_acceso

Busca el token de acceso env variable.

directorio_de_archivo_de_estado

Un directorio donde tu estado de autenticación puede ser almacenado en caché.

id_secreto

ID del secreto que deseas buscar.

secreto

Busca un valor secreto y guárdalo como una variable llamada "secreto".

secreto_con_campo

Busca un secreto con salida de campo adicional. En este ejemplo, la búsqueda devolverá el valor de la 'nota' del secreto.

secreto_con_token_de_acceso

Busque un secreto con el valor del token de acceso incluido en la solicitud.

archivo_secreto_con_estado

Busque un secreto con el archivo de estado preconfigurado incluido en la solicitud.

Solicitudes adicionales y campos

Además del secret_id, se pueden incluir varios campos en el bitwarden.secrets.lookup. El siguiente objeto JSON incluye todos los campos que pueden ser referenciados en la búsqueda del libro de jugadas:

Bash
{ "id": "be8e0ad8-d545-4017-a55a-b02f014d4158", "organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41", "projectId": "e325ea69-a3ab-4dff-836f-b02e013fe530", "key": "SES_KEY", "value": "0.982492bc-7f37-4475-9e60", "note": "", "creationDate": "2023-06-28T20:13:20.643567Z", "revisionDate": "2023-06-28T20:13:20.643567Z" }

Para recuperar campos adicionales como "nota", el siguiente comando puede ser añadido al libro de jugadas:

Bash
vars: database_password: "{{ lookup('bitwarden.secrets.lookup', '0037ed90-efbb-4d59-a798-b103012487a0', field='note') }}"

Hacer una sugerencia a esta página

Contacte con nuestro equipo de asistencia

Para cuestiones técnicas, de facturación y de productos.

Nombre*
Correo electrónico de la cuenta Bitwarden*
Verificar el correo electrónico de la cuenta*
Producto*
¿Se aloja usted mismo?*
Asunto*
Mensaje...*

Estado de la nube

Comprobar estado

© 2024 Bitwarden, Inc. Términos Privacidad Ajustes de Cookies Mapa del sitio

Go to EnglishStay Here