SQL Azure: create a login that has only access to one database | SQL Azure: créer un login qui n’a accès qu’à une base de données

You have a SQL Azure Server. You can access the databases thru the administrator login you specified while creating the SQL Azure Server. On dispose d’un serveur SQL Azure. On peut y accéder avec le compte administrateur qui a été spécifié lors de la création du serveur SQL Azure.
In the SQL Azure server, you have the following databases: - master - DB001 - DB002 Dans le serveur SQL Azure, on dispose des bases suivantes: - master - DB001 - DB002
You would like to create a SQL Azure login that has fully access to DB001 but no access to the other databases. On souhaite créer un compte d’accès à SQL Azure qui est administrateur de la base DB001 mais n’a pas accès aux autres bases.
Here is how to do that. Voici comment procéder.
In the Windows Azure management portal, select the master database and click manage. Dans le portail d’administration de Windows Azure, sélectionner la base master et cliquer sur Manage.

image

connect with the SQL Azure Administrator se connecter avec l’administrateur SQL Azure

image

Create the new login by entering the following statement in a new Query:

create login DB001Admin with password = 'IYtfidgu18'; go

(replace IYtfidgu18 by a password you choose) then click Run
créer le nouveau compte en entrant la requête suivante dans une nouvelle “Query”:

create login DB001Admin with password = 'IYtfidgu18'; go

(remplacer IYtfidgu18 par nun autre mot de passe qu’on choisira) puis cliquer sur Run

image

Close the browser tab and go back to the Windows Azure management portal. Select DB001 database, click manage Fermer l’onglet du navigateur et aller de nouveau dans le portail Windows Azure. Sélectionner la base DB001 et cliquer sur manage.

image

connect with the SQL Azure Server admin login (the same you used to connect to master) and create a new query se connecter avec le compte d’administration du serveur SQL Azure (le même qu’on a utilisé pour se connecter à la base master) pus créer une nouvelle “query”

image

type the following statement:

CREATE USER DB001Admin     FOR LOGIN DB001Admin     WITH DEFAULT_SCHEMA = dbo GO

-- Add user to the database owner role EXEC sp_addrolemember N'db_owner', N'DB001Admin' GO

and Run the query
Taper la requête suivante:

CREATE USER DB001Admin FOR LOGIN DB001Admin WITH DEFAULT_SCHEMA = dbo GO

-- Add user to the database owner role EXEC sp_addrolemember N'db_owner', N'DB001Admin' GO

et cliquer sur Run

image

DB001Admin with a password of IYtfidgu18 (or whatever you chose) is now a valid login for DB001 database, and only that database. DB001Admin avec le mot de passe IYtfidgu18 (ou ce qu’on a choisi à la place) est maintenant un compte valable pour la base DB001, et seulement pour cette base

image

image

 

image

Smile

Benjamin

 

PS: with contained databases, there might also be ways to have database users fully defined in the database, but this is not the case yet in SQL Azure. PS: Avec les bases de données contenues, il pourrait y avoir à l’avenir un compte directement hébergé au niveau de la base elle-même, mais ce n’est pas le cas actuellement dans SQL Azure.