Untuk menetapkan peran Azure ke prinsip keamanan dengan menggunakan PowerShell, panggil perintah New-AzRoleAssignment. Untuk menjalankan perintah, Anda memerlukan peran yang menyertakan Microsoft. Izin otorisasi/roleAssignments/write yang ditetapkan kepada Anda pada cakupan yang sesuai atau yang lebih tinggi.
Format perintah dapat berbeda berdasarkan cakupan penugasan, tetapi parameter-parameter -ObjectId dan -RoleDefinitionName diperlukan. Meskipun parameter -Scope tidak wajib, sertakan untuk menjaga prinsip hak istimewa seminimal mungkin. Dengan membatasi peran dan cakupan, Anda membatasi sumber daya yang berisiko jika prinsip keamanan pernah disusupi.
Parameter -ObjectId adalah ID objek Microsoft Entra pengguna, grup, atau perwakilan layanan tempat Anda menetapkan peran. Untuk mengambil pengidentifikasi, gunakan Get-AzADUser untuk memfilter pengguna Microsoft Entra, seperti yang ditunjukkan dalam contoh berikut.
Get-AzADUser -DisplayName '<Display Name>'
(Get-AzADUser -StartsWith '<substring>').Id
Respons pertama menampilkan entitas keamanan, dan yang kedua menampilkan ID objek dari entitas keamanan tersebut.
UserPrincipalName : markpdaniels@contoso.com
ObjectType : User
DisplayName : Mark P. Daniels
Id : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
Type :
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
Nilai parameter -RoleDefinitionName adalah nama peran RBAC yang perlu ditetapkan ke prinsipal. Untuk mengakses data blob di portal Azure dengan kredensial Microsoft Entra, pengguna harus memiliki penetapan peran berikut:
- Peran akses data, seperti Kontributor Penyimpanan Data Blob atau Pembaca Penyimpanan Data Blob
-
Pembaca Azure Resource Manager Peran
Untuk menetapkan peran tertentu yang diterapkan pada kontainer blob atau akun penyimpanan, tentukan string yang berisi cakupan dari sumber daya untuk parameter -Scope. Tindakan ini sesuai dengan prinsip hak istimewa paling rendah, sebuah konsep keamanan informasi tempat pengguna diberikan tingkat akses minimum yang diperlukan untuk melakukan fungsi pekerjaan mereka. Praktik ini mengurangi potensi risiko kerusakan yang tidak disengaja atau disengaja yang dapat ditimbulkan oleh hak istimewa yang tidak perlu.
Cakupan untuk kontainer adalah dalam bentuk:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<container-name>
Cakupan untuk akun penyimpanan ada dalam formulir:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>
Untuk menetapkan peran yang dicakup ke akun penyimpanan, tentukan string yang berisi cakupan kontainer untuk parameter --scope.
Contoh berikut menetapkan peran Kontributor Data Blob Penyimpanan kepada pengguna. Penetapan peran dibatasi hingga tingkat wadah. Pastikan untuk mengganti nilai sampel dan nilai tempat penampung dalam tanda kurung siku (<>) dengan nilai Anda sendiri:
New-AzRoleAssignment -SignInName <email> `
-RoleDefinitionName "Storage Blob Data Contributor" `
-Scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<container-name>"
Contoh berikut menetapkan peran Pembaca Data Blob Penyimpanan kepada pengguna dengan menetapkan ID objek. Penetapan peran dibatasi pada tingkat akun-penyimpanan. Pastikan untuk mengganti nilai sampel dan nilai tempat penampung dalam tanda kurung siku (<>) dengan nilai Anda sendiri:
New-AzRoleAssignment -ObjectID "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" `
-RoleDefinitionName "Storage Blob Data Reader" `
-Scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>"
Output Anda harus sama dengan output berikut:
RoleAssignmentId : /subscriptions/<subscription ID>/resourceGroups/<Resource Group>/providers/Microsoft.Storage/storageAccounts/<Storage Account>/providers/Microsoft.Authorization/roleAssignments/<Role Assignment ID>
Scope : /subscriptions/<subscription ID>/resourceGroups/<Resource Group>/providers/Microsoft.Storage/storageAccounts/<Storage Account>
DisplayName : Mark Patrick
SignInName : markpdaniels@contoso.com
RoleDefinitionName : Storage Blob Data Reader
RoleDefinitionId : <Role Definition ID>
ObjectId : <Object ID>
ObjectType : User
CanDelegate : False
Untuk informasi tentang menetapkan peran dengan PowerShell di cakupan langganan atau grup sumber daya, lihat Menetapkan peran Azure menggunakan Azure PowerShell.
Untuk menetapkan peran Azure ke prinsip keamanan dengan menggunakan Azure CLI, gunakan perintah az role assignment create. Format perintah dapat berbeda berdasarkan cakupan penugasan. Untuk menjalankan perintah, Anda harus memiliki peran yang menyertakan izin Microsoft.Authorization/roleAssignments/write yang diberikan kepada Anda pada cakupan yang sesuai atau lebih tinggi.
Untuk menetapkan peran yang dibatasi pada kontainer, tentukan string yang berisi cakupan kontainer untuk parameter --scope. Cakupan untuk kontainer adalah dalam bentuk:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<container-name>
Contoh berikut menetapkan peran Kontributor Data Blob Penyimpanan kepada pengguna. Penetapan peran dilingkupkan ke tingkat kontainer. Pastikan untuk mengganti nilai sampel dan nilai tempat penampung dalam tanda kurung siku (<>) dengan nilai Anda sendiri:
az role assignment create \
--role "Storage Blob Data Contributor" \
--assignee <email> \
--scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<container-name>"
Contoh berikut menetapkan peran Pembaca Data Blob Penyimpanan kepada pengguna dengan menetapkan ID objek. Untuk mempelajari selengkapnya tentang parameter --assignee-object-id dan --assignee-principal-type, lihat penetapan peran az. Dalam contoh ini, penetapan peran dibatasi pada tingkat akun penyimpanan. Pastikan untuk mengganti nilai sampel dan nilai tempat penampung dalam tanda kurung siku (<>) dengan nilai Anda sendiri:
az role assignment create \
--role "Storage Blob Data Reader" \
--assignee-object-id "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" \
--assignee-principal-type "User" \
--scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>"
Saat Anda menetapkan peran atau menghapus penetapan peran, diperlukan waktu hingga 10 menit agar perubahan diterapkan.
Untuk informasi tentang menetapkan peran dengan Azure CLI di langganan, grup sumber daya, atau cakupan akun penyimpanan, lihat Menetapkan peran Azure menggunakan Azure CLI.