Geheimen Manager CLI
De Secrets Manager command-line interface (CLI) is een krachtig hulpmiddel voor het ophalen en injecteren van je geheimen. De Secrets Manager CLI kan gebruikt worden om je kluis te organiseren met het maken
, verwijderen
, bewerken
en oplijsten van
je geheimen en projecten.
De Secrets Manager CLI is zelf gedocumenteerd. Leer vanaf de opdrachtregel meer over de beschikbare opdrachten met:
Bashbws --help, -h
De CLI kan cross-platform worden gebruikt op Windows, macOS en Linux distributies. Om de Secrets Manager CLI te downloaden en te installeren:
Download de Secrets Manager CLI van https://github.com/bitwarden/sdk/releases.
Er kan ingelogd worden op de Secrets Manager CLI met een toegangstoken dat gegenereerd is voor een bepaalde serviceaccount. Dit betekent dat alleen geheimen en projecten waartoe de service account toegang heeft, benaderd mogen worden met de CLI. Er zijn een paar manieren om een CLI-sessie te verifiëren:
Je kunt een CLI-sessie authenticeren door bijvoorbeeld een omgevingsvariabele BWS_ACCESS_TOKEN
op te slaan met de waarde van je toegangstoken:
Bashexport BWS_ACCESS_TOKEN=0.48c78342-1635-48a6-accd-afbe01336365.C0tMmQqHnAp1h0gL8bngprlPOYutt0:B3h5D+YgLvFiQhWkIq6Bow==
Je kunt individuele CLI verzoeken authenticeren met de -t
, --access-token
vlag met elk afzonderlijk commando, bijvoorbeeld:
Bashbws secret list --access-token 0.48c78342-1635-48a6-accd-afbe01336365.C0tMmQqHnAp1h0gL8bngprlPOYutt0:B3h5D+YgLvFiQhWkIq6Bow==
waarschuwing
Als je workflow veel afzonderlijke sessies gebruikt (waarbij elk gebruik van een toegangstoken om te verifiëren een "sessie" vormt) om aanvragen te doen vanaf hetzelfde IP-adres in een korte tijdspanne, kun je tegen snelheidslimieten aanlopen.
Commando's worden gebruikt voor interactie met de Secrets Manager CLI. Geheimen en Projecten kunnen worden gelezen of beschreven, afhankelijk van de machtigingen die zijn gegeven aan uw specifieke toegangstoken. Gebruik voor meer informatie over de commando's die beschikbaar zijn voor secret
en project
:
bws geheim --help
bws project --help
noot
Vanaf de Secrets Manager versie 0.3.0 is de CLI syntax gewijzigd. Het commando om geheimen op te sommen is bijvoorbeeld veranderd van bws list secrets
naar bws secret list
.
De oude syntax blijft tijdelijk ondersteund in de Secrets Manager CLI. Als je niet zeker weet welke versie van de Secrets Manager CLI je gebruikt, voer dan bws --version
in.
Het secret
commando wordt gebruikt om geheimen te openen, te manipuleren en aan te maken. Zoals met alle commando's kunnen geheimen en projecten buiten het toegangsbereik van je toegangstoken niet gelezen of beschreven worden.
Gebruik bws secret create
om een nieuwe secret aan te maken. Voor deze opdracht zijn een KEY
, VALUE
en PROJECT_ID
nodig:
Bashbws secret create <KEY> <VALUE> <PROJECT_ID>
Optioneel kun je een notitie toevoegen met de optie --note
. Bijvoorbeeld:
Bashbws secret create SES_KEY 0.982492bc-7f37-4475-9e60 f588b2f2-4780-4a78-be2a-b02d014d622f --note "API Key for AWS SES"
Dit commando geeft standaard een JSON-object terug en slaat het geheim op in Secrets Manager. U kunt het uitvoerformaat wijzigen met de vlag --output
(meer informatie).
Bash{
"object": "secret",
"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": "API Key for AWS SES",
"creationDate": "2023-06-28T20:13:20.643567Z",
"revisionDate": "2023-06-28T20:13:20.643567Z"
}
Gebruik bws secret delete
om een of meer geheimen te verwijderen die aangeduid worden door SECRET_IDS
.
Bashbws secret delete <SECRET_IDS>
Om een enkele secret met de id
be8e0ad8-d545-4017-a55a-b02f014d4158
te verwijderen:
Bashbws secret delete be8e0ad8-d545-4017-a55a-b02f014d4158
Voor meerdere geheimen waarbij de id
's 382580ab-1368-4e85-bfa3-b02e01400c9f
en 47201c5c-5653-4e14-9007-b02f015b2d82
zijn:
Bashbws secret delete 382580ab-1368-4e85-bfa3-b02e01400c9f 47201c5c-5653-4e14-9007-b02f015b2d82
Uitgang:
Bash1 secret deleted successfully.
Om een geheim te bewerken, zal de volgende structuur wijzigingen toepassen op de gekozen waarde. Vanuit de CLI kunnen deze commando's de geheime KEY
, VALUE
, NOTE
of PROJECT_ID
bewerken.
Bashbws secret edit <SECRET_ID> --key <KEY> --value <VALUE> --note <NOTE> --project-id <PROJECT_ID>
Als je bijvoorbeeld een notitie wilt toevoegen aan een bestaand geheim:
Bashbws secret edit be8e0ad8-d545-4017-a55a-b02f014d4158 --note "I am adding a note"
noot
Zet aanhalingstekens rond de tekenreeks wanneer u een OPMERKING
bewerkt die spaties bevat.
Om meerdere velden te bewerken waarbij SES_KEY2
de nieuwe sleutel
is en 0.1982492bc-7f37-4475-9e60
de nieuwe waarde
:
Bashbws secret edit be8e0ad8-d545-4017-a55a-b02f014d4158 --key SES_KEY2 --value 0.1982492bc-7f37-4475-9e60
Uitgang:
Bash{
"object": "secret",
"id": "be8e0ad8-d545-4017-a55a-b02f014d4158",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"projectId": "e325ea69-a3ab-4dff-836f-b02e013fe530",
"key": "SES_KEY2",
"value": "0.1982492bc-7f37-4475-9e60",
"note": "I am adding a note",
"creationDate": "2023-06-28T20:13:20.643567Z",
"revisionDate": "2023-06-28T20:45:37.46232Z"
}
Gebruik bws secret get
om een specifiek geheim op te halen:
Bashbws secret get <SECRET_ID>
Standaard haalt dit commando het geheime object op met de SECRET_ID
.
Bashbws secret get be8e0ad8-d545-4017-a55a-b02f014d4158
Standaard retourneert get
objecten als een JSON array, zoals in het volgende voorbeeld. U kunt het uitvoerformaat wijzigen met de vlag --output
(meer informatie).
Bash{
"object": "secret",
"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"
}
Gebruik het volgende commando om een lijst te maken van de geheimen waartoe de serviceaccount toegang heeft:
Bashbws secret list
Je kunt ook alleen de geheimen in een specifiek project weergeven met het volgende commando, waarbij e325ea69-a3ab-4dff-836f-b02e013fe530
een projectidentificatie is:
Bashbws secret list e325ea69-a3ab-4dff-836f-b02e013fe530
Standaard retourneert list
objecten als een JSON array, zoals in het volgende voorbeeld. U kunt het uitvoerformaat wijzigen met de vlag --output
(meer informatie).
Bash[
{
"object": "secret",
"id": "382580ab-1368-4e85-bfa3-b02e01400c9f",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"projectId": "e325ea69-a3ab-4dff-836f-b02e013fe530",
"key": "Repository 1",
"value": "1234567ertthrjytkuy",
"note": "Main Repo",
"creationDate": "2023-06-27T19:25:15.822004Z",
"revisionDate": "2023-06-27T19:25:15.822004Z"
},
{
"object": "secret",
"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"
}
]
Het commando project wordt gebruikt om projecten te openen, te manipuleren en te maken. Het toegangsbereik dat aan je serviceaccount is toegewezen, bepaalt welke acties je kunt uitvoeren met het projectcommando
.
noot
Projecten kunnen worden aangemaakt door een serviceaccount met alleen-lezen toegang. Bestaande projecten die niet zijn aangemaakt door de serviceaccount kunnen echter niet worden bewerkt zonder lees- en schrijftoegang .
Gebruik bws project create
om een nieuw project aan te maken. Voor dit commando is een NAAM
nodig.
Bashbws project create <NAME>
In dit voorbeeld wordt een project gemaakt met de naam Mijn project
.
Bashbws project create "My project"
Standaard zal bws project create
objecten retourneren als een JSON array, zoals in het volgende voorbeeld. U kunt het uitvoerformaat wijzigen met de vlag --output
(meer informatie).
Bash{
"object": "project",
"id": "1c80965c-acb3-486e-ac24-b03000dc7318",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"name": "My project",
"creationDate": "2023-06-29T13:22:37.942559Z",
"revisionDate": "2023-06-29T13:22:37.942559Z"
}
Gebruik bws project verwijderen
om een of meer projecten te verwijderen die worden aangeduid met PROJECT_IDS
.
Bashbws project delete <PROJECT_IDS>
Voor een enkel project waarbij f1fe5978-0aa1-4bb0-949b-b03000e0402a
staat voor PROJECT_ID
:
Bashbws project delete f1fe5978-0aa1-4bb0-949b-b03000e0402a
Voor meerdere projecten waarbij 1c80965c-acb3-486e-ac24-b03000dc7318
en f277fd80-1bd2-4532-94b2-b03000e00c6c
de PROJECT_IDS
vertegenwoordigen:
Bashbws project delete 1c80965c-acb3-486e-ac24-b03000dc7318 f277fd80-1bd2-4532-94b2-b03000e00c6c
Uitgang:
Bash1 project deleted successfully.
Met de opdracht Bewerken
kun je de naam van een project als volgt wijzigen:
Bashbws project edit <PROJECT_ID> --name <NEW_NAME>
Dit commando verandert bijvoorbeeld de projectnaam in Mijn project 2
.
Bashbws project edit 1c80965c-acb3-486e-ac24-b03000dc7318 --name "My project 2"
Standaard zal bws project bewerken
objecten retourneren als een JSON array, zoals in het volgende voorbeeld. U kunt het uitvoerformaat wijzigen met de vlag --output
(meer informatie).
Bash{
"object": "project",
"id": "1c80965c-acb3-486e-ac24-b03000dc7318",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"name": "My project 2",
"creationDate": "2023-06-29T13:22:37.942559Z",
"revisionDate": "2023-06-29T13:31:07.927829Z"
}
Het get
commando haalt een specifiek project op waartoe de ingelogde serviceaccount toegang heeft in je kluis. Objecten in je kluis waar de serviceaccount geen toegang toe heeft, kunnen niet worden opgehaald.
Bashbws project get <PROJECT_ID>
Om een specifiek project op te halen, gebruik je de volgende opdracht waarbij e325ea69-a3ab-4dff-836f-b02e013fe530 een PROJECT_ID
voorstelt:
Bashbws project get e325ea69-a3ab-4dff-836f-b02e013fe530
Standaard retourneert get
objecten als een JSON array, zoals in het volgende voorbeeld. U kunt het uitvoerformaat wijzigen met de vlag --output
(meer informatie).
Bash{
"object": "project",
"id": "e325ea69-a3ab-4dff-836f-b02e013fe530",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"name": "App 1",
"creationDate": "2023-06-27T19:24:42.181607Z",
"revisionDate": "2023-06-27T19:24:42.181607Z"
}
Gebruik het volgende commando om een lijst te maken van de projecten waartoe deze serviceaccount toegang heeft:
Bashbws project list
Standaard retourneert list
objecten als een JSON array, zoals in het volgende voorbeeld. U kunt het uitvoerformaat wijzigen met de vlag --output
(meer informatie).
Bash[
{
"object": "project",
"id": "e325ea69-a3ab-4dff-836f-b02e013fe530",
"organizationId": "10e8cbfa-7bd2-4361-bd6f-b02e013f9c41",
"name": "App 1",
"creationDate": "2023-06-27T19:24:42.181607Z",
"revisionDate": "2023-06-27T19:24:42.181607Z"
}.
...
]
Het config commando specificeert server instellingen voor de Secrets Manager CLI om te gebruiken. Een primair gebruik van bws config
is om de CLI te verbinden met een zelf gehoste Bitwarden server.
Beschikbare instellingen zijn bijvoorbeeld server-base
, server-api
en server-identiteit
:
Bashbws config server-base https://my_hosted_server.com
Wanneer je dit op deze manier doet, worden je opgegeven serverwaarden opgeslagen in een standaard profiel in een ~/.bws/config
bestand. Je kunt de volgende opties gebruiken om alternatieve profielen en configuratiebestanden aan te maken:
Gebruik de --profile
optie met het config
commando om gespecificeerde serverwaarden op te slaan in bijvoorbeeld alternatieve profielen:
Bashbws config server-base http://other_hosted_server.com --profile dev
Eenmaal aangemaakt, kun je dat profiel gebruiken met andere commando's om bijvoorbeeld verzoeken te routeren naar de opgegeven server:
Bashbws secret get 2863ced6-eba1-48b4-b5c0-afa30104877a --profile dev
Gebruik de --config-file
optie met het config
commando om gespecificeerde serverwaarden op te slaan in alternatieve config bestanden, bijvoorbeeld om waarden op te slaan in een standaard profiel in een nieuw config bestand:
Bashbws config server-base http://third_hosted_server.com --config-file ~/.bws/alt_config
Je kunt --config-file
koppelen aan --profile
om bijvoorbeeld waarden op te slaan in alternatieve profielen in alternatieve configuratiebestanden:
Bashbws config server-base http://third_hosted_server.com --config-file ~/.bws/alt_config --profile alt_dev
Eenmaal aangemaakt, kun je dat profiel gebruiken met andere commando's om bijvoorbeeld verzoeken te routeren naar de opgegeven server:
Bashbws secret get 2863ced6-eba1-48b4-b5c0-afa30104877a --config-file ~/.bws/alt_config --profile alt_dev
Standaard retourneert de Secrets Manager CLI een JSON object of array van JSON objecten als antwoord op commando's. Het uitvoerformaat kan naar wens worden aangepast met de vlag -o
, --output
samen met een van de volgende opties:
json
: Standaard. JSON uitvoeren.yaml
: YAML uitvoeren.tabel
: Een ASCII-tabel uitvoeren met sleutels als kolomkoppen.tsv
: Uitvoer van tab-gescheiden waarden zonder sleutels.geen
: Alleen uitvoerfouten en waarschuwingen.env
: Uitvoergeheimen in KEY=VALUE formaat.
Bijvoorbeeld het commando:
Bashbws secret get 2863ced6-eba1-48b4-b5c0-afa30104877a --output yaml
geeft het volgende:
Bashobject: secret
id: 2863ced6-eba1-48b4-b5c0-afa30104877a
organizationId: b8824f88-c57c-4a36-8b1a-afa300fe0b52
projectId: 1d0a63e8-3974-4cbd-a7e4-afa30102257e
key: Stripe API Key
value: osiundfpowubefpouwef
note: 'These are notes.'
creationDate: 2023-02-08T15:48:33.470701Z
revisionDate: 2023-02-08T15:48:33.470702Z
noot
Bij het gebruik van de env uitvoeropmaak, als de sleutelnaam niet-POSIX-conform is, wordt dat sleutelwaardepaar uitgecommentarieerd en wordt onderaan de uitvoer een commentaar weergegeven dat aangeeft dat de uitvoer gewijzigd is.
Door bijvoorbeeld de vlag --output env
te gebruiken:
Bashbws secret list --output env
geeft het volgende:
Bashthis_is_a_keyname="this is a key value"
CLOUDFLARE_API_TOKEN="123412341234123412341234"
# This is an invalid keyname="this will get commented-out"
# one or more secrets have been commented-out due to a problematic key name
De uitvoer kan verder worden aangepast door aan te geven of je een gekleurde uitvoer wilt. Beschikbare waarden voor deze optie zijn ja
, nee
en auto
.
Je kunt individuele CLI verzoeken authenticeren met de -t
, --access-token
optie bij elk afzonderlijk commando, bijvoorbeeld:
Bashbws secret list --access-token 0.48c78342-1635-48a6-accd-afbe01336365.C0tMmQqHnAp1h0gL8bngprlPOYutt0:B3h5D+YgLvFiQhWkIq6Bow==
Gebruik de --profile
optie met de list
of get
commando's om bijvoorbeeld aan te geven welk profiel gebruikt moet worden:
Bashbws secret get 2863ced6-eba1-48b4-b5c0-afa30104877a --profile dev
Raadpleeg het config
commando(hier) voor hulp bij het begrijpen en instellen van alternatieve profielen.
Gebruik de optie --config-file
met de optie --profile
en list
of get
commando's om bijvoorbeeld aan te geven welk profiel uit welk configuratiebestand gebruikt moet worden:
Bashbws secret get 2863ced6-eba1-48b4-b5c0-afa30104877a --config-file ~/.bws/alt_config --profile alt_dev
Raadpleeg het config
commando(hier) voor hulp bij het begrijpen en instellen van alternatieve config bestanden en profielen.
Deze optie kan bijvoorbeeld gebruikt worden om de server URL in te stellen waar de CLI het verzoek dat bij een gegeven commando hoort naartoe stuurt:
Bashbws list secrets --server-url http://my_hosted_server.com
Deze optie overschrijft URLS die zijn geconfigureerd via het config
commando (zie hier).
Gebruik deze optie om hulp af te drukken voor een gegeven bws
commando.
Gebruik deze optie om de versie van de bws
client die je gebruikt af te drukken.
Suggest changes to this page
How can we improve this page for you?
For technical, billing, and product questions, please contact support