Azure API Management'ta rol tabanlı erişim denetimini kullanma
UYGULANANLAR: Tüm API Management katmanları
Azure API Management, API Management hizmetleri ve varlıkları (örneğin API'ler ve ilkeler) için ayrıntılı erişim yönetimini etkinleştirmek için Azure rol tabanlı erişim denetimine (Azure RBAC) dayanır. Bu makale, API Management'taki yerleşik ve özel rollere genel bir bakış sağlar. Azure portalında erişim yönetimi hakkında daha fazla bilgi için bkz . Azure portalında erişim yönetimini kullanmaya başlama.
Not
Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz . Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.
Yerleşik hizmet rolleri
API Management şu anda üç yerleşik rol sağlar ve yakın gelecekte iki rol daha ekleyecektir. Bu roller abonelik, kaynak grubu ve bağımsız API Management örneği gibi farklı kapsamlarda atanabilir. Örneğin, bir kullanıcıya kaynak grubu düzeyinde "API Management Hizmet Okuyucusu" rolünü atarsanız, kullanıcının kaynak grubu içindeki tüm API Management örneklerine okuma erişimi olur.
Aşağıdaki tabloda yerleşik rollerin kısa açıklamaları yer alır. Azure portalını veya Azure PowerShell, Azure CLI ve REST API gibi diğer araçları kullanarak bu rolleri atayabilirsiniz. Yerleşik rolleri atama hakkında ayrıntılı bilgi için bkz . Azure abonelik kaynaklarınıza erişimi yönetmek için Azure rolleri atama.
Role | Okuma erişimi[1] | Yazma erişimi[2] | Hizmet oluşturma, silme, ölçeklendirme, VPN ve özel etki alanı yapılandırması | Eski yayımcı portalına erişim | Açıklama |
---|---|---|---|---|---|
API Management Hizmeti Katılımcısı | ✓ | ✓ | ✓ | ✓ | Süper kullanıcı. API Management hizmetlerine ve varlıklarına (örneğin, API'ler ve ilkeler) tam CRUD erişimi vardır. Eski yayımcı portalına erişimi vardır. |
API Management Hizmet Okuyucusu | ✓ | API Management hizmetlerine ve varlıklarına salt okunur erişimi vardır. | |||
API Management Hizmet Operatörü | ✓ | ✓ | API Management hizmetlerini yönetebilir, ancak varlıkları yönetemez. |
[1] API Management hizmetlerine ve varlıklarına (örneğin, API'ler ve ilkeler) okuma erişimi.
[2] Aşağıdaki işlemler dışında API Management hizmetlerine ve varlıklarına yazma erişimi: örnek oluşturma, silme ve ölçeklendirme; VPN yapılandırması; ve özel etki alanı kurulumu.
Yerleşik çalışma alanı rolleri
API Management, bir API Management örneğindeki çalışma alanlarındaki ortak çalışanlar için aşağıdaki yerleşik rolleri sağlar.
Çalışma alanı ortak çalışanına hem çalışma alanı kapsamlı bir rol hem de hizmet kapsamlı bir rol atanmalıdır.
Role | Scope | Açıklama |
---|---|---|
API Management Çalışma Alanı Katkıda Bulunanı | çalışma alanı | Çalışma alanını yönetebilir ve görüntüleyebilir, ancak üyelerini değiştiremez. Bu rol çalışma alanı kapsamında atanmalıdır. |
API Management Çalışma Alanı Okuyucusu | çalışma alanı | Çalışma alanında varlıklara salt okunur erişime sahiptir. Bu rol çalışma alanı kapsamında atanmalıdır. |
API Management Çalışma Alanı API Geliştiricisi | çalışma alanı | Çalışma alanında varlıklara okuma erişimine ve API'leri düzenlemek için varlıklara okuma ve yazma erişimine sahiptir. Bu rol çalışma alanı kapsamında atanmalıdır. |
API Management Çalışma Alanı API Ürün Yöneticisi | çalışma alanı | Çalışma alanında varlıklara okuma erişimine ve API'leri yayımlamak için varlıklara okuma ve yazma erişimine sahiptir. Bu rol çalışma alanı kapsamında atanmalıdır. |
API Management Hizmeti Çalışma Alanı API Geliştiricisi | service | Etiketlere ve ürünlere okuma erişimine ve izin vermek için yazma erişimine sahiptir: ▪️ Api'leri ürünlere atama ▪️ Ürünlere ve API'lere etiket atama Bu rol hizmet kapsamında atanmalıdır. |
API Management Hizmeti Çalışma Alanı API Ürün Yöneticisi | service | API Management Hizmeti Çalışma Alanı API Geliştiricisi ile aynı erişimin yanı sıra kullanıcılara okuma erişimine ve gruplara kullanıcı atamaya izin vermek için yazma erişimine sahiptir. Bu rol hizmet kapsamında atanmalıdır. |
Çalışma alanı ortak çalışanlarının çalışma alanını nasıl kullandığına veya yönettiğine bağlı olarak, çalışma alanı ağ geçidi kapsamında aşağıdaki Azure tarafından sağlanan RBAC rollerinden birini atamanızı öneririz: Okuyucu, Katkıda Bulunan veya Sahip.
Yerleşik geliştirici portalı rolleri
Role | Scope | Açıklama |
---|---|---|
API Management Geliştirici Portalı İçerik Düzenleyicisi | service | Geliştirici portalını özelleştirebilir, içeriğini düzenleyebilir ve Azure Resource Manager API'lerini kullanarak yayımlayabilir. |
Özel roller
Yerleşik rollerden hiçbiri gereksinimlerinizi karşılamıyorsa, API Management varlıkları için daha ayrıntılı erişim yönetimi sağlamak üzere özel roller oluşturulabilir. Örneğin, API Management hizmetine salt okunur erişimi olan ancak yalnızca belirli bir API'ye yazma erişimi olan özel bir rol oluşturabilirsiniz. Özel roller hakkında daha fazla bilgi edinmek için bkz . Azure RBAC'de özel roller.
Not
Azure portalında API Management örneğini görebilmek için özel bir rolün eylemi içermesi Microsoft.ApiManagement/service/read
gerekir.
Özel bir rol oluşturduğunuzda, yerleşik rollerden biriyle başlamak daha kolaydır. Actions, NotActions veya AssignableScopes eklemek için öznitelikleri düzenleyin ve değişiklikleri yeni bir rol olarak kaydedin. Aşağıdaki örnek "API Management Hizmet Okuyucusu" rolüyle başlar ve "Hesap Makinesi API Düzenleyicisi" adlı özel bir rol oluşturur. Özel rolü belirli bir API kapsamında atayabilirsiniz. Sonuç olarak, bu rol yalnızca bu API'ye erişebilir.
$role = Get-AzRoleDefinition "API Management Service Reader Role"
$role.Id = $null
$role.Name = 'Calculator API Contributor'
$role.Description = 'Has read access to Contoso APIM instance and write access to the Calculator API.'
$role.Actions.Add('Microsoft.ApiManagement/service/apis/write')
$role.Actions.Add('Microsoft.ApiManagement/service/apis/*/write')
$role.AssignableScopes.Clear()
$role.AssignableScopes.Add('/subscriptions/<Azure subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.ApiManagement/service/<APIM service instance name>/apis/<API name>')
New-AzRoleDefinition -Role $role
New-AzRoleAssignment -ObjectId <object ID of the user account> -RoleDefinitionName 'Calculator API Contributor' -Scope '/subscriptions/<subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.ApiManagement/service/<APIM service instance name>/apis/<API name>'
Azure Resource Manager kaynak sağlayıcısı işlemleri makalesi, API Management düzeyinde verilebilen izinlerin listesini içerir.
Sonraki adımlar
Azure'da rol tabanlı erişim denetimi hakkında daha fazla bilgi edinmek için aşağıdaki makalelere bakın: