Assign Azure roles using Azure PowerShell

Az Azure-beli szerepköralapú hozzáférés-vezérlés (Azure RBAC) az Azure-erőforrásokhoz való hozzáférés kezeléséhez használt engedélyezési rendszer. A hozzáférés biztosításához adott hatókör mellett szerepköröket rendelhet a felhasználókhoz, csoportokhoz, szolgáltatásnevekhez vagy felügyelt identitásokhoz. Ez a cikk bemutatja, hogyan rendelhet hozzá szerepköröket az Azure PowerShell használatával.

Megjegyzés:

We recommend that you use the Azure Az PowerShell module to interact with Azure. See Install Azure PowerShell to get started. To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

Előfeltételek

Szerepkörök hozzárendeléséhez a következőket kell tennie:

Azure-szerepkör hozzárendelésének lépései

A szerepkör hozzárendelése három elemből áll: a biztonsági tagból, a szerepkördefinícióból és a hatókörből.

1. lépés: Annak meghatározása, hogy kinek van szüksége hozzáférésre

Szerepkört rendelhet egy felhasználóhoz, csoporthoz, szolgáltatásnévhez vagy felügyelt identitáshoz. Szerepkör hozzárendeléséhez szükség lehet az objektum egyedi azonosítójának megadására. Az azonosító formátuma: 11111111-1111-1111-1111-111111111111. Az azonosítót az Azure Portalon vagy az Azure PowerShellben szerezheti be.

Felhasználó

Microsoft Entra-felhasználó esetén kérje le az egyszerű felhasználónevet, például patlong@contoso.com a felhasználói objektum azonosítóját. Az objektumazonosító lekéréséhez használhatja a Get-AzADUsert.

Get-AzADUser -StartsWith <userName>
(Get-AzADUser -DisplayName <userName>).id

Csoport

Microsoft Entra-csoport esetén a csoportobjektum-azonosítóra van szükség. Az objektumazonosító lekéréséhez használhatja a Get-AzADGroupot.

Get-AzADGroup -SearchString <groupName>
(Get-AzADGroup -DisplayName <groupName>).id

Egyszerű szolgáltatás

A Microsoft Entra szolgáltatásnévhez (egy alkalmazás által használt identitáshoz) a szolgáltatásnév objektumazonosítója szükséges. Az objektumazonosító lekéréséhez használhatja a Get-AzADServicePrincipal parancsot. Szolgáltatásnév esetén használja az objektumazonosítót, és ne az alkalmazásazonosítót.

Get-AzADServicePrincipal -SearchString <principalName>
(Get-AzADServicePrincipal -DisplayName <principalName>).id

Managed identity

Rendszer által hozzárendelt vagy felhasználó által hozzárendelt felügyelt identitáshoz szükség van az objektumazonosítóra. Az objektumazonosító lekéréséhez használhatja a Get-AzADServicePrincipal parancsot.

Get-AzADServicePrincipal -SearchString <principalName>
(Get-AzADServicePrincipal -DisplayName <principalName>).id

2. lépés: Válassza ki a megfelelő szerepkört

Az engedélyek szerepkörökbe vannak csoportosítva. Számos beépített Azure-szerepkör listájából választhat, vagy használhatja saját egyéni szerepköreit. Ajánlott eljárás a szükséges legkevesebb jogosultsággal rendelkező hozzáférés biztosítása, ezért ne rendeljen hozzá szélesebb szerepkört.

A szerepkörök listázásához és az egyedi szerepkör-azonosító lekéréséhez használhatja a Get-AzRoleDefinition parancsot.

Get-AzRoleDefinition | Format-Table -Property Name, IsCustom, Id

Az alábbiakban egy adott szerepkör részleteit sorolhatja fel.

Get-AzRoleDefinition -Name <roleName>

További információ: Azure-szerepkördefiníciók listázása.

3. lépés: A szükséges hatókör azonosítása

Az Azure négy hatókörszintet biztosít: erőforrás, erőforráscsoport, előfizetés és felügyeleti csoport. Ajánlott eljárás a szükséges legkisebb jogosultsággal rendelkező hozzáférés biztosítása, ezért ne rendeljen hozzá szerepkört szélesebb körben. A hatókörről további információt a hatókör ismertetése című témakörben talál.

Erőforrás hatóköre

