Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure rol tabanlı erişim denetimi (Azure RBAC), Azure kaynaklarına erişimi yönetmek için kullandığınız yetkilendirme sistemidir. Erişim vermek için kullanıcılara, gruplara, hizmet sorumlularına veya yönetilen kimliklere belirli kapsamda roller atamanız gerekir. Bu makalede REST API kullanarak rollerin nasıl atandığı açıklanmaktadır.
Önkoşullar
Azure rollerini atamak için şunlar gereklidir:
-
Microsoft.Authorization/roleAssignments/writeRol Tabanlı Erişim Denetimi Yöneticisi veya Kullanıcı Erişimi Yöneticisi gibi izinler
Aşağıdaki sürümleri kullanmanız gerekir:
-
2015-07-01veya daha sonra Azure rolü atamak için -
2018-09-01-previewveya daha üzeri kullanılarak yeni bir hizmet sorumlusuna Azure rolü atamak için
Daha fazla bilgi için bk . Azure RBAC REST API'lerinin API sürümleri.
Azure rolü atama
Rol atamak için Rol Atamaları - REST API oluşturma'yı kullanın ve güvenlik sorumlusunu, rol tanımını ve kapsamı belirtin. Bu API'yi çağırmak için Role Dayalı Erişim Denetimi Yöneticisi gibi eyleme Microsoft.Authorization/roleAssignments/write erişiminiz olmalıdır.
Kullanmak istediğiniz rol tanımının tanımlayıcısını almak için Rol Tanımları - Liste REST API'sini kullanın veya Yerleşik roller bölümüne bakın.
Rol atama tanımlayıcısı için kullanılacak benzersiz bir tanımlayıcı oluşturmak için BIR GUID aracı kullanın. Tanımlayıcı şu biçimdedir:
00000000-0000-0000-0000-000000000000Aşağıdaki istek ve içerik ile başlayın:
PUT https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}?api-version=2022-04-01{ "properties": { "roleDefinitionId": "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", "principalId": "{principalId}" } }URI içinde {scope} ifadesini rol atamasının kapsamı ile değiştirin.
Scope Türü providers/Microsoft.Management/managementGroups/{groupId1}Yönetim grubu subscriptions/{subscriptionId1}Abonelik subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1Kaynak grubu subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/microsoft.web/sites/mysite1Kaynak Önceki örnekte, microsoft.web bir App Service örneğine başvuran bir kaynak sağlayıcısıdır. Benzer şekilde, diğer tüm kaynak sağlayıcılarını kullanabilir ve kapsamı belirtebilirsiniz. Daha fazla bilgi için bkz . Azure Kaynak sağlayıcıları ve türleri ve desteklenen Azure kaynak sağlayıcısı işlemleri.
{roleAssignmentId} öğesini rol atamasının GUID tanımlayıcısıyla değiştirin.
İstek gövdesinde {scope} öğesini URI'dekiyle aynı kapsamla değiştirin.
{roleDefinitionId} öğesini rol tanımı tanımlayıcısıyla değiştirin.
{principalId} ifadesini, rolün atanacağı kullanıcı, grup veya hizmet sorumlusunun nesne tanımlayıcısıyla değiştirin.
Aşağıdaki istek ve gövde, abonelik kapsamındaki bir kullanıcıya Yedekleme Okuyucusu rolünü atar:
PUT https://management.azure.com/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId1}?api-version=2022-04-01
{
"properties": {
"roleDefinitionId": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/a795c7a0-d4a2-40c1-ae25-d81f01202912",
"principalId": "{objectId1}"
}
}
Aşağıda çıktının bir örneği gösterilmektedir:
{
"properties": {
"roleDefinitionId": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/a795c7a0-d4a2-40c1-ae25-d81f01202912",
"principalId": "{objectId1}",
"principalType": "User",
"scope": "/subscriptions/{subscriptionId1}",
"condition": null,
"conditionVersion": null,
"createdOn": "2022-05-06T23:55:23.7679147Z",
"updatedOn": "2022-05-06T23:55:23.7679147Z",
"createdBy": null,
"updatedBy": "{updatedByObjectId1}",
"delegatedManagedIdentityResourceId": null,
"description": null
},
"id": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId1}",
"type": "Microsoft.Authorization/roleAssignments",
"name": "{roleAssignmentId1}"
}
Yeni hizmet sorumlusu
Yeni bir hizmet sorumlusu oluşturur ve bu hizmet sorumlusuna hemen bir rol atamayı denerseniz, bu rol ataması bazı durumlarda başarısız olabilir. Örneğin, yeni bir yönetilen kimlik oluşturur ve sonra bu hizmet sorumlusuna bir rol atamayı denerseniz rol ataması başarısız olabilir. Bu hatanın nedeni büyük olasılıkla bir çoğaltma gecikmesidir. Hizmet sorumlusu tek bir bölgede oluşturulur; ancak rol ataması, hizmet sorumlusunu henüz çoğaltmamış farklı bir bölgede gerçekleşebilir.
Bu senaryoyu ele almak için Rol Atamaları - Oluştur REST API'sini kullanın ve principalType özelliğini ServicePrincipal olarak ayarlayın.
apiVersion ayrıca 2018-09-01-preview veya üzerini ayarlamanız gerekir.
2022-04-01 ilk kararlı sürümdür.
PUT https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}?api-version=2022-04-01
{
"properties": {
"roleDefinitionId": "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}",
"principalId": "{principalId}",
"principalType": "ServicePrincipal"
}
}
Sonraki adımlar
- REST API kullanarak Azure rol atamalarını listeleyin
- Resource Manager şablonları ve Resource Manager REST API'siyle kaynakları dağıtma
- Azure REST API Başvurusu
- REST API kullanarak Azure özel rolleri oluşturma veya güncelleştirme