Ga naar inhoud

RBAC en PIM voor spokes

Een spoke krijgt vier Entra ID-groepen (Owners, Contributors, Readers, Support) en een service principal. Deze pagina legt uit hoe die groepen hun Azure-rechten krijgen, welke rechten permanent zijn en welke worden geactiveerd via Privileged Identity Management (PIM), en hoe je dat wijzigt. Het perspectief van de afnemer staat in Toegang, groepen en PIM.

Twee lagen toegang

Laag Scope Bepaald door
Subscription-rollen De hele subscription Vastgelegd door de spoke canvas: Owners = Owner, Contributors = Contributor, Readers = Reader. De spoke service principal is permanent lid van Owners.
Rolmap De hele subscription, voor specifieke rollen Een ingebouwde rolmap die je kunt overschrijven. Gebruikt voor rollen zoals de data-plane-rollen van Key Vault en Storage.

Het lidmaatschap van het team in elke groep komt uit ProductTeamGroupNames en het PIM-profiel in PIMGroupConfig (Spoke JSON-naslag).

PIM-profielen

Een profiel bepaalt hoe de groep van het team lid wordt van een spoke-groep. Profielen worden gedefinieerd in pim_configurations (Spoke common settings) en met hun naam aangeroepen.

Profiel Lidmaatschap van de teamgroep Goedkeuring
nopim Permanent (actieve toewijzing). Geen aanvraag nodig. Geen
self-approve Eligible. De gebruiker activeert het in PIM. Geen
approval Eligible. De gebruiker activeert het in PIM. Vereist

PIMGroupConfig stelt één profiel in voor elk van Readers, Contributors en Owners. De Support-groep is niet configureerbaar: de deploymentlogica stelt die in.

Een typisch patroon, zoals gebruikt in één implementatie (een voorbeeld, geen regel):

Groep Dev en test Acceptatie en productie
Owners Eligible, met goedkeuring Eligible, met goedkeuring
Contributors Eligible, automatische goedkeuring Eligible, met goedkeuring
Readers Permanent Permanent

Support-groep

De Support-groep heeft geen eigen rechten. Tijdens supporturen (buiten kantooruren) wordt ze lid gemaakt van de Owners-groep. Mensen in de Support-groep kunnen dan via PIM Owner activeren, maar alleen buiten kantooruren.

De rolmap

De rolmap kent Azure-rollen toe via een permanente of PIM-eligible toewijzing op subscriptionscope. Eén toewijzing dekt elke bijpassende resource in de subscription, ongeacht of de resource al bestaat. Ze is niet afhankelijk van de subscription-rollen hierboven. Elke ingebouwde Azure-rol kan worden gebruikt, niet alleen data-plane-rollen.

Standaard:

Groep Data plane van Key Vault en Storage Account
Readers, Contributors, Owners Permanente leestoegang (Key Vault Reader, Storage Blob Data Reader)
Contributors PIM-eligible lees-/schrijfrollen (Key Vault Secrets-, Certificate- en Crypto User-rollen, en Storage Blob Data Contributor), self-approve-profiel
Owners PIM-eligible rollen met volledige controle (Key Vault Secrets-, Certificates- en Crypto Officer-rollen, en Storage Blob Data Owner), approval-profiel

De spoke service principal krijgt ook Key Vault Administrator op de Key Vault en blob-ownerrechten op het storage account wanneer die zijn uitgerold.

Subscriptionscope, niet per resource

De toewijzing geldt op de subscription. Een Contributor die Storage Blob Data Contributor activeert, kan blobs lezen en schrijven in elk storage account in die subscription, ook in accounts die het team later heeft aangemaakt. Houd hier rekening mee bij het bepalen welk profiel een rol krijgt.

De rolmap overschrijven

Je kunt de map voor alle spokes wijzigen, of voor één spoke. Een instelling in de spoke gaat voor op de common setting.

Waar Instelling Geldt voor
Common settings override_defaults.pim_assignments Alle spokes
Spoke-bestand adInfo.PIMAssignments Eén spoke

Beide zijn maps met de exacte Azure-rolnaam als key, bijvoorbeeld Storage Blob Data Contributor. Elk item heeft twee velden:

Veld Betekenis
levels De niveaus van spoke-groepen die de rol krijgen, bijvoorbeeld ["Owner"].
pim_profile De naam van een profiel uit pim_configurations dat bepaalt hoe de rol wordt toegekend.

Regels:

  • Stel één veld in om alleen dat veld te wijzigen. Een veld dat je weglaat, behoudt zijn ingebouwde waarde.
  • levels: [] verwijdert de rol volledig (voor die spoke, of voor alle spokes als het in de common settings staat).
  • Een rol die niet in de ingebouwde map staat, moet beide velden instellen.
  • Om een rol toe te voegen, bijvoorbeeld een SQL- of Cosmos DB-data-rol, hoeven de Terraform-modules niet te worden aangepast.

Voorbeeld in een spoke-bestand: laat Storage Blob Data Owner alleen voor deze spoke goedkeuring vereisen.

"adInfo": {
  "PIMAssignments": {
    "Storage Blob Data Owner": { "pim_profile": "approval" }
  }
}

Voorbeeld dat een rol toevoegt die niet ingebouwd is. Beide velden zijn verplicht:

"PIMAssignments": {
  "<exact role name>": { "levels": ["Contributor"], "pim_profile": "self-approve" }
}

Toegang veilig wijzigen

Ik wil Doe dit
Een ander team toegang geven Voeg de groep toe aan ProductTeamGroupNames (Spoke wijzigen)
De toegang van een groep goedkeuring laten vereisen Wijzig het profiel in PIMGroupConfig
Permanente data-plane-toegang voor één spoke verwijderen "<role>": { "levels": [] } in adInfo.PIMAssignments
Een default voor elke spoke wijzigen override_defaults.pim_assignments in de common settings. Behandel het als een platformwijziging met review.

Lees na elke wijziging het plan. Het verwijderen van een permanente toewijzing neemt toegang weg voor mensen die er nu mee werken.