Áú»¢¶Ä²©

This is a translation of the original English documentation page. Help us make it better.

2 HashiCorp-configuratie

Deze sectie legt uit hoe Áú»¢¶Ä²© geconfigureerd kan worden om geheimen op te halen uit de HashiCorp Vault KV Secrets Engine - Versie 2.

De vault moet ingezet en geconfigureerd zijn zoals beschreven staat in de offici?le .

Voor meer informatie over het configureren van TLS in Áú»¢¶Ä²©, zie Opslag van geheimen.

Overview

This section explains how to configure Áú»¢¶Ä²© for retrieving secrets from HashiCorp Vault KV Secrets Engine - Version 2.

The vault should be deployed and configured as described in the official .

To learn about configuring TLS in Áú»¢¶Ä²©, see Storage of secrets.

Databasegegevens

Toegang tot een geheim met databasegegevens is apart geconfigureerd voor elke afzonderlijke Áú»¢¶Ä²©-component.

Server en proxies

Om databasegegevens vanuit de vault op te halen voor Áú»¢¶Ä²© server of proxy, specificeer je de volgende configuratieparameters in het configuratiebestand:

  • Vault - welke vault-provider gebruikt moet worden;
  • VaultToken - vault-authenticatietoken (zie het configuratiebestand van Áú»¢¶Ä²© server/proxy voor details);
  • VaultURL - URL van de vault-server via HTTP[S];
  • VaultDBPath - pad naar het vault-geheim met databasegegevens; Áú»¢¶Ä²©-server of proxy zal de referenties ophalen met de sleutels "password" en "username".

De Áú»¢¶Ä²©-server gebruikt ook de Vault, VaultToken en VaultURL configuratieparameters voor vault-authenticatie bij het verwerken van vault-geheimmacro's.

Zowel de Áú»¢¶Ä²©-server als de Áú»¢¶Ä²©-proxy lezen de met de vault verband houdende configuratieparameters uit zabbix_server.conf en zabbix_proxy.conf bij het opstarten. Bovendien zullen de Áú»¢¶Ä²©-server en Áú»¢¶Ä²©-proxy de VAULT_TOKEN-omgevingsvariabele ¨¦¨¦n keer lezen tijdens het opstarten en deze unsetten zodat deze niet beschikbaar zou zijn via geforkte scripts; het is een fout als zowel VaultToken als VAULT_TOKEN parameters een waarde bevatten.

Voorbeeld
  1. In zabbix_server.conf specificeer je de volgende parameters:
Vault=HashiCorp
       VaultToken=hvs.CAESIIG_PILmULFYOsEyWHxkZ2mF2a8VPKNLE8eHqd4autYGGh4KHGh2cy5aeTY0NFNSaUp3ZnpWbDF1RUNjUkNTZEg
       VaultURL=https://127.0.0.1:8200
       VaultDBPath=secret/zabbix/database
  1. Voer de volgende CLI-commando's uit om het vereiste geheim in de vault aan te maken:
# "secret/" koppelingspunt inschakelen indien nog niet ingeschakeld; let op dat "kv-v2" gebruikt moet worden.
       $ vault secrets enable -path=secret/ kv-v2
       
       # Nieuwe geheimen met sleutels "username" en "password" plaatsen onder koppelingspunt "secret/" en pad "secret/zabbix/database".
       $ vault kv put secret/zabbix/database username=zabbix password=<password>
       
       # Test dat het geheim succesvol is toegevoegd.
       $ vault kv get secret/zabbix/database
       
       # Test tot slot met Curl; let op dat "data" handmatig moet worden toegevoegd na het koppelingspunt en "/v1" voor het koppelingspunt, zie ook de parameter --capath.
       $ curl --header "X-Vault-Token: <VaultToken>" https://127.0.0.1:8200/v1/secret/data/zabbix/database
  1. Als resultaat zal de Áú»¢¶Ä²©-server de volgende referenties ophalen voor database-authenticatie:
  • Gebruikersnaam: zabbix
  • Wachtwoord: <password>

Frontend

Om databasegegevens vanuit de vault op te halen voor de Áú»¢¶Ä²©-frontend, specificeer je de volgende parameters tijdens de installatie van de frontend.

  1. Bij de stap Configure DB Connection, stel de parameter Store credentials in in op "HashiCorp Vault".

  1. Vul vervolgens de aanvullende parameters in:
