Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure Cosmos DB позволяет изолировать и ограничить разрешения на восстановление для учетной записи непрерывного резервного копирования определенной ролью или субъектом. Эти разрешения могут применяться для области действия подписки или более точно в области исходной учетной записи, как показано на следующем изображении:
Область — это набор ресурсов с доступом. Дополнительные сведения об областях см. в документации по Azure RBAC. В Azure Cosmos DB применимые области для большинства вариантов использования — это исходная подписка и учетная запись базы данных. Субъект, выполняющий действия по восстановлению, должен иметь разрешения на запись в целевую группу ресурсов.
Назначение ролей для восстановления с использованием портала Azure
Для выполнения восстановления пользователю или участнику требуется разрешение на восстановление (то есть разрешение восстановление/действие) и разрешение на предоставление новой учетной записи (разрешение на запись). Чтобы предоставить эти разрешения, владелец подписки может назначить CosmosRestoreOperatorCosmos DB Operator и встроенные роли субъекту.
Войдите в портал Azure и перейдите к подписке. Роль
CosmosRestoreOperatorдоступна на уровне подписки.Выберите Управление доступом (IAM).
Нажмите Добавить>Добавить назначение роли, чтобы открыть страницу Добавить назначение роли.
Назначьте следующую роль. Подробные инструкции см. в разделе Назначение ролей Azure с помощью портала Azure.
Настройки Value Роль Оператор восстановления Cosmos Предоставить доступ к Пользователь, группа или основная служба Members <Пользователь на ваш выбор>
Повторите шаг 4 с ролью оператора Cosmos DB, чтобы предоставить разрешение на запись. При назначении этой роли через портал Azure предоставляется разрешение на восстановление для всей подписки.
Области действия разрешений
| Scope | Example |
|---|---|
| Subscription | /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e |
| Группа ресурсов | /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeee4e4e4e4e/resourceGroups/Example-cosmosdb-rg |
| Ресурс восстановленной учетной записи CosmosDB | /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e |
Ресурс восстановленной учетной записи можно извлечь из выходных данных команды az cosmosdb restorable-database-account list --account-name <accountname> в CLI или командлета Get-AzCosmosDBRestorableDatabaseAccount -DatabaseAccountName <accountname> в PowerShell. Атрибут "Имя" в выходных данных представляет instanceID восстанавливаемой учетной записи.
Разрешения для исходной учетной записи
Для выполнения различных действий, относящихся к восстановлению учетных записей режима непрерывной архивации, требуются следующие разрешения.
Замечание
Разрешение может быть назначено учетной записи базы данных с возможностью восстановления на уровне учетной записи или подписки. Назначение разрешений на уровне области группы ресурсов не поддерживается.
| Разрешение | Impact | Минимальная область | Максимальный охват |
|---|---|---|---|
Microsoft.Resources/deployments/validate/action, Microsoft.Resources/deployments/write |
Эти разрешения необходимы для развертывания шаблона ARM и создания восстановленной учетной записи. Описание того, как задать эту роль, см. в примере разрешения RestorableAction. | Неприменимо | Неприменимо |
Microsoft.DocumentDB/databaseAccounts/write |
Это разрешение требуется для восстановления учетной записи в группе ресурсов. | Группа ресурсов, в которой создана восстановленная учетная запись. | Подписка, в которой создана восстановленная учетная запись |
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action
Вы не можете выбрать группу ресурсов в качестве области разрешений. |
Это разрешение необходимо для области восстановленной исходной учетной записи базы данных, чтобы разрешить выполнение действий по восстановлению. | Ресурс RestorableDatabaseAccount принадлежит к восстановленной исходной учетной записи. Это значение также задается свойством ID ресурса восстановленной учетной записи базы данных. Примером восстановленной учетной записи является /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid> |
Подписка, содержащая восстановленную учетную запись базы данных. |
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read
Вы не можете выбрать группу ресурсов в качестве области разрешений. |
Это разрешение необходимо для области восстановленной исходной учетной записи базы данных, чтобы получить список учетных записей базы данных, которые можно восстановить. | Ресурс RestorableDatabaseAccount принадлежит к восстановленной исходной учетной записи. Это значение также задается свойством ID ресурса восстановленной учетной записи базы данных. Примером восстановленной учетной записи является /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid> |
Подписка, содержащая восстановленную учетную запись базы данных. |
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read
Вы не можете выбрать группу ресурсов в качестве области разрешений. |
Для разрешения чтения восстановимых ресурсов, таких как список баз данных и контейнеров, необходимо это разрешение на уровне области восстановления исходной учетной записи. | Ресурс RestorableDatabaseAccount принадлежит к восстановленной исходной учетной записи. Это значение также задается свойством ID ресурса восстановленной учетной записи базы данных. Примером восстановленной учетной записи является /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid> |
Подписка, содержащая восстановленную учетную запись базы данных. |
Разрешения для целевой учетной записи
Для выполнения различных действий, относящихся к восстановлению учетных записей режима непрерывной архивации, требуются следующие разрешения.
| Разрешение | Impact |
|---|---|
Microsoft.Resources/deployments/validate/action, Microsoft.Resources/deployments/write |
Эти разрешения необходимы для развертывания шаблона ARM и создания восстановленной учетной записи. Описание того, как задать эту роль, см. в примере разрешения RestorableAction. |
Microsoft.DocumentDB/databaseAccounts/write |
Это разрешение требуется для восстановления учетной записи в группе ресурсов. |
Сценарии назначения ролей в Azure CLI для восстановления на разных уровнях управления
Роли с разрешением можно назначить для разных областей, чтобы обеспечить детальный контроль над тем, кто может выполнять операции восстановления в рамках подписки или указанной учетной записи.
Назначьте возможность восстановления из любой учетной записи, доступной для восстановления, в подписке.
- Назначение встроенной
CosmosRestoreOperatorроли определенному уровню подписки
az role assignment create --role "CosmosRestoreOperator" --assignee <email> --scope /subscriptions/<subscriptionId>
Назначение возможности для восстановления из определенной учетной записи
- Назначить действие записи для пользователя на определенную группу ресурсов. Это действие необходимо для создания новой учетной записи в группе ресурсов.
- Назначьте встроенную
CosmosRestoreOperatorроль определенной учетной записи базы данных, которую необходимо восстановить. В следующей команде область для объектаRestorableDatabaseAccountизвлекается изIDсвойства результата выполненияaz cosmosdb restorable-database-account list(если используется CLI) илиGet-AzCosmosDBRestorableDatabaseAccount(если используется PowerShell)
az role assignment create --role "CosmosRestoreOperator" --assignee <email> --scope <RestorableDatabaseAccount>
Назначьте возможность восстановления из любой исходной учетной записи в группе ресурсов.
В настоящее время операция не поддерживается.
Создание настраиваемой роли для восстановления с помощью интерфейса командной строки
Владелец подписки может предоставить разрешение на восстановление любого другого удостоверения Microsoft Entra. Разрешение на восстановление основано на действии: Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action, и его следует включить в разрешение на восстановление. Существует встроенная роль с именем CosmosRestoreOperator, которая включает эту роль. Можно либо назначить разрешение с помощью этой встроенной роли, либо создать настраиваемую роль.
Приведенный ниже параметр RestorableAction представляет настраиваемую роль. Вам необходимо явно создать эту роль. Следующий шаблон JSON создает пользовательскую роль RestorableAction с разрешением на восстановление:
{
"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"
}
Затем используйте следующую команду развертывания шаблона, чтобы создать роль с разрешением на восстановление с помощью шаблона ARM:
az role definition create --role-definition <JSON_Role_Definition_Path>
Дальнейшие действия
- Подготовка непрерывного резервного копирования с помощью портала Azure, PowerShell, CLI или Azure Resource Manager.
- Получите последнюю восстанавливаемую метку времени для учетных записей SQL и MongoDB.
- Восстановите учетную запись с помощью портал Azure, PowerShell, CLI или Azure Resource Manager.
- Переход на учетную запись с периодического резервного копирования на непрерывное.
- Модель ресурсов режима непрерывного резервного копирования