Azure Cosmos DB hesabını geri yükleme izinlerini yönetme
ŞUNLAR IÇIN GEÇERLIDIR: NoSQL MongoDB Gremlin Masa
Azure Cosmos DB, sürekli yedekleme hesabının geri yükleme izinlerini belirli bir rol veya sorumluyla yalıtmanıza ve kısıtlamanıza olanak tanır. Bu izinler, aşağıdaki görüntüde gösterildiği gibi abonelik kapsamında veya kaynak hesap kapsamında daha ayrıntılı olarak uygulanabilir:
Kapsam, erişim izni olan bir kaynak kümesidir. Kapsamlar hakkında daha fazla bilgi edinmek için Azure RBAC belgelerine bakın. Azure Cosmos DB'de geçerli kapsamlar, kullanım örneklerinin çoğu için kaynak abonelik ve veritabanı hesabıdır. Geri yükleme eylemlerini gerçekleştiren sorumlunun hedef kaynak grubuna yazma izinleri olmalıdır.
Azure portalını kullanarak geri yükleme rolleri atama
Geri yükleme gerçekleştirmek için, bir kullanıcı veya sorumlunun geri yükleme iznine (geri yükleme/eylem izni) ve yeni bir hesap sağlama iznine (yazma izni) ihtiyacı vardır. Bu izinleri vermek için, aboneliğin sahibi ve Cosmos DB Operator
yerleşik rollerini bir sorumluya atayabilirCosmosRestoreOperator
.
Azure portalında oturum açın ve aboneliğinize gidin. Rol
CosmosRestoreOperator
abonelik düzeyinde kullanılabilir.Erişim denetimi (IAM) öğesini seçin.
Rol ataması ekle sayfasını açmak için Rol ataması ekle'yi> seçin.
Aşağıdaki rolü atayın. Ayrıntılı adımlar için bkz. Azure portalı kullanarak Azure rolleri atama.
Ayar Value Role CosmosRestoreOperator Şu kişiye erişim ata: Kullanıcı, grup veya hizmet sorumlusu Üyeler <Tercihinize göre kullanıcı> Yazma izni vermek için Cosmos DB İşleci rolüyle 4. adımı yineleyin. Bu rolü Azure portalından atarken, aboneliğin tamamına geri yükleme izni verir.
İzin kapsamları
Kapsam | Örnek |
---|---|
Abonelik | /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e4e |
Kaynak grubu | /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e4e/resourceGroups/Example-cosmosdb-rg |
CosmosDB geri yüklenebilen hesap kaynağı | /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e4e/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e |
Geri yüklenebilir hesap kaynağı CLI'daki komutun az cosmosdb restorable-database-account list --account-name <accountname>
çıkışından veya Get-AzCosmosDBRestorableDatabaseAccount -DatabaseAccountName <accountname>
PowerShell'de cmdlet'inden ayıklanabilir. Çıktıdaki name özniteliği, geri yüklenebilen hesabın değerini temsil eder instanceID
.
Kaynak hesap üzerindeki izinler
Sürekli yedekleme modu hesapları için geri yüklemeyle ilgili farklı etkinlikleri gerçekleştirmek için aşağıdaki izinler gereklidir:
Not
hesap kapsamında veya abonelik kapsamında geri yüklenebilir veritabanı hesabına izin atanabilir. Kaynak grubu kapsamında izin atama desteklenmez.
İzin | Etki | En düşük kapsam | En fazla kapsam |
---|---|---|---|
Microsoft.Resources/deployments/validate/action , Microsoft.Resources/deployments/write |
Geri yüklenen hesabı oluşturmak için ARM şablonu dağıtımı için bu izinler gereklidir. Bu rolü ayarlama hakkında bilgi için aşağıdaki RestoreableAction örnek iznine bakın. | Uygulanamaz | Uygulanamaz |
Microsoft.DocumentDB/databaseAccounts/write |
Bir hesabı kaynak grubuna geri yüklemek için bu izin gereklidir | Geri yüklenen hesabın oluşturulduğu kaynak grubu. | Geri yüklenen hesabın oluşturulduğu abonelik |
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action İzin kapsamı olarak kaynak grubunu seçemezsiniz. |
Bu izin, üzerinde geri yükleme eylemlerinin gerçekleştirilebilmesi için kaynak geri yüklenebilir veritabanı hesabı kapsamında gereklidir. | Geri yüklenen kaynak hesaba ait RestoreableDatabaseAccount kaynağı. Bu değer, geri yüklenebilen ID veritabanı hesabı kaynağının özelliği tarafından da verilir. Geri yüklenebilen hesaba örnek olarak /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid örneklerinden biri örnektir> |
Geri yüklenebilen veritabanı hesabını içeren abonelik. |
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read İzin kapsamı olarak kaynak grubunu seçemezsiniz. |
Bu izin, geri yüklenebilen veritabanı hesaplarını listelemek için kaynak geri yüklenebilir veritabanı hesabı kapsamında gereklidir. | Geri yüklenen kaynak hesaba ait RestoreableDatabaseAccount kaynağı. Bu değer, geri yüklenebilen ID veritabanı hesabı kaynağının özelliği tarafından da verilir. Geri yüklenebilen hesaba örnek olarak /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid örneklerinden biri örnektir> |
Geri yüklenebilen veritabanı hesabını içeren abonelik. |
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read İzin kapsamı olarak kaynak grubunu seçemezsiniz. |
Bu izin, geri yüklenebilen bir hesabın veritabanı ve kapsayıcı listesi gibi geri yüklenebilen kaynakların okunmasına izin vermek için kaynak geri yüklenebilir hesap kapsamında gereklidir. | Geri yüklenen kaynak hesaba ait RestoreableDatabaseAccount kaynağı. Bu değer, geri yüklenebilen ID veritabanı hesabı kaynağının özelliği tarafından da verilir. Geri yüklenebilen hesaba örnek olarak /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid örneklerinden biri örnektir> |
Geri yüklenebilen veritabanı hesabını içeren abonelik. |
Hedef hesap üzerindeki izinler
Sürekli yedekleme modu hesapları için geri yüklemeyle ilgili farklı etkinlikleri gerçekleştirmek için aşağıdaki izinler gereklidir:
İzin | Etki |
---|---|
Microsoft.Resources/deployments/validate/action , Microsoft.Resources/deployments/write |
Geri yüklenen hesabı oluşturmak için ARM şablonu dağıtımı için bu izinler gereklidir. Bu rolü ayarlama hakkında bilgi için aşağıdaki RestoreableAction örnek iznine bakın. |
Microsoft.DocumentDB/databaseAccounts/write |
Bir hesabı kaynak grubuna geri yüklemek için bu izin gereklidir |
Farklı kapsamlarda geri yüklemek için Azure CLI rol atama senaryoları
İzinli roller, abonelikte veya belirli bir hesapta geri yükleme işlemini kimlerin gerçekleştirebileceği üzerinde ayrıntılı denetim elde etmek için farklı kapsamlara atanabilir.
Abonelikteki geri yüklenebilir hesaplardan geri yükleme yeteneği atama
CosmosRestoreOperator
Yerleşik rolü belirli bir abonelik düzeyine atama
az role assignment create --role "CosmosRestoreOperator" --assignee <email> --scope /subscriptions/<subscriptionId>
Belirli bir hesaptan geri yükleme yeteneği atama
- Belirli bir kaynak grubuna kullanıcı yazma eylemi atayın. Bu eylem, kaynak grubunda yeni bir hesap oluşturmak için gereklidir.
CosmosRestoreOperator
Yerleşik rolü, geri yüklenmesi gereken belirli geri yüklenebilir veritabanı hesabına atayın. Aşağıdaki komutta, için kapsamıRestorableDatabaseAccount
yürütme sonucununaz cosmosdb restorable-database-account list
özelliğindenID
(CLI kullanılıyorsa) veyaGet-AzCosmosDBRestorableDatabaseAccount
(PowerShell kullanılıyorsa) ayıklanır
az role assignment create --role "CosmosRestoreOperator" --assignee <email> --scope <RestorableDatabaseAccount>
Bir kaynak grubundaki herhangi bir kaynak hesaptan geri yükleme yeteneği atayın.
Bu işlem şu anda desteklenmiyor.
CLI ile geri yükleme eylemi için özel rol oluşturma
Abonelik sahibi, başka bir Microsoft Entra kimliğine geri yükleme izni verebilir. Geri yükleme izni şu eylemi temel alır: Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action
ve geri yükleme izinlerine dahil edilmelidir. Bu role sahip CosmosRestoreOperator adlı yerleşik bir rol vardır. Bu yerleşik rolü kullanarak izni atayabilir veya özel bir rol oluşturabilirsiniz.
Aşağıdaki RestoreableAction özel bir rolü temsil eder. Bu rolü açıkça oluşturmanız gerekir. Aşağıdaki JSON şablonu, geri yükleme izniyle RestoreableAction özel bir rol oluşturur:
{
"assignableScopes": [
"/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f"
],
"description": "Can do a restore request for any Azure Cosmos DB database account with continuous backup",
"permissions": [
{
"actions": [
"Microsoft.Resources/deployments/validate/action",
"Microsoft.DocumentDB/databaseAccounts/write",
"Microsoft.Resources/deployments/write",
"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action",
"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read",
"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read"
],
"dataActions": [],
"notActions": [],
"notDataActions": []
}
],
"Name": "RestorableAction",
"roleType": "CustomRole"
}
Ardından ARM şablonunu kullanarak geri yükleme iznine sahip bir rol oluşturmak için aşağıdaki şablon dağıtım komutunu kullanın:
az role definition create --role-definition <JSON_Role_Definition_Path>
Sonraki adımlar
- Azure portalı, PowerShell, CLI veya Azure Resource Manager'ı kullanarak sürekli yedekleme sağlayın.
- SQL ve MongoDB hesapları için en son geri yüklenebilen zaman damgasını edinin.
- Azure portalını, PowerShell'i, CLI'yı veya Azure Resource Manager'ı kullanarak bir hesabı geri yükleyin.
- Düzenli yedeklemeden sürekli yedeklemeye bir hesaba geçiş.
- Sürekli yedekleme modunun kaynak modeli