Exportar (0) Imprimir
Expandir todo

Administrar bases de datos e inicios de sesión en Base de datos SQL de Azure

Actualizado: febrero de 2014

En Microsoft Base de datos SQL de Microsoft Azure, al suscribirse al servicio, el proceso de aprovisionamiento crea un servidor Base de datos SQL de Azure, una base de datos denominada master y un inicio de sesión que es la entidad de seguridad a nivel de servidor de su servidor Base de datos SQL de Azure. Ese inicio de sesión es similar a la entidad de seguridad de servidor, sa, de una instancia de SQL Server local.

La cuenta de entidad de seguridad a nivel de servidor de Base de datos SQL de Azure siempre tiene permiso para administrar toda la seguridad a nivel de servidor y de base de datos. En este tema se describe cómo puede utilizar la entidad de seguridad a nivel de servidor y otras cuentas para administrar inicios de sesión y bases de datos en Base de datos SQL de Microsoft Azure.  

La administración de la seguridad en Base de datos SQL de Microsoft Azure es similar a la administración de la seguridad en una instancia de SQL Server local. La administración de la seguridad a nivel de base de datos es casi idéntica, con algunas diferencias únicamente en los parámetros disponibles. Puesto que las Base de datos SQL de Azure pueden escalarse a uno o más equipos físicos, Base de datos SQL de Microsoft Azure utiliza una estrategia diferente para la administración a nivel de servidor. En la tabla siguiente se resumen las diferencias entre la administración de la seguridad en SQL Server local y en Base de datos SQL de Microsoft Azure.

 

Diferencia SQL Server local Base de datos SQL de Microsoft Azure

Dónde se administra la seguridad a nivel de servidor

Carpeta Seguridad del Explorador de objetos de SQL Server Management Studio

La base de datos master

Rol de seguridad a nivel de servidor para crear inicios de sesión

Rol fijo de servidor securityadmin

Para obtener más información, vea Roles de nivel servidor

Rol de base de datos loginmanager en la base de datos maestra

Comandos para administrar inicios de sesión

CREATE LOGIN

ALTER LOGIN

DROP LOGIN

CREATE LOGIN

ALTER LOGIN

DROP LOGIN

(Hay algunas limitaciones en los parámetros y debe estar conectado a la base de datos master)

Vista que muestra todos los inicios de sesión

sys.syslogins (sys.sql_logins para los inicios de sesión de autenticación SQL Server)

sys.sql_logins

(Debe estar conectado a la base de datos master)

Rol a nivel de servidor para crear bases de datos

Rol fijo de base de datos dbcreator

Para obtener más información, vea Roles de nivel servidor

Rol de base de datos dbmanager en la base de datos maestra

Comando para crear una base de datos

CREATE DATABASE

CREATE DATABASE

(Hay algunas limitaciones en los parámetros y debe estar conectado a la base de datos master)

Quitar bases de datos

DROP DATABASE

DROP DATABASE

Si un usuario está en el rol dbmanager, tienen permiso para quitar (DROP) cualquier base de datos, independientemente de qué usuario la creara originalmente.

Vista que muestra todas las bases de datos

sys.databases

(vista)

sys.databases

(Debe estar conectado a la base de datos master)

Su servidor Base de datos SQL de Azure es una abstracción que define una agrupación de bases de datos. Las bases de datos asociadas a su servidor Base de datos SQL de Azure pueden residir en equipos físicos diferentes del centro de datos de Microsoft. Realice la administración a nivel de servidor de todos ellos usando una única base de datos denominada master.

La base de datos master realiza un seguimiento de los inicios de sesión y de qué inicios de sesión tienen permiso para crear bases de datos u otros inicios de sesión. Debe estar conectado a la base de datos master siempre que utilice CREATE, ALTER o DROP para crear, modificar o quitar inicios de sesión o bases de datos, respectivamente. La base de datos maestra (master) también tiene las vistas sys.sql_logins y sys.databases, que puede utilizar para ver inicios de sesión y bases de datos, respectivamente.

