6.3 Design role-based access control (RBAC)

Secure resource scopes, such as the ability to create VMs and Azure Web Apps; implement Azure role-based access control (RBAC) standard roles; design Azure RBAC custom roles


Security-oriented companies should focus on giving employees the exact permissions they need. Too many permissions can expose an account to attackers. Too few permissions means that employees can't get their work done efficiently. Azure Role-Based Access Control (RBAC) helps address this problem by offering fine-grained access management for Azure.

Azure Role-Based Access Control handler om å gi nødvendige rettigheter på riktig nivå. Alle Azure Subscription har Azure Active Directory (Azure AD), og innenfor en Azure AD snakker vi hovedsaklig om roller og ressurser.

I utgangspunktet har vi følgnde roller:

  • Owner has full access to all resources including the right to delegate access to others.
  • Contributor can create and manage all types of Azure resources but can’t grant access to others.
  • Reader can view existing Azure resources.

Roller kan knyttes opp mot følgende ressurser, og de henger sammen på en bestemt måte.

  • Each subscription in Azure belongs to only one directory. (But each directory can have more than one subscription.)
  • Each resource group belongs to only one subscription.
  • Each resource belongs to only one resource group.

Get started with Role-Based Access Control in the Azure portal: https://docs.microsoft.com/en-us/azure/active-directory/role-based-access-control-what-is

6.3.1 Secure resource scopes, such as the ability to create VMs and Azure Web Apps

Første må vi finne hvilket Scope vi skal sette rettigheten. I dette tilfellet har jeg en synkronisert bruker fra On-Premise miljøet mitt [email protected].

Under Subscription (Prøv Gratis) gav jeg rollene Virtual Machine Contributor og WebSite Contributor.

Under Resource Group (MT-LAB-01) gav jeg Contributor.

Dermed kan jeg logge på [email protected] og ser at jeg kan gjøre som forventet. Jeg kan bidra på MT-LAB-01, samt opprette VM-er og WebSites.

Det er en fordel å lese seg opp på de ulike rollene på: https://docs.microsoft.com/en-us/azure/active-directory/role-based-access-built-in-roles

6.3.2 Simplement Azure role-based access control (RBAC) standard roles

Er litt usikker på hva som menes med dette læremålet, men det har noe med det innebygde rollene å gjøre, så ville lest meg opp på denne: https://docs.microsoft.com/en-us/azure/active-directory/role-based-access-built-in-roles

6.3.3 Design Azure RBAC custom roles

Hvis ingen av de eksisterende rollene passer for deg, kan man også lage sine helt egne Custom Roles. Man kan opprette opp til 2000 egne roller innenfor en Tenant, og disse blir lagret på Azure AD nivå, slik de kan gjenbrukes på tvers av ulike Azure Subscriptions.

Custom Roles kan opprettes med PowerShell, Azure CLI eller REST API, men spesifiseres i JSON. I dette tilfellet er det nødvendig å forstå et par kodeblokker.

  • Actions: Spesifiserer hvilke operasjoner rollen får lov til å gjøre. Dette er en samling av operasjoner og blir spesifisert med følgende syntaks: Microsoft.<ProviderName>/<ChildResourceType>/<action>. Tips er å benytte WildCard (*) for å unngå å repetere samme ChildResourceType eller Action. Kan benytte Get-AzureRMProviderOperation for å sjekke ut operasjoner med PowerShell.

  • Not Actions: Spesifiserer hvilke operasjoner rollen IKKE får lov til å gjøre. Dette kan være lettere å benytte hvis man ønsker å ekskludere enkelte operasjoner, altså å låse ned operasjoner fremfor å åpne opp.

  • AssignableScopes: Spesifiserer hvilket Scope rollen skal kunne tildeles. Det kan være på Subscription, Resource Group eller Resources.

Nedenfor er et eksempel på en egendefinert rolle som kan monitore og restarte av virtuelle maskiner. Dette viser hvordan strukturen kan se ut.

{
  "Name": "Virtual Machine Operator",
  "Id": "cadb4a5a-4e7a-47be-84db-05cad13b6769",
  "IsCustom": true,
  "Description": "Can monitor and restart virtual machines.",
  "Actions": [
    "Microsoft.Storage/*/read",
    "Microsoft.Network/*/read",
    "Microsoft.Compute/*/read",
    "Microsoft.Compute/virtualMachines/start/action",
    "Microsoft.Compute/virtualMachines/restart/action",
    "Microsoft.Authorization/*/read",
    "Microsoft.Resources/subscriptions/resourceGroups/read",
    "Microsoft.Insights/alertRules/*",
    "Microsoft.Insights/diagnosticSettings/*",
    "Microsoft.Support/*"
  ],
  "NotActions": [

  ],
  "AssignableScopes": [
    "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e",
    "/subscriptions/e91d47c4-76f3-4271-a796-21b4ecfe3624",
    "/subscriptions/34370e90-ac4a-4bf9-821f-85eeedeae1a2"
  ]
}

Create custom roles for Azure Role-Based Access Control: https://docs.microsoft.com/en-us/azure/active-directory/role-based-access-control-custom-roles

results matching ""

    No results matching ""