Hoppa till innehållet
Stackship-dokumentation English

S3-lagringAnvändareMaskinöversatt

Åtkomstnycklar

Utfärda en åtkomstnyckel för ett lagringskonto, spara dess hemlighet, inaktivera och ta bort nycklar, och hämta tillfälliga inloggningsuppgifter i stället.

Kräver: s3accesskeys/write, s3sts/issue

En åtkomstnyckel är en långlivad inloggningsuppgift för S3-API:t: ett åtkomstnyckel-ID som börjar med AKIA, och en hemlig åtkomstnyckel. Öppna lagringskontot och dess flik Åtkomstnycklar för att se kontots nycklar med kolumnerna Status, Skapad, Senast använd och Beskrivning. Att se dem kräver s3accesskeys/read i resursgruppen; att utfärda, inaktivera och ta bort dem kräver s3accesskeys/write där, som rollerna Owner, Contributor och Storage Operator har.

Utfärda en åtkomstnyckel

  1. Välj Utfärda nyckel på fliken Åtkomstnycklar.
  2. Ange om du vill en Beskrivning (valfri) — vad nyckeln ska användas till, till exempel CI deploy.
  3. Välj Utfärda.
  4. Åtkomstnyckel utfärdad visar Åtkomstnyckel-ID och Hemlig åtkomstnyckel, var och en med en kopieringsknapp. Kopiera båda och förvara hemligheten säkert — för en arbetslast i ett valv; se Anslut från en arbetslast.
  5. Kryssa i Jag har kopierat den hemliga åtkomstnyckeln. och välj Stäng.

Hemligheten visas bara den här enda gången. Plattformen förvarar den krypterad och visar den aldrig igen; om den går förlorad utfärdar du en ny nyckel.

För ett nytt konto avvisas utfärdandet tills plattformen har gett kontot dess identitet, vilket sker medan kontot skapas. Försök igen när kontot är Running.

Med CLI:t, som skriver ut hemligheten en gång:

bash
stsh s3 key create my-storage -g my-resource-group --set description="CI deploy"

Vad en nyckel kan göra

En nyckel signerar anrop som lagringskontots egen identitet, och varje anrop som signeras med en aktiv nyckel tillåts på varje bucket och varje objekt i kontot: lista, läsa, skriva och radera objekt, och skapa och ta bort buckets så länge Tillåt bucket-livscykel via S3-API är på. Plattformens roller begränsar inte vad en nyckel kan göra.

Se upp

Ett lagringskontos server godtar varje aktiv åtkomstnyckel som utfärdats i samma boundary, med samma fulla åtkomst: nycklar som utfärdats för andra lagringskonton, och nycklar som utfärdats via API:t för vilken annan hanterad identitet som helst i boundaryn. Behandla varje åtkomstnyckel som en nyckel till alla lagringskonton i dess boundary, och ge den bara till klienter du litar på med alla. Av samma skäl innebär s3accesskeys/write i en resursgrupp i praktiken full åtkomst till datan i varje lagringskonto i boundaryn.

Inaktivera eller ta bort en nyckel

  • Ta bort, på nyckelns rad och efter att du bekräftat, tar bort nyckeln för gott.
  • En inaktiverad nyckel finns kvar i listan och kan göras aktiv igen.

Viktigt

Fliken Åtkomstnycklar visar varje nyckel som Inaktiverad, oavsett dess verkliga status, och har ingen knapp Inaktivera. API:t anger en nyckels status som ett tal — 0 för aktiv, 1 för inaktiverad — och fliken läser inte det. Kontrollera och ändra status via API:t i stället.

För att inaktivera en nyckel, eller göra den aktiv igen, använder du nyckelns id, managedIdentityId och status från stsh s3 key list my-storage -g my-resource-group -o json, och skickar 1 för att inaktivera eller 0 för att aktivera:

bash
stsh api PATCH /boundaries/<boundary-id>/resourcegroups/<resource-group>/managedidentities/<managed-identity-id>/s3accesskeys/<id> \
  -d '{"status": 1}'

Efter en inaktivering eller borttagning slutar lagringsservern godta nyckeln inom ungefär fem sekunder.

När ett lagringskonto tas bort raderas dess identitet, och dess nycklar tas bort inom ungefär 15 minuter. Fram till dess fungerar de fortfarande mot de andra lagringskontona i boundaryn — ta bort nycklarna först om det spelar roll.

Rotera en nyckel

Det finns ingen rotationsåtgärd. Utfärda en ny nyckel, flytta över klienterna till den, inaktivera sedan den gamla nyckeln via API:t och, när inget längre misslyckas, ta bort den.

Senast använd

Senast använd registreras inte ännu och visar Aldrig för alla nycklar. För att se vilka inloggningsuppgifter som används läser du kontots granskningslogg.

Tillfälliga inloggningsuppgifter

I stället för en långlivad nyckel kan du hämta inloggningsuppgifter som slutar gälla av sig själva. De utfärdas via plattformens API och kräver s3sts/issue i lagringskontots resursgrupp, som Storage Operator, Contributor och Owner har:

bash
stsh api POST /boundaries/<boundary-id>/resourcegroups/<resource-group>/resources/s3storageaccounts/<account>/sts/sessions \
  -d '{"ttlSeconds": 3600}'

Svaret innehåller ett accessKeyId som börjar med ASIA, en secretAccessKey, en sessionToken och expiresAt. ttlSeconds är 900 till 43 200 (15 minuter till 12 timmar); utelämna det för en timme. Tillfälliga inloggningsuppgifter fungerar bara på det lagringskonto de utfärdades för, och ger samma fulla åtkomst till det som en åtkomstnyckel. S3-klienter tar sessionstoken som den tredje delen av inloggningsuppgifterna — se Anslut till ett lagringskonto.