ApsaraDB RDS for SQL Server vous permet de contrôler l'accès aux bases de données pour chaque compte ainsi que les opérations qu'il peut y effectuer. Cette rubrique décrit l'étendue des autorisations pour chaque type de compte et explique comment modifier les autorisations d'un compte standard ou d'un compte privilégié.
La console ApsaraDB RDS accorde des autorisations au niveau de la base de données. Pour attribuer des autorisations sur des objets de base de données spécifiques, tels que des tables, exécutez les instructions SQL requises. Pour plus d'informations, consultez GRANT object permissions (Transact-SQL) .
Quels types de comptes permettent de modifier les autorisations
Le tableau suivant indique les types de comptes dont vous pouvez modifier les autorisations via la console.
| Type de compte | Modifier les autorisations de base de données | Notes |
|---|---|---|
| Compte standard | Pris en charge | — |
| Compte privilégié | Pris en charge | — |
| Compte administrateur système | Non pris en charge | Dispose de toutes les autorisations sur toutes les bases de données par défaut |
| Compte global en lecture seule | Non pris en charge | Dispose d'autorisations en lecture seule sur toutes les bases de données utilisateur par défaut ; les autorisations s'appliquent automatiquement aux nouvelles bases de données |
Autorisations des comptes
Compte administrateur système
Objets autorisés : Toutes les bases de données de l'instance
Autorisations : Toutes les autorisations sur l'instance RDS. Pour plus d'informations, consultez Permissions (Database Engine).
Compte global en lecture seule
Objets autorisés : Toutes les bases de données utilisateur de l'instance
Type d'autorisation : Lecture seule. Les autorisations s'appliquent automatiquement aux nouvelles bases de données créées sur l'instance.
Compte standard et compte privilégié
Objets autorisés : Bases de données autorisées pour le compte.
Par mesure de sécurité, ApsaraDB RDS encapsule certaines autorisations dans des procédures stockées. Pour plus d'informations, consultez Procédures stockées.
Le tableau suivant décrit les trois niveaux d'autorisation disponibles pour les comptes standards et les comptes privilégiés.
| Type d'autorisation | Rôles SQL Server attribués | Actions possibles pour le compte |
|---|---|---|
| Lecture seule | Niveau serveur : public, processadmin, setupadmin ; niveau base de données : public, db_datareader |
Lire les données de toutes les tables et vues utilisateur |
| Lecture/Écriture (DML) | Niveau serveur : public, processadmin, setupadmin ; niveau base de données : public, db_datareader, db_datawriter |
Lire les données et ajouter, mettre à jour ou supprimer des données dans toutes les tables utilisateur |
| Propriétaire | Niveau serveur : public, processadmin, setupadmin ; niveau base de données : public, db_owner |
Effectuer toutes les activités de configuration et de maintenance sur la base de données, notamment la création de tables, de vues, de procédures et de schémas |
Pour obtenir la liste complète des autorisations au niveau du serveur et de la base de données incluses dans chaque niveau, développez les sections ci-dessous.
Pour plus d'informations sur les rôles au niveau de la base de données, consultez Database-level roles.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Une instance ApsaraDB RDS for SQL Server
Un compte standard ou un compte privilégié créé sur l'instance
Modifier les autorisations d'un compte
Accédez à la page Instances. Dans la barre de navigation supérieure, sélectionnez la région où réside l'instance RDS. Localisez ensuite l'instance RDS et cliquez sur son ID.
Dans le volet de navigation de gauche, cliquez sur Accounts.
-
Localisez le compte dont vous souhaitez modifier les autorisations et cliquez sur Change Permissions.

-
Dans le panneau Edit Account Permissions, configurez les autorisations :
Modifier les bases de données autorisées : Sélectionnez les bases de données à autoriser et cliquez sur l'icône
ou
pour déplacer les bases de données entre les listes des bases autorisées et non autorisées.-
Définir le niveau d'autorisation : Dans la section Authorized Databases, sélectionnez un niveau d'autorisation pour chaque base de données :
Read-Only : Attribue le rôle de base de données
db_datareaderRead/Write (DML) : Attribue les rôles de base de données
db_datareaderetdb_datawriterOwner : Attribue le rôle de base de données
db_owner. Le niveau Owner accorde un contrôle étendu sur la base de données, y compris les opérations de langage de définition de données (DDL) telles que la création de tables et de schémas. N'attribuez ce niveau que si le compte nécessite réellement ces capacités.
Cliquez sur OK dans la boîte de dialogue de confirmation.
FAQ
Pourquoi ne puis-je pas créer de table avec un compte disposant d'autorisations Read/Write (DML) ?
Les comptes Read/Write (DML) se voient attribuer les rôles db_datareader et db_datawriter, qui couvrent la manipulation des données (SELECT, INSERT, UPDATE, DELETE) mais pas la définition des données. L'autorisation CREATE TABLE n'est pas incluse.
Pour créer des tables dans la base de données, utilisez l'une des méthodes suivantes :
Méthode 1 : Exécutez les instructions SQL requises. Pour plus d'informations, consultez GRANT Database Permissions (Transact-SQL) et Database-level roles.
Méthode 2 : Connectez-vous à la console ApsaraDB RDS. Sur la page Accounts de votre instance RDS, modifiez le type d'autorisation du compte en Owner. Le type d'autorisation Owner dispose de la plupart des autorisations, y compris la création de tables. Procédez avec prudence.
Si vous devez uniquement accorder l'autorisation CREATE TABLE, utilisez la méthode 1. Cette approche offre un niveau de sécurité supérieur.