noteNota
No se admite el comando USE para la conmutación entre las bases de datos. Establezca una conexión directamente con la base de datos de destino.

Puede administrar la seguridad a nivel de base de datos para los usuarios y objetos en Base de datos SQL de Microsoft Azure de la misma manera que en una instancia local de SQL Server. Solo hay diferencias en cuanto a los parámetros disponibles en los comandos correspondientes. Para obtener más información, vea Referencia de Transact-SQL (Transact-SQL)).

Para administrar inicios de sesión con el inicio de sesión de entidad de seguridad a nivel de servidor, conéctese a la base de datos master. Puede utilizar las instrucciones CREATE LOGIN, ALTER LOGIN o DROP LOGIN. En el ejemplo siguiente se crea un inicio de sesión denominado login1:

-- first, connect to the master database
CREATE LOGIN login1 WITH password='<ProvidePassword>';
noteNota
Debe utilizar una contraseña segura al crear un inicio de sesión. Para obtener más información, vea Contraseñas seguras.

Para conectarse a Base de datos SQL de Microsoft Azure utilizando los inicios de sesión que crea, primero debe conceder permisos a nivel de base de datos a cada inicio de sesión mediante el comando CREATE USER. Vea Conceder permisos de nivel de base de datos a un inicio de sesión para obtener más información.

Puesto que algunas herramientas implementan el flujo TDS de manera diferente, quizás tenga que anexar el nombre del servidor Base de datos SQL de Azure al inicio de sesión en la cadena de conexión usando la notación <login>@<server>. En estos casos, separe el inicio de sesión y el nombre del servidor Base de datos SQL de Azure con el símbolo @. Por ejemplo, si el inicio de sesión se denomina login1 y el nombre completo del servidor Base de datos SQL de Azure es servername.database.windows.net, el parámetro de nombre de usuario de la cadena de conexión debe ser: login1@servername. Esta restricción impone algunas limitaciones sobre el texto que puede elegir para el nombre de inicio de sesión. Para obtener más información, vea CREATE LOGIN (Transact-SQL).

Para que los inicios de sesión distintos de la entidad de seguridad de servidor administren la seguridad de servidor, Base de datos SQL de Microsoft Azure ofrece dos roles de seguridad: loginmanager, para crear inicios de sesión y dbmanager para crear bases de datos. Solo los usuarios de la base de datos master pueden agregarse a estos roles de base de datos.

noteNota
Para crear inicios de sesión o bases de datos, debe estar conectado a la base de datos master (que es una representación lógica de master).

Al igual que el rol de servidor fijo securityadmin para una instancia local de SQL Server, el rol de base de datos loginmanager en Base de datos SQL de Microsoft Azure tiene permiso para crear inicios de sesión. Solo el inicio de sesión principal del nivel servidor (creado en el proceso de aprovisionamiento) o los miembros del rol de base de datos loginmanager pueden crear nuevos inicios de sesión.

El rol de base de datos Base de datos SQL de Microsoft Azure dbmanager es similar al rol fijo de servidor dbcreator para una instancia local de SQL Server. Solo el inicio de sesión principal del nivel servidor (creado en el proceso de aprovisionamiento) o los miembros del rol de base de datos dbmanager pueden crear bases de datos. Cuando un usuario es miembro del rol de base de datos dbmanager, puede crear una base de datos con el comando CREATE DATABASE de Base de datos SQL de Azure, pero ese comando debe ejecutarse en la base de datos master. Para obtener más información, vea CREATE DATABASE (Transact-SQL).

Para crear un inicio de sesión y un usuario asociado que pueda crear bases de datos u otros inicios de sesión, realice los pasos siguientes:

  1. Conéctese a la base de datos maestra master usando las credenciales del inicio de sesión principal del nivel servidor (creado en el proceso de aprovisionamiento) o las credenciales de un miembro existente del rol de base de datos loginmanager.

  2. Cree un inicio de sesión con el comando CREATE LOGIN. Para obtener más información, vea CREATE LOGIN (Transact-SQL).

  3. Cree un nuevo usuario para ese inicio de sesión en la base de datos master usando el comando CREATE USER. Para obtener más información, vea CREATE USER (Transact-SQL).

  4. Use el procedimiento almacenado sp_addrolememeber para agregar un usuario nuevo al rol de base de datos dbmanager, al rol de base de datos loginmanager o a ambos.

