Hoppa till innehållet
Stackship-dokumentation English

ÅtkomstkontrollAnvändareMaskinöversatt

Anpassade roller

Skapa en roll med precis de åtgärder du behöver, klona en roll, arbeta med dess JSON och ta bort den.

Kräver: rbac/members/write

När ingen inbyggd roll passar kan en Owner för boundaryn definiera en egen. En anpassad roll hör till sin boundary: den listas och kan tilldelas där, på boundaryn, en resursgrupp eller en resurs, men aldrig på rotområdet /.

Skapa en roll

Du behöver rbac/members/write, och Owner på boundaryn eller Platform Owner, tilldelad direkt till dig eller genom ett aktivt just-in-time-beviljande. Owner genom en grupp räcker inte: plattformen avvisar rollen.

  1. I portalen på https://portal.example.com öppnar du Åtkomstkontroll (IAM), går till Roller och väljer Skapa anpassad roll.

  2. Grundläggande — ett Namn (högst 128 tecken, unikt på hela plattformen) och en valfri Beskrivning.

  3. Behörigheter — fyra listor, var och en en sökbar checklista med plattformens åtgärder grupperade per område:

    • Tillåtna åtgärder — de åtgärder i kontrollplanet som rollen ger;
    • Undantagna åtgärder (NotActions) — åtgärder att ta bort ur de tillåtna, användbart tillsammans med jokertecken;
    • Tillåtna dataåtgärder — dataåtgärder som secretvault/readSecrets eller apps/readLogs;
    • Undantagna dataåtgärder — dataåtgärder att ta bort igen.

    Under Anpassade mönster kan du lägga till ett mönster med jokertecken, till exempel apps/*, i stället för att bocka för åtgärder en och en.

  4. Granska visar listorna och Tilldelningsbart område, som är boundaryn. Välj Skapa roll.

Portalen öppnar den nya rollen. Tilldela den som vilken annan roll som helst — se Tilldela en roll.

Regler för åtgärdslistorna

  • Varje åtgärd måste finnas i plattformens katalog; en felstavad åtgärd avvisas.
  • Jokertecken följer matchningsreglerna i Åtgärder och dataåtgärder: apps/* omfattar alla Apps-åtgärder, */read bara tvådelade åtgärder som slutar på read.
  • */* är förbehållet Platform Owners som har rollen genom en tilldelning direkt till sig på /.
  • Rollen behöver minst en åtgärd under Tillåtna åtgärder. En roll med enbart dataåtgärder avvisas när du skapar den.
  • X/write ger också X/delete. För att ge skrivrätt utan rätt att ta bort tillåter du X/write och undantar X/delete.

En roll som används i portalen behöver oftast också de läsrättigheter som de inbyggda avgränsade rollerna har, annars förblir sidorna den öppnar tomma: boundaries/read, resourcegroups/read, kernel/operations/read, kernel/resourceStatus/read, kernel/activity/write, monitoring/read och search/read.

Klona en roll

På fliken Roller öppnar du en rolls meny och väljer Klona, eller väljer Klona på rollens sida. Guiden öppnas med rollens listor ifyllda och namnet följt av (copy). Att klona en inbyggd roll är det snabbaste sättet att få en variant av den.

Rollen som JSON

En rolls sida har tre flikar: Behörigheter, Tilldelningar — vem som har rollen, och var — och JSON, hela definitionen. Samma form skapar en roll via CLI:t eller API:t:

json
{
  "name": "App Deployer",
  "description": "Deploy and scale apps, but not delete them.",
  "actions": ["apps/read", "apps/write", "apps/scale", "boundaries/read", "resourcegroups/read"],
  "notActions": ["apps/delete"],
  "dataActions": ["apps/readLogs"],
  "notDataActions": [],
  "assignableScopes": ["/boundaries/<boundary-id>"]
}
bash
stsh iam role create --file app-deployer.json

Ändra eller ta bort en roll

Portalen redigerar inte anpassade roller. Ändra en roll via CLI:t eller API:t med hela definitionen — stsh iam role update <role-id> --file app-deployer.json — så gäller ändringen för alla tilldelningar av rollen. Samma regler som när du skapar gäller.

En anpassad roll kan bara tas bort när ingen har den: ta först bort dess tilldelningar (de listas på fliken Tilldelningar) och välj sedan Ta bort. Inbyggda roller kan varken ändras eller tas bort.

Obs

Plattformen sparar varje just-in-time-förfrågan, oavsett status. En anpassad roll som någon gång har begärts som just-in-time-åtkomst kan därför inte tas bort: borttagningen misslyckas med ett internt fel, även när alla förfrågningar om den för länge sedan har löpt ut. Fliken Tilldelningar listar inte just-in-time-förfrågningar.