Hoppa till innehållet
Stackship-dokumentation English

HemligheterAnvändareMaskinöversatt

Hantera hemligheter

Lägg till hemligheter i ett valv, läs och ändra deras värden, och radera, återställ eller rensa dem.

Kräver: secretvault/writeSecrets

Hemligheter hanteras på valvets flik Hemligheter. Att ändra dem kräver secretvault/writeSecrets på valvet; att visa ett värde kräver secretvault/readSecrets — se Behörigheter.

Lägg till en hemlighet

Välj Lägg till hemlighet på fliken Hemligheter och fyll i:

  • Namn — bokstäver, siffror och bindestreck, högst 127 tecken. Det måste vara unikt bland valvets hemligheter som inte är raderade.
  • Värde — själva hemligheten. Den krypteras innan den sparas.
  • Innehållstyp (valfritt) — en ledtråd till den som läser, till exempel text/plain eller application/json.
  • Aktiverad — på som standard. En inaktiverad hemlighet kan inte läsas, varken av personer eller arbetslaster.

Välj Skapa hemlighet. Värdet blir version 1.

Taggar och datum för giltig från och utgång kan sättas via API:t; portalen visar dem men redigerar dem inte. Ett utgångsdatum är bara information: plattformen lämnar ut värdet även efter det.

Visa en hemlighet

Listan visar varje hemlighets namn, innehållstyp, status, aktuell version och när den senast uppdaterades. Visa detaljer öppnar hemligheten: status, aktuell version, innehållstyp, tidsstämplar, utgång och taggar, Hemligt värde — som bara visas när du ber om det och registreras i valvets aktivitetslogg — och fliken Versioner, som listar varje version som Aktiv eller Inaktiv. Äldre versioners värden kan läsas med CLI:t eller API:t.

Ändra ett värde

Redigera öppnar hemligheten med dess aktuella värde. När du sparar skapas en ny version, som blir aktuell; den tidigare blir inaktiv men går fortfarande att läsa. Reglaget Aktiverad i samma vy inaktiverar hemligheten, och även det skapar en ny version när du sparar.

Portalen kan inte aktivera en inaktiverad hemlighet igen: dess rad erbjuder inte längre Redigera. Använd CLI:t — stsh secret set <namn> --stdin -v <valv> sparar värdet du anger som en ny, aktiverad version — eller API:t.

Arbetslaster läser hemligheter när deras poddar startar, så en körande arbetslast behåller det gamla värdet tills den startar om — se Använd hemligheter i arbetslaster.

Radera, återställ och rensa

  • Att radera en hemlighet tar bort den ur listan men sparar den, med alla dess versioner. Visa raderade listar raderade hemligheter igen.
  • Att återställa en raderad hemlighet ger tillbaka den som den var.
  • Att rensa tar bort en raderad hemlighet permanent. Det tillåts 90 dagar efter att hemligheten raderades och nekas dessförinnan. Ingenting rensar raderade hemligheter automatiskt.

Detta gäller oavsett vad valvets inställningar för mjuk radering, kvarhållning och rensningsskydd säger; plattformen tillämpar dem inte ännu. Att radera och rensa kräver dessutom secretvault/delete, som rollerna Owner, Contributor och Secrets Writer har.

Återställ och rensa med CLI:t:

bash
stsh secret list --vault my-vault
stsh secret recover my-secret --vault my-vault
stsh secret purge my-secret --vault my-vault

Att radera själva valvet tar bort alla hemligheter i det på en gång, även raderade — se Radera ett valv.

Hemligheter som skapats av en mall

En blueprint-deploy eller en mallbaserad container instance kan skapa hemligheter i sitt valv. De märks Mallhanterad, och deras detaljer visar Mall, Ursprung och, där det gäller, vad de är Härledd från.

  • Ett genererat värde, till exempel ett lösenord som skapades vid deploy, kan ändras efter att du bekräftat Ändra en mallhanterad hemlighet?. Den körande tjänsten följer inte med direkt: varje komponent hämtar det nya värdet nästa gång den startar om. Vissa mallar stöder inte alls att ett genererat värde ändras, och säger det.
  • Ett härlett värde, till exempel en anslutningssträng som byggts av ett genererat lösenord, kan inte redigeras. Ändra i stället värdet det härleds från.

Med CLI:t

bash
stsh secret list --vault my-vault
stsh secret set api-key --stdin --vault my-vault     # värdet från stdin, aldrig i skalets historik
stsh secret get api-key --vault my-vault --raw
stsh secret get api-key --vault my-vault --version 2
stsh secret versions api-key --vault my-vault
stsh secret delete api-key --vault my-vault

Med API:t

Varje åtgärd är ett HTTP-anrop under valvets secrets-sökväg. Att sätta ett värde skapar en ny version:

http
PUT https://api.example.com/boundaries/<boundary-id>/resourcegroups/my-resource-group/resources/secretvaults/my-vault/secrets/api-key
Content-Type: application/json

{ "value": "example-value", "contentType": "text/plain" }

Att läsa värdet kräver secretvault/readSecrets:

http
GET https://api.example.com/boundaries/<boundary-id>/resourcegroups/my-resource-group/resources/secretvaults/my-vault/secrets/api-key

En Reader ser hemligheten i valvets lista men nekas dess värde:

http
GET https://api.example.com/boundaries/<boundary-id>/resourcegroups/my-resource-group/resources/secretvaults/my-vault/secrets
http
GET https://api.example.com/boundaries/<boundary-id>/resourcegroups/my-resource-group/resources/secretvaults/my-vault/secrets/api-key