Az erőforrás-hatókörhöz az erőforrás erőforrás-azonosítóját kell megadnia. Az erőforrás-azonosítót az erőforrás tulajdonságainak az Azure Portalon való megtekintésével találja meg. Az erőforrás-azonosító formátuma a következő.

/subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/<providerName>/<resourceType>/<resourceSubType>/<resourceName>

Erőforráscsoport hatóköre

Az erőforráscsoport hatóköréhez szüksége van az erőforráscsoport nevére. A nevet az Erőforráscsoportok lapon találja az Azure Portalon, vagy használhatja a Get-AzResourceGroupot.

Get-AzResourceGroup

Előfizetés hatóköre

Az előfizetés hatóköréhez szüksége van az előfizetés azonosítóra. Az azonosítót az Azure Portal Előfizetések lapján találja, vagy használhatja a Get-AzSubscription parancsot.

Get-AzSubscription

Felügyeleti csoport hatóköre

A felügyeleti csoport hatóköréhez szüksége van a felügyeleti csoport nevére. A nevet az Azure Portal Felügyeleti csoportok lapján találja, vagy használhatja a Get-AzManagementGroup szolgáltatást.

Get-AzManagementGroup

4. lépés: Szerepkör hozzárendelése

Szerepkör hozzárendeléséhez használja a New-AzRoleAssignment parancsot. A hatókörtől függően a parancs általában az alábbi formátumok egyikével rendelkezik.

Erőforrás hatóköre

New-AzRoleAssignment -ObjectId <objectId> `
-RoleDefinitionName <roleName> `
-Scope /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/<providerName>/<resourceType>/<resourceSubType>/<resourceName>
New-AzRoleAssignment -ObjectId <objectId> `
-RoleDefinitionId <roleId> `
-ResourceName <resourceName> `
-ResourceType <resourceType> `
-ResourceGroupName <resourceGroupName>

Erőforráscsoport hatóköre

New-AzRoleAssignment -SignInName <emailOrUserprincipalname> `
-RoleDefinitionName <roleName> `
-ResourceGroupName <resourceGroupName>
New-AzRoleAssignment -ObjectId <objectId> `
-RoleDefinitionName <roleName> `
-ResourceGroupName <resourceGroupName>

Előfizetés hatóköre

New-AzRoleAssignment -SignInName <emailOrUserprincipalname> `
-RoleDefinitionName <roleName> `
-Scope /subscriptions/<subscriptionId>
New-AzRoleAssignment -ObjectId <objectId> `
-RoleDefinitionName <roleName> `
-Scope /subscriptions/<subscriptionId>

Felügyeleti csoport hatóköre

New-AzRoleAssignment -SignInName <emailOrUserprincipalname> `
-RoleDefinitionName <roleName> `
-Scope /providers/Microsoft.Management/managementGroups/<groupName>
New-AzRoleAssignment -ObjectId <objectId> `
-RoleDefinitionName <roleName> `
-Scope /providers/Microsoft.Management/managementGroups/<groupName>

Példák hozzárendelése szerepkörökhöz

Szerepkör hozzárendelése az összes blobtárolóhoz egy tárfiók erőforrás-hatókörében

A Storage Blob Data Contributor szerepkör hozzárendelése egy 5555555555-5555-5555-5555-5555-555555555-ös objektumazonosítójú szolgáltatásnévhez és alkalmazáshoz Id 66666666-6666-6666-6666-6666666666 egy storage12345 nevű tárfiók erőforrás-hatókörében.

PS C:\> New-AzRoleAssignment -ApplicationId 66666666-6666-6666-6666-666666666666 `
-RoleDefinitionName "Storage Blob Data Contributor" `
-Scope "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/storage12345"

RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/storage12345/providers/Microsoft.Authorization/roleAssignments/cccccccc-cccc-cccc-cccc-cccccccccccc
Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/storage12345
DisplayName        : example-identity
SignInName         :
RoleDefinitionName : Storage Blob Data Contributor
RoleDefinitionId   : ba92f5b4-2d11-453d-a403-e96b0029c9fe
ObjectId           : 55555555-5555-5555-5555-555555555555
ObjectType         : ServicePrincipal
CanDelegate        : False

Szerepkör hozzárendelése adott blobtároló erőforrás-hatóköréhez

A Storage Blob-adatszolgáltató szerepkör hozzárendelése egy szolgáltatásnévhez 555555555-5555-5555-5555-55555555 és 55555555 objektumazonosítóval 66666666-6666-6666-6666-666666666666 egy blob-container-01 nevű blobtároló erőforrás-hatókörében.

PS C:\> New-AzRoleAssignment -ApplicationId 66666666-6666-6666-6666-666666666666 `
-RoleDefinitionName "Storage Blob Data Contributor" `
-Scope "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/storage12345/blobServices/default/containers/blob-container-01"

RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/storage12345/blobServices/default/containers/blob-container-01/providers/Microsoft.Authorization/roleAssignm
                     ents/dddddddd-dddd-dddd-dddd-dddddddddddd
Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/storage12345/blobServices/default/containers/blob-container-01
DisplayName        : example-identity
SignInName         :
RoleDefinitionName : Storage Blob Data Contributor
RoleDefinitionId   : ba92f5b4-2d11-453d-a403-e96b0029c9fe
ObjectId           : 55555555-5555-5555-5555-555555555555
ObjectType         : ServicePrincipal
CanDelegate        : False

Szerepkör hozzárendelése csoporthoz egy adott virtuális hálózati erőforrás hatókörében

Hozzárendeli a virtuálisgép-közreműködői szerepkört az aaa-aa-a-a-a-aaa-aaa azonosítójú Pharma Sales Rendszergazda s csoporthoz egy pharma-sales-project-network nevű virtuális hálózat erőforrás-hatókörében.

PS C:\> New-AzRoleAssignment -ObjectId aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa `
-RoleDefinitionName "Virtual Machine Contributor" `
-ResourceName pharma-sales-project-network `
-ResourceType Microsoft.Network/virtualNetworks `
-ResourceGroupName MyVirtualNetworkResourceGroup

RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyVirtualNetworkResourceGroup
                     /providers/Microsoft.Network/virtualNetworks/pharma-sales-project-network/providers/Microsoft.Authorizat
                     ion/roleAssignments/bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyVirtualNetworkResourceGroup
                     /providers/Microsoft.Network/virtualNetworks/pharma-sales-project-network
DisplayName        : Pharma Sales Admins
SignInName         :
RoleDefinitionName : Virtual Machine Contributor
RoleDefinitionId   : 9980e02c-c2be-4d73-94e8-173b1dc7cf3c
ObjectId           : aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
ObjectType         : Group
CanDelegate        : False

Szerepkör hozzárendelése egy felhasználóhoz egy erőforráscsoport hatókörében

Hozzárendeli a virtuálisgép-közreműködői szerepkört a felhasználóhoz patlong@contoso.com a gyógyszer-értékesítési erőforráscsoport hatókörében.

PS C:\> New-AzRoleAssignment -SignInName patlong@contoso.com `
-RoleDefinitionName "Virtual Machine Contributor" `
-ResourceGroupName pharma-sales

RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales/pr
                     oviders/Microsoft.Authorization/roleAssignments/55555555-5555-5555-5555-555555555555
Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
DisplayName        : Pat Long
SignInName         : patlong@contoso.com
RoleDefinitionName : Virtual Machine Contributor
RoleDefinitionId   : 9980e02c-c2be-4d73-94e8-173b1dc7cf3c
ObjectId           : 44444444-4444-4444-4444-444444444444
ObjectType         : User
CanDelegate        : False

Másik lehetőségként megadhatja a teljes erőforráscsoportot a -Scope következő paraméterrel:

PS C:\> New-AzRoleAssignment -SignInName patlong@contoso.com `
-RoleDefinitionName "Virtual Machine Contributor" `
-Scope "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales"

RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales/providers/Microsoft.Authorization/roleAssignments/55555555-5555-5555-5555-555555555555
Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
DisplayName        : Pat Long
SignInName         : patlong@contoso.com
RoleDefinitionName : Virtual Machine Contributor
RoleDefinitionId   : 9980e02c-c2be-4d73-94e8-173b1dc7cf3c
ObjectId           : 44444444-4444-4444-4444-444444444444
ObjectType         : User
CanDelegate        : False

Szerepkör hozzárendelése egy felhasználóhoz az erőforráscsoport hatókörében található egyedi szerepkör-azonosító használatával