En el ejemplo de código siguiente se muestra cómo crear un inicio de sesión, login1, y un usuario de base de datos correspondiente denominado login1User que pueda crear bases de datos u otros inicios de sesión mientras está conectado a la base de datos master:

-- first, connect to the master database
CREATE LOGIN login1 WITH password='<ProvidePassword>';
CREATE USER login1User FROM LOGIN login1;
EXEC sp_addrolemember 'dbmanager', 'login1User';
EXEC sp_addrolemember 'loginmanager', 'login1User';
noteNota
Debe utilizar una contraseña segura al crear un inicio de sesión. Para obtener más información, vea Contraseñas seguras.

Todos los inicios de sesión se deben crear en la base de datos master. Una vez creado un inicio de sesión, puede crear una cuenta de usuario en otra base de datos para ese inicio de sesión. Base de datos SQL de Microsoft Azure también admite roles de base de datos igual que una instancia local de SQL Server.

Para crear una cuenta de usuario en otra base de datos, suponiendo que no haya creado un inicio de sesión o una base de datos, siga estos pasos:

  1. Conéctese a la base de datos master (con un inicio de sesión que tenga los roles loginmanager y dbmanager).

  2. Cree un nuevo inicio de sesión con el comando CREATE LOGIN. Para obtener más información, vea CREATE LOGIN (Transact-SQL). No se admite la autenticación de Windows.

  3. Cree una nueva base de datos mediante el comando CREATE DATABASE. Para obtener más información, vea CREATE DATABASE (Transact-SQL).

  4. Establezca una conexión con la nueva base de datos (con el inicio de sesión que creó la base de datos).

  5. Cree un nuevo usuario en la nueva base de datos usando el comando CREATE USER. Para obtener más información, vea CREATE USER (Transact-SQL).

En el ejemplo de código siguiente se muestra cómo crear un inicio de sesión denominado login1 y una base de datos denominada database1:

-- first, connect to the master database
CREATE LOGIN login1 WITH password='<ProvidePassword>';
CREATE DATABASE database1;
noteNota
Debe utilizar una contraseña segura al crear un inicio de sesión. Para obtener más información, vea Contraseñas seguras.

En el ejemplo siguiente se muestra cómo crear a un usuario de base de datos denominado login1User en la base de datos database1 correspondiente al inicio de sesión login1:

-- Establish a new connection to the database1 database
CREATE USER login1User FROM LOGIN login1;

Este modelo de permisos a nivel de base de datos de Base de datos SQL de Microsoft Azure es el mismo que en una instancia local de SQL Server. Para obtener información, vea los temas siguientes en los Libros en pantalla de SQL Server.

Identidad y control de acceso (motor de base de datos)

Temas de procedimientos de la administración de inicios de sesión, usuarios y esquemas

Lección 2: Configurar permisos en objetos de base de datos

noteNota
Las instrucciones de Transact-SQL relacionadas con la seguridad en Base de datos SQL de Microsoft Azure pueden diferir ligeramente en los parámetros que hay disponibles. Para obtener más información, vea Referencia de Transact-SQL de Base de datos SQL de Azure.

Para ver los inicios de sesión y las bases de datos de su servidor Base de datos SQL de Azure, utilice las vistas sys.sql_logins y sys.databases de la base de datos master, respectivamente. En el ejemplo siguiente se muestra cómo ver una lista de todos los inicios de sesión y las bases de datos de su servidor Base de datos SQL de Azure.

-- first, connect to the master database
SELECT * FROM sys.sql_logins;
SELECT * FROM sys.databases; 

Vea también

Mostrar:
© 2014 Microsoft