Parameter Verplicht Standaardwaarde Omschrijving
Vault API-eindpunt ja https://localhost:8200 Specificeer de URL voor het verbinden met de vault in het formaat scheme://host:port
Vault-geheimpad nee Een pad naar het geheim waaruit referenties voor de database opgehaald dienen te worden met de sleutels "password" en "username".
Voorbeeld: secret/zabbix/database
Vault authenticatietoken nee Voorzie een authenticatietoken voor alleen-lezen toegang tot het geheimpad.
Zie de voor informatie over het maken van tokens en vault-policies.

Waarden van gebruikersmacro's

Om HashiCorp Vault te gebruiken voor het opslaan van waarden van gebruikersmacro's voor Vault-geheimen, zorg ervoor dat:

Alleen de Áú»¢¶Ä²©-server heeft toegang nodig tot waarden van Vault-geheimen via gebruikersmacro's uit de vault. Andere Áú»¢¶Ä²©-componenten (proxy, frontend) hebben deze toegang niet nodig.

De macrowaarde moet een verwijzingspad bevatten (als pad:sleutel, bijvoorbeeld secret/zabbix:wachtwoord). Het authenticatietoken dat tijdens de configuratie van de Áú»¢¶Ä²©-server is gespecificeerd (via de parameter VaultToken) moet alleen-lezen toegang bieden tot dit pad.

Zie Macro's voor geheime gegevens voor gedetailleerde informatie over de verwerking van macrowaarden door Áú»¢¶Ä²©.

Syntax voor paden

De symbolen schuine streep ("/") en dubbele punt (":") zijn gereserveerd.

Een schuine streep kan alleen gebruikt worden om een koppelingspunt van een pad te scheiden (bijvoorbeeld secret/zabbix waarbij het koppelingspunt "secret" is en het pad "zabbix" is). In het geval van Vault-macro's kan een dubbele punt alleen gebruikt worden om een pad/query te scheiden van een sleutel.

Het is mogelijk om de schuine streep- en dubbele punt-symbolen URL-gecodeerd te gebruiken als er behoefte is aan het cre?ren van een koppelingspunt met de naam die gescheiden wordt door een schuine streep (bijvoorbeeld foo/bar/zabbix, waarbij het koppelingspunt "foo/bar" is en het pad "zabbix" is, kan gecodeerd worden als "foo%2Fbar/zabbix") en als een koppelingspunt-naam of pad een dubbele punt moet bevatten.

Voorbeeld

  1. Voeg in Áú»¢¶Ä²© een gebruikersmacro {$PASSWORD} toe van het type "Vault-geheim" en met de waarde secret/zabbix:wachtwoord

  1. Voer de volgende CLI-commando's uit om het vereiste geheim in de vault aan te maken:
# "secret/" koppelingspunt inschakelen indien nog niet ingeschakeld; let op dat "kv-v2" gebruikt moet worden.
       vault secrets enable -path=secret/ kv-v2
       
       # Nieuw geheim met sleutel wachtwoord plaatsen onder koppelingspunt "secret/" en pad "secret/zabbix".
       vault kv put secret/zabbix wachtwoord=<wachtwoord>
       
       # Test dat het geheim succesvol is toegevoegd.
       vault kv get secret/zabbix
       
       # Test tot slot met Curl; let op dat "data" handmatig moet worden toegevoegd na het koppelingspunt en "/v1" voor het koppelingspunt, zie ook de parameter --capath.
       curl --header "X-Vault-Token: <VaultToken>" https://127.0.0.1:8200/v1/secret/data/zabbix
  1. Als resultaat zal Áú»¢¶Ä²© de macro {$PASSWORD} oplossen naar de waarde: <wachtwoord>

Update existing configuration

To update an existing configuration for retrieving secrets from a HashiCorp Vault:

  1. Update the Áú»¢¶Ä²© server or proxy configuration file parameters as described in the Database credentials section.

  2. Update the DB connection settings by reconfiguring Áú»¢¶Ä²© frontend and specifying the required parameters as described in the Frontend section. To reconfigure Áú»¢¶Ä²© frontend, open the frontend setup URL in the browser:

  • for Apache: http://<server_ip_or_name>/zabbix/setup.php
  • for Nginx: http://<server_ip_or_name>/setup.php

Alternatively, these parameters can be set in the frontend configuration file (zabbix.conf.php):

$DB['VAULT']                    = 'HashiCorp';
       $DB['VAULT_URL']                = 'https://localhost:8200';
       $DB['VAULT_DB_PATH']            = 'secret/zabbix/database';
       $DB['VAULT_TOKEN']              = '<mytoken>';
       $DB['VAULT_CERT_FILE']          = '';
       $DB['VAULT_KEY_FILE']           = '';
  1. Configure user macros as described in the User macro values section, if necessary.

To update an existing configuration for retrieving secrets from a CyberArk Vault, see CyberArk configuration.