Előfordulhat, hogy egy szerepkör neve megváltozik, például:

  • Saját egyéni szerepkört használ, és úgy dönt, hogy megváltoztatja a nevet.
  • Olyan előzetes szerepkört használ, amelynek neve (előzetes verzió) szerepel. A szerepkör felszabadításakor a szerepkör átnevezve lesz.

Még ha átneveznek is egy szerepkört, a szerepkör azonosítója nem változik. Ha szkriptekkel vagy automatizálással hozza létre a szerepkör-hozzárendeléseket, ajánlott az egyedi szerepkör-azonosítót használni a szerepkör neve helyett. Ezért ha egy szerepkört átneveznek, a szkriptek nagyobb valószínűséggel fognak működni.

Az alábbi példa a virtuálisgép-közreműködői szerepkört rendeli hozzá a patlong@contoso.com felhasználóhoz a gyógyszer-értékesítési erőforráscsoport hatókörében.

PS C:\> New-AzRoleAssignment -ObjectId 44444444-4444-4444-4444-444444444444 `
-RoleDefinitionId 9980e02c-c2be-4d73-94e8-173b1dc7cf3c `
-Scope "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales"

RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales/providers/Microsoft.Authorization/roleAssignments/55555555-5555-5555-5555-555555555555
Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
DisplayName        : Pat Long
SignInName         : patlong@contoso.com
RoleDefinitionName : Virtual Machine Contributor
RoleDefinitionId   : 9980e02c-c2be-4d73-94e8-173b1dc7cf3c
ObjectId           : 44444444-4444-4444-4444-444444444444
ObjectType         : User
CanDelegate        : False

Szerepkör hozzárendelése egy alkalmazáshoz egy erőforráscsoport hatókörében

A virtuálisgép-közreműködői szerepkör hozzárendelése egy 7777777777-7777-7777-7777-7777777777 azonosítójú szolgáltatásnév-objektummal rendelkező alkalmazáshoz a gyógyszer-értékesítési erőforráscsoport hatókörében.

PS C:\> New-AzRoleAssignment -ObjectId 77777777-7777-7777-7777-777777777777 `
-RoleDefinitionName "Virtual Machine Contributor" `
-ResourceGroupName pharma-sales

RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/66666666-6666-6666-6666-666666666666
Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
DisplayName        : MyApp1
SignInName         :
RoleDefinitionName : Virtual Machine Contributor
RoleDefinitionId   : 9980e02c-c2be-4d73-94e8-173b1dc7cf3c
ObjectId           : 77777777-7777-7777-7777-777777777777
ObjectType         : ServicePrincipal
CanDelegate        : False

Szerepkör hozzárendelése egy felhasználóhoz egy előfizetés hatókörében

Hozzárendeli az Olvasó szerepkört a annm@example.com felhasználóhoz egy előfizetési hatókörben.

PS C:\> New-AzRoleAssignment -SignInName annm@example.com `
-RoleDefinitionName "Reader" `
-Scope "/subscriptions/00000000-0000-0000-0000-000000000000"

RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/66666666-6666-6666-6666-666666666666
Scope              : /subscriptions/00000000-0000-0000-0000-000000000000
DisplayName        : Ann M
SignInName         : annm@example.com
RoleDefinitionName : Reader
RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
ObjectId           : 77777777-7777-7777-7777-777777777777
ObjectType         : ServicePrincipal
CanDelegate        : False

Szerepkör hozzárendelése egy felhasználóhoz egy felügyeleti csoport hatókörében

Hozzárendeli a Számlázási olvasó szerepkört a alain@example.com felhasználóhoz egy felügyeleti csoport hatókörében.

PS C:\> New-AzRoleAssignment -SignInName alain@example.com `
-RoleDefinitionName "Billing Reader" `
-Scope "/providers/Microsoft.Management/managementGroups/marketing-group"

RoleAssignmentId   : /providers/Microsoft.Management/managementGroups/marketing-group/providers/Microsoft.Authorization/roleAssignments/22222222-2222-2222-2222-222222222222
Scope              : /providers/Microsoft.Management/managementGroups/marketing-group
DisplayName        : Alain Charon
SignInName         : alain@example.com
RoleDefinitionName : Billing Reader
RoleDefinitionId   : fa23ad8b-c56e-40d8-ac0c-ce449e1d2c64
ObjectId           : 44444444-4444-4444-4444-444444444444
ObjectType         : User
CanDelegate        : False

További lépések