Geheimen ManagerIntegraties

GitLab CI/CD

Bitwarden biedt een manier om secrets in je GitLab CI/CD pipelines te injecteren met behulp van de Bitwarden Secrets Manager CLI. Hiermee kun je veilig geheimen opslaan en gebruiken in je CI/CD workflows. Om te beginnen:

Een toegangstoken opslaan

In deze stap gaan we een toegangstoken opslaan als een GitLab CI/CD variabele. Dit token wordt gebruikt om te authenticeren met de Bitwarden Secrets Manager API en geheimen op te halen.

  1. Navigeer in GitLab naar de Instellingen > CI/CD pagina van je project.

  2. Selecteer Uitbreiden in het gedeelte Variabelen .

  3. Selecteer Variabele toevoegen.

  4. Controleer de maskervariabele vlag.

  5. Geef de sleutel de naam BWS_ACCESS_TOKEN. Dit is de variabele waarnaar de Secrets Manager CLI zoekt om te authenticeren. Als je de sleutel een andere naam wilt geven, geef dan later --access-token NAME_OF_VAR op de regel bws secret get.

  6. Open in een ander tabblad de webapp Secrets Manager en maak een toegangstoken aan.

  7. Terug in GitLab, plak het nieuw aangemaakte toegangstoken in het Waarde veld.

  8. Selecteer Variabele toevoegen om op te slaan.

Een variabele toevoegen in GitLab
Een variabele toevoegen in GitLab

Toevoegen aan uw workflowbestand

Vervolgens gaan we een rudimentaire GitLab CI/CD workflow schrijven. Maak een bestand genaamd .gitlab-ci.yml aan in de root van je repository met de volgende inhoud:

Bash
stages: - default_runner image: ubuntu build: stage: default_runner script: - | # install bws apt-get update && apt-get install -y curl git jq unzip export BWS_VER="$( curl -s https://api.github.com/repos/bitwarden/sdk/releases/latest | \ jq -r '.tag_name' | sed 's/bws-v//' )" curl -LO \ "https://github.com/bitwarden/sdk/releases/download/bws-v$BWS_VER/bws-x86_64-unknown-linux-gnu-$BWS_VER.zip" unzip -o bws-x86_64-unknown-linux-gnu-$BWS_VER.zip -d /usr/local/bin # secrets to retrieve secret_ids=( "534cc788-a143-4743-94f5-afdb00a40a41" "9a0b500c-cb3a-42b2-aaa2-afdb00a41daa" ) # export secrets as environment variables for secret_id in "${secret_ids[@]}"; do secret="$(bws secret get "$secret_id")" secret_key="$(echo "$secret" | jq -r '.key')" secret_value="$(echo "$secret" | jq -r '.value')" export "$secret_key"="$secret_value" done # run the command that requires secrets - npm run start

Waar:

  • BWS_VER is de versie van de Bitwarden Secrets Manager CLI die geïnstalleerd moet worden. Hier krijgen we automatisch de nieuwste versie. Je kunt de versie die geïnstalleerd wordt vastpinnen door dit te veranderen in een specifieke versie, bijvoorbeeld BWS_VER="0.3.1".

  • 534cc788-a143-4743-94f5-afdb00a40a41 en 9a0b500c-cb3a-42b2-aaa2-afdb00a41daa zijn referentie-identifiers voor geheimen opgeslagen in Secrets Manager. De serviceaccount waar je toegangstoken bij horen moet toegang hebben tot deze specifieke geheimen.

  • npm run start is het commando dat de geheime waarden verwacht die worden opgehaald door bws. Vervang dit door de relevante commando's om je project uit te voeren.

waarschuwing

Geheimen worden opgeslagen als omgevingsvariabelen. Het is belangrijk om te voorkomen dat commando's worden uitgevoerd die deze geheimen naar de logs zouden uitvoeren.

De CI/CD-pijplijn uitvoeren

Selecteer aan de linkerkant Build > Pipelines en selecteer Run pipeline rechtsboven in het tempo. Selecteer Voer pijplijn uit op de pagina om de nieuw aangemaakte pijplijn uit te voeren.

Make a suggestion to this page

Neem contact op met ons ondersteuningsteam

Voor technische, factuur- en productvragen.

Naam*
Bitwarden account e-mail*
Account e-mail verifiëren*
Product*
Ben je zelf hostend?*
Onderwerp*
Bericht...*

Wolkenstatus

Status controleren

© 2024 Bitwarden, Inc. Voorwaarden Privacy Cookie-instellingen Sitemap

Go to EnglishStay Here