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.
Rol atamaları, belirli bir Azure kaynağına bir sorumluya (kullanıcı, grup, yönetilen kimlik veya hizmet sorumlusu gibi) erişim vermenizi sağlar. Bu makalede rol atamalarının ayrıntıları açıklanmaktadır.
Rol ataması
Rol ataması oluşturularak Azure kaynaklarına erişim verilir ve rol ataması kaldırılarak erişim iptal edilir.
Rol ataması aşağıdakiler dahil olmak üzere çeşitli bileşenlere sahiptir:
- Sorumlu veya rolün atandığı kişi.
- Atandıkları rol.
- Rolün atandığı kapsam .
- Rol atamasının adı ve rolün neden atandığını açıklamanıza yardımcı olan bir açıklama.
Örneğin, Azure RBAC'yi kullanarak aşağıdaki gibi roller atayabilirsiniz:
- Sally kullanıcısının ContosoStorage kaynak grubundaki contoso123 depolama hesabına sahip erişimi vardır.
- Microsoft Entra ID'deki Bulut Yöneticileri grubundaki herkesin ContosoStorage kaynak grubundaki tüm kaynaklara okuyucu erişimi vardır.
- Bir uygulamayla ilişkili yönetilen kimliğin Contoso aboneliğindeki sanal makineleri yeniden başlatmasına izin verilir.
Aşağıda, Azure PowerShell kullanılarak görüntülendiğinde rol atamasında özelliklerin bir örneği gösterilmektedir:
{
"RoleAssignmentName": "00000000-0000-0000-0000-000000000000",
"RoleAssignmentId": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000",
"Scope": "/subscriptions/11111111-1111-1111-1111-111111111111",
"DisplayName": "User Name",
"SignInName": "user@contoso.com",
"RoleDefinitionName": "Contributor",
"RoleDefinitionId": "b24988ac-6180-42a0-ab88-20f7382dd24c",
"ObjectId": "22222222-2222-2222-2222-222222222222",
"ObjectType": "User",
"CanDelegate": false,
"Description": null,
"ConditionVersion": null,
"Condition": null
}
Aşağıda, Azure CLI veya REST API kullanılarak görüntülendiğinde rol atamasında özelliklerin bir örneği gösterilmektedir:
{
"canDelegate": null,
"condition": null,
"conditionVersion": null,
"description": null,
"id": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000",
"name": "00000000-0000-0000-0000-000000000000",
"principalId": "22222222-2222-2222-2222-222222222222",
"principalName": "user@contoso.com",
"principalType": "User",
"roleDefinitionId": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c",
"roleDefinitionName": "Contributor",
"scope": "/subscriptions/11111111-1111-1111-1111-111111111111",
"type": "Microsoft.Authorization/roleAssignments"
}
Aşağıdaki tabloda rol ataması özelliklerinin anlamı açıklanmaktadır.
| Özellik | Açıklama |
|---|---|
RoleAssignmentNamename |
Genel olarak benzersiz bir tanımlayıcı (GUID) olan rol atamasının adı. |
RoleAssignmentIdid |
Rol atamasının adını içeren benzersiz kimliği. |
Scopescope |
Rol atamasının kapsamına alınan Azure kaynak tanımlayıcısı. |
RoleDefinitionIdroleDefinitionId |
Rolün benzersiz kimliği. |
RoleDefinitionNameroleDefinitionName |
Rolün adı. |
ObjectIdprincipalId |
Rolü atanmış sorumlu için Microsoft Entra nesne tanımlayıcısı. |
ObjectTypeprincipalType |
Sorumlunun temsil ettiği Microsoft Entra nesnesinin türü. Geçerli değerler , Userve Groupdeğerlerini içerirServicePrincipal. |
DisplayName |
Kullanıcıların rol atamaları için kullanıcının görünen adı. |
SignInNameprincipalName |
Kullanıcının benzersiz asıl adı (UPN) veya hizmet sorumlusuyla ilişkili uygulamanın adı. |
Descriptiondescription |
Rol atamasının açıklaması. |
Conditioncondition |
Rol tanımı ve özniteliklerinden bir veya daha fazla eylem kullanılarak oluşturulan koşul deyimi. |
ConditionVersionconditionVersion |
Koşul sürüm numarası. Varsayılan olarak 2.0'dır ve desteklenen tek sürümdür. |
CanDelegatecanDelegate |
Uygulanmadı. |
Kapsam
Rol ataması oluşturduğunuzda, uygulanacağı kapsamı belirtmeniz gerekir. Kapsam, sorumlunun erişmesine izin verilen kaynağı veya kaynak kümesini temsil eder. Rol atamasını tek bir kaynağa, kaynak grubuna, aboneliğe veya yönetim grubuna kapsam olarak ayarlayabilirsiniz.
İpucu
Gereksinimlerinizi karşılamak için ihtiyacınız olan en küçük kapsamı kullanın.
Örneğin, tek bir depolama hesabına yönetilen kimlik erişimi vermeniz gerekiyorsa, rol atamasını kaynak grubu veya abonelik kapsamında değil depolama hesabı kapsamında oluşturmak iyi bir güvenlik uygulamasıdır.
Kapsam hakkında daha fazla bilgi için Kapsamı Anlayın bölümünü inceleyin.
Atanacak rol
Rol ataması bir rol tanımıyla ilişkilendirilir. Rol tanımı, sorumlunun rol atamasının kapsamında sahip olması gereken izinleri belirtir.
Yerleşik rol tanımı veya özel rol tanımı atayabilirsiniz. Rol ataması oluşturduğunuzda, bazı araçlar rol tanımı kimliğini kullanmanızı gerektirirken, diğer araçlar rolün adını sağlamanıza olanak tanır.
Rol tanımları hakkında daha fazla bilgi için bkz . Rol tanımlarını anlama.
Başgörevli
Sorumlular arasında kullanıcılar, güvenlik grupları, yönetilen kimlikler, iş yükü kimlikleri ve hizmet sorumluları bulunur. İlke nesneleri, Microsoft Entra kiracınızda oluşturulur ve yönetilir. Herhangi bir sorumluya rol atayabilirsiniz. Rolü atamak istediğiniz sorumluyu tanımlamak için Microsoft Entra Id nesne kimliğini kullanın.
Azure PowerShell, Azure CLI, Bicep veya başka bir kod olarak altyapı (IaC) teknolojisini kullanarak bir rol ataması oluşturduğunuzda, ilke türünü belirtirsiniz. Asıl türler Kullanıcı, Grup ve HizmetPrensibi'dir. Doğru ana türü belirtmek önemlidir. Aksi takdirde, özellikle hizmet sorumluları ve yönetilen kimliklerle çalışırken aralıklı dağıtım hataları alabilirsiniz.
Kimlik bulunamadığı için rol atamaları yapılamadı
Microsoft Entra Id'den bir kullanıcı, grup, hizmet sorumlusu veya yönetilen kimliği sildiğinizde, rol atamalarını kaldırmak iyi bir uygulamadır. Rol atamaları otomatik olarak kaldırılmaz. Silinen asıl kimliğe başvuran rol atamaları, Azure portalında Kimlik bulunamadı olarak listelenir. Geçerli Microsoft Entra Id belirteçleri varsa ve belirteçlerin süresi dolmadıysa, rol atamaları silinen güvenlik sorumlularına erişim izni verilmeye devam eder. Daha fazla bilgi için bkz. Semptom - Kimlik bulunamayan rol atamaları.
Veri Akışı Adı
Rol atamanın kaynak adı genel olarak benzersiz bir tanımlayıcı (GUID) olmalıdır.
Rol atamasının kapsamı daha dar olsa bile, rol ataması kaynak adları Microsoft Entra kiracısı içinde benzersiz olmalıdır.
İpucu
Azure portalını, Azure PowerShell'i veya Azure CLI'yı kullanarak rol ataması oluşturduğunuzda, oluşturma işlemi rol atamanıza sizin için otomatik olarak benzersiz bir ad verir.
Bicep veya başka bir kod olarak altyapı (IaC) teknolojisini kullanarak rol ataması oluşturursanız, rol atamalarınızı nasıl adlandırmanız gerektiğini dikkatlice planlamanız gerekir. Daha fazla bilgi için bkz Bicep kullanarak Azure RBAC kaynakları oluşturma.
Rol ataması adının yeniden kullanımı
Bir rol atamasının adını başka bir rol ataması için yeniden kullanmayı denerseniz dağıtım başarısız olur. Bu araçları kullanırken rol atama adını açıkça ayarlamanız gerektiğinden, rol atamalarınızı dağıtmak için Bicep veya Azure Resource Manager şablonu (ARM şablonu) kullandığınızda bu sorunun oluşma olasılığı daha yüksektir. Bu davranışa geçici bir çözüm olarak, yeniden oluşturmadan önce eski rol atamasını kaldırmanız veya yeni bir rol ataması dağıtırken benzersiz bir ad kullandığınızdan emin olmanız gerekir.
Açıklama
Rol atamasına metin açıklaması ekleyebilirsiniz. Açıklamalar isteğe bağlı olsa da, bunları rol atamalarınıza eklemek iyi bir uygulamadır. Sorumlunun atanmış role neden ihtiyaç duyduğuna ilişkin kısa bir gerekçe sağlayın. Birisi rol atamalarını denetlediğinde, açıklamalar neden oluşturulduğunu ve hala geçerli olup olmadığını anlamanıza yardımcı olabilir.
Koşullar
Bazı roller, belirli eylemler bağlamındaki özniteliklere göre rol atama koşullarını destekler. Rol atama koşulu, daha ayrıntılı erişim denetimi sağlamak için isteğe bağlı olarak rol atamanıza ekleyebileceğiniz ek bir denetimdir.
Örneğin, bir nesnenin kullanıcının nesneyi okuması için belirli bir etikete sahip olmasını gerektiren bir koşul ekleyebilirsiniz.
Genellikle görsel koşul düzenleyicisi kullanarak koşullar oluşturursunuz, ancak kodda örnek bir koşul şöyle görünür:
((!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'} AND NOT SubOperationMatches{'Blob.List'})) OR (@resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] StringEqualsIgnoreCase 'Cascade'))
Yukarıdaki koşul, kullanıcıların Project blob dizin etiketi anahtarına ve Cascade değerine sahip blobları okumasına olanak tanır.
Koşullar hakkında daha fazla bilgi için bkz . Azure öznitelik tabanlı erişim denetimi (Azure ABAC) nedir?