Gérer les autorisations de restauration d’un compte Azure Cosmos DB
S’APPLIQUE À : NoSQL MongoDB Gremlin Table
Azure Cosmos DB vous permet d’isoler et de restreindre les autorisations de restauration pour le compte de sauvegarde continue à un rôle ou à un principal spécifique. Ces autorisations peuvent être appliquées au niveau de l’étendue de l’abonnement ou plus précisément au niveau de l’étendue du compte source, comme illustré dans l’image suivante :
L’étendue est un ensemble de ressources ayant accès. Pour en savoir plus sur les étendues, consultez la documentation d’Azure RBAC. Dans Azure Cosmos DB, les étendues applicables sont l’abonnement source et le compte de base de données pour la plupart des cas d’usage. Le principal effectuant les actions de restauration doit disposer d’autorisations en écriture sur le groupe de ressources de destination.
Attribuer des rôles pour la restauration à l’aide du portail Azure
Pour effectuer une restauration, un utilisateur ou un principal doit avoir l’autorisation de restaurer (qui est l’autorisation restore/action) et l’autorisation de provisionner un nouveau compte (qui est l’autorisation write). Pour accorder ces autorisations, le propriétaire de l’abonnement peut attribuer les rôles intégrés CosmosRestoreOperator
et Cosmos DB Operator
à un principal.
Connectez-vous au portail Azure et accédez à votre abonnement. Le rôle
CosmosRestoreOperator
est disponible au niveau de l’abonnement.Sélectionnez Contrôle d’accès (IAM) .
Sélectionnez Ajouter>Ajouter une attribution de rôle pour ouvrir la page Ajouter une attribution de rôle.
Attribuez le rôle suivant. Pour connaître les étapes détaillées, consultez Attribuer des rôles Azure à l’aide du portail Azure.
Paramètre Valeur Role CosmosRestoreOperator Attribuer l’accès à Utilisateur, groupe ou principal de service Membres <Utilisateur de votre choix> Répétez l’étape 4 avec le rôle Opérateur Cosmos DB pour accorder l’autorisation en écriture. Lorsque vous attribuez ce rôle à partir du portail Azure, il accorde l’autorisation de restauration à l’intégralité de l’abonnement.
Étendues d’autorisation
Étendue | Exemple |
---|---|
Abonnement | /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e |
Resource group | /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/Example-cosmosdb-rg |
Ressource de compte restaurable CosmosDB | /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e |
La ressource de compte restaurable peut être extraite de la sortie de la commande az cosmosdb restorable-database-account list --account-name <accountname>
dans l’interface CLI ou de la cmdlet Get-AzCosmosDBRestorableDatabaseAccount -DatabaseAccountName <accountname>
dans PowerShell. L’attribut « name » dans la sortie représente l’instanceID
du compte restaurable.
Autorisations sur le compte source
Les autorisations suivantes sont requises pour effectuer les différentes activités relatives à la restauration des comptes en mode de sauvegarde continue :
Notes
L’autorisation peut être affectée à un compte de base de données pouvant être restauré au niveau de l’étendue du compte ou de l’abonnement. L’attribution d’autorisations au niveau de l’étendue du groupe de ressources n’est pas prise en charge.
Autorisation | Impact | Étendue minimale | Étendue maximale |
---|---|---|---|
Microsoft.Resources/deployments/validate/action , Microsoft.Resources/deployments/write |
Ces autorisations sont requises pour le déploiement du modèle ARM afin de créer le compte restauré. Consultez l’exemple d’autorisation RestorableAction ci-dessous pour savoir comment définir ce rôle. | Non applicable | Non applicable |
Microsoft.DocumentDB/databaseAccounts/write |
Cette autorisation est requise pour restaurer un compte dans un groupe de ressources. | Groupe de ressources sous lequel le compte restauré est créé. | Abonnement sous lequel le compte restauré est créé. |
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action Vous ne pouvez pas choisir le groupe de ressources comme étendue d’autorisation. |
Cette autorisation est requise sur l’étendue du compte de base de données restaurable source pour permettre l’exécution d’actions de restauration sur celle-ci. | Ressource RestorableDatabaseAccount appartenant au compte source en cours de restauration. Cette valeur est également fournie par la propriété ID de la ressource de compte de base de données restaurable. Un exemple de compte pouvant être restauré est /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid>. |
Abonnement contenant le compte de base de données restaurable. |
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read Vous ne pouvez pas choisir le groupe de ressources comme étendue d’autorisation. |
Cette autorisation est requise sur l’étendue du compte de base de données restaurable source pour répertorier les comptes de base de données qui peuvent être restaurés. | Ressource RestorableDatabaseAccount appartenant au compte source en cours de restauration. Cette valeur est également fournie par la propriété ID de la ressource de compte de base de données restaurable. Un exemple de compte pouvant être restauré est /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid>. |
Abonnement contenant le compte de base de données restaurable. |
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read Vous ne pouvez pas choisir le groupe de ressources comme étendue d’autorisation. |
Cette autorisation est requise sur l’étendue du compte restaurable source pour permettre la lecture des ressources restaurables telles que la liste des bases de données et des conteneurs pour un compte restaurable. | Ressource RestorableDatabaseAccount appartenant au compte source en cours de restauration. Cette valeur est également fournie par la propriété ID de la ressource de compte de base de données restaurable. Un exemple de compte pouvant être restauré est /subscriptions/subscriptionId/providers/Microsoft.DocumentDB/locations/regionName/restorableDatabaseAccounts/<guid-instanceid>. |
Abonnement contenant le compte de base de données restaurable. |
Autorisations sur le compte de destination
Les autorisations suivantes sont requises pour effectuer les différentes activités relatives à la restauration des comptes en mode de sauvegarde continue :
Autorisation | Impact |
---|---|
Microsoft.Resources/deployments/validate/action , Microsoft.Resources/deployments/write |
Ces autorisations sont requises pour le déploiement du modèle ARM afin de créer le compte restauré. Consultez l’exemple d’autorisation RestorableAction ci-dessous pour savoir comment définir ce rôle. |
Microsoft.DocumentDB/databaseAccounts/write |
Cette autorisation est requise pour restaurer un compte dans un groupe de ressources. |
Scénarios d’attribution de rôle Azure CLI pour restaurer dans différentes étendues
Les rôles avec autorisation peuvent être attribués à différentes étendues afin d’obtenir un contrôle granulaire sur les personnes autorisées à effectuer l’opération de restauration au sein d’un abonnement ou d’un compte donné.
Attribuer la capacité de restauration à partir d’un compte restaurable dans un abonnement
- Affecter le rôle intégré
CosmosRestoreOperator
au niveau spécifique de l’abonnement
az role assignment create --role "CosmosRestoreOperator" --assignee <email> --scope /subscriptions/<subscriptionId>
Attribuer la capacité de restauration à partir d’un compte spécifique
- Attribuez une action d’écriture utilisateur sur le groupe de ressources spécifique. Cette action est nécessaire pour créer un nouveau compte dans le groupe de ressources.
- Attribuez le rôle intégré
CosmosRestoreOperator
au compte de base de données restaurable spécifique qui doit être restauré. Dans la commande suivante, l’étendue duRestorableDatabaseAccount
est extraite de laID
propriété de résultat de l’exécution deaz cosmosdb restorable-database-account list
(si vous utilisez l’interface CLI) ouGet-AzCosmosDBRestorableDatabaseAccount
(si vous utilisez PowerShell)
az role assignment create --role "CosmosRestoreOperator" --assignee <email> --scope <RestorableDatabaseAccount>
Attribuer la capacité de restauration à partir d’un compte source dans un groupe de ressources
Cette opération n’est pas prise en charge actuellement.
Création d’un rôle personnalisé pour l’action de restauration à l’aide de l’interface CLI
Le propriétaire de l’abonnement peut fournir l’autorisation de restauration à n’importe quelle autre identité Microsoft Entra. L’autorisation de restauration est basée sur l’action Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action
et doit être incluse dans son autorisation de restauration. Un rôle intégré appelé CosmosRestoreOperator est inclus dans ce rôle. Vous pouvez soit attribuer l’autorisation à l’aide de ce rôle intégré, soit créer un rôle personnalisé.
RestorableAction ci-dessous représente un rôle personnalisé. Vous devez créer explicitement ce rôle. Le modèle JSON suivant crée un rôle personnalisé RestorableAction avec autorisation de restauration :
{
"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"
}
Utilisez ensuite la commande de déploiement de modèle suivante pour créer un rôle avec autorisation de restauration à l’aide du modèle ARM :
az role definition create --role-definition <JSON_Role_Definition_Path>
Étapes suivantes
- Provisionnez la sauvegarde continue avec le Portail Microsoft Azure, PowerShell, l’interface CLI ou Azure Resource Manager.
- Obtenir les derniers timestamps restaurables pour les comptes SQL et MongoDB.
- Restaurez un compte à l’aide du portail Azure, de PowerShell, de l’interface CLI ou d’Azure Resource Manager.
- Migrer vers un compte à partir d’une sauvegarde périodique vers une sauvegarde continue.
- Modèle de ressource du mode de sauvegarde continue.