PowerShell kullanarak bir güvenlik sorumlusuna Azure rolü atamak için New-AzRoleAssignment komutunu çağırın. Komutu çalıştırmak için, ilgili kapsamda veya daha üst bir kapsamda size atanmış Microsoft.Authorization/roleAssignments/write izinleri içeren bir role ihtiyacınız vardır.
Komutun biçimi atamanın kapsamına göre farklılık gösterebilir, ancak -ObjectId ve -RoleDefinitionName parametreleri gereklidir.
-Scope Parametresi gerekli olmasa da, en az ayrıcalık ilkesini korumak için parametresini ekleyin. Rolleri ve kapsamları sınırlayarak, güvenlik sorumlusunun gizliliği ihlal edilirse risk altındaki kaynakları sınırlandırmış olursunuz.
-ObjectId parametresi, rolü atadığınız kullanıcının, grubun veya hizmet sorumlusunun Microsoft Entra nesne kimliğidir. Tanımlayıcıyı almak için, aşağıdaki örnekte gösterildiği gibi Get-AzADUser kullanarak Microsoft Entra kullanıcıları filtreleyin.
Get-AzADUser -DisplayName '<Display Name>'
(Get-AzADUser -StartsWith '<substring>').Id
İlk yanıt güvenlik sorumlusunu, ikinci yanıt ise güvenlik sorumlusunun nesne kimliğini döndürür.
UserPrincipalName : markpdaniels@contoso.com
ObjectType : User
DisplayName : Mark P. Daniels
Id : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
Type :
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
-RoleDefinitionName Parametre değeri, sorumluya atanması gereken RBAC rolünün adıdır. Azure portalında Blob verilerine Microsoft Entra kimlik bilgileriyle erişmek için kullanıcının aşağıdaki rol atamalarına sahip olması gerekir:
- Depolama Blob Veri Katkıda Bulunanı veya Depolama Blob Veri Okuyucusu gibi bir veri erişim rolü
- Azure Resource Manager Okuyucusu rolü
Bir rolü blob kapsayıcısı veya depolama hesabı ile sınırlı olacak şekilde atamak için, -Scope parametresi için kaynağın kapsamını içeren bir dize belirtin. Bu eylem, kullanıcıya iş işlevlerini gerçekleştirmek için gereken en düşük erişim düzeyinin verildiği bilgi güvenliği kavramı olan en az ayrıcalık ilkesine uygundur. Bu uygulama, gereksiz ayrıcalıkların ortaya çıkarabileceği olası yanlışlıkla veya kasıtlı hasar riskini azaltır.
Kapsayıcının kapsamı aşağıdaki gibidir:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<container-name>
Depolama hesabının kapsamı şu biçimdedir:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>
Bir depolama hesabına yönelik kapsamı belirlenmiş bir rol atamak için, --scope parametresi için kapsayıcının kapsamını içeren bir dize belirtin.
Aşağıdaki örnek, kullanıcıya Depolama Blob Verileri Katkıda Bulunanı rolünü atar. Rol atamasının kapsamı kapsayıcının düzeyine göre belirlenir. Örnek değerleri ve köşeli ayraç içindeki yer tutucu değerlerini (<>) kendi değerlerinizle değiştirdiğinden emin olun:
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>"
Aşağıdaki örnek, nesne kimliğini belirterek kullanıcıya Depolama Blobu Veri Okuyucusu rolünü atar. Rol atamasının kapsamı depolama hesabının düzeyine göre belirlenir. Örnek değerleri ve köşeli ayraç içindeki yer tutucu değerlerini (<>) kendi değerlerinizle değiştirdiğinden emin olun:
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>"
Çıkışınızın aşağıdakine benzer olması gerekir:
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
Abonelik veya kaynak grubu kapsamında PowerShell ile rol atama hakkında bilgi için Azure PowerShell kullanarak Azure rolleri atama başlıklı makaleye bakın.
Azure CLI kullanarak bir güvenlik sorumlusuna Azure rolü atamak için az role assignment create komutunu kullanın. Komutun biçimi atamanın kapsamına göre farklılık gösterebilir. Bu komutu çalıştırmak için, ilgili kapsamda veya daha üst bir kapsamda size atanan Microsoft.Authorization/roleAssignments/write izinlerini içeren bir rolünüz olmalıdır.
Bir rolü kapsayıcıya özel olarak atamak için, --scope parametresi için kapsayıcının kapsamını içeren bir dize belirtin. Kapsayıcının kapsamı aşağıdaki gibidir:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<container-name>
Aşağıdaki örnek, kullanıcıya Depolama Blob Verileri Katkıda Bulunanı rolünü atar. Rol atamasının kapsamı kapsayıcı düzeyine göre belirlenir. Örnek değerleri ve köşeli ayraç içindeki yer tutucu değerlerini (<>) kendi değerlerinizle değiştirdiğinden emin olun:
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>"
Aşağıdaki örnek, nesne kimliğini belirterek kullanıcıya Depolama Blobu Veri Okuyucusu rolünü atar.
--assignee-object-id ve --assignee-principal-type parametreleri hakkında daha fazla bilgi edinmek için az role assignment'e bakın. Bu örnekte rol atamasının kapsamı depolama hesabının düzeyine göre belirlenmiştir. Örnek değerleri ve köşeli ayraç içindeki yer tutucu değerlerini (<>) kendi değerlerinizle değiştirdiğinden emin olun:
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>"
Rolleri atadığınızda veya rol atamalarını kaldırdığınızda değişikliklerin geçerlilik kazanması 10 dakika kadar sürebilir.
Abonelik, kaynak grubu veya depolama hesabı kapsamında Azure CLI ile rol atama hakkında bilgi almak için bkz: Azure CLI kullanarak Azure rolleri atama.