Cómo: Definir permisos para objetos de bases de datos

Puede definir los permisos para conceder o revocar el acceso a la base de datos, a objetos de la base de datos e incluso a columnas concretas de una tabla. Para definir estos permisos, debe actualizar el archivo database.sqlpermissions.

Para abrir el archivo database.sqlpermissions

  1. En Visual Studio, abra la solución que contiene el proyecto de base de datos en el que desea definir los permisos.

  2. En el Explorador de soluciones, expanda el nodo del proyecto de base de datos, expanda el nodo Properties y haga doble clic en Database.sqlpermissions.

Conceder o revocar permisos

Puede conceder o revocar permisos en tres niveles de granularidad:

  • Nivel de la base de datos   Se conceden o se revocan los permisos de este nivel para restringir el acceso a operaciones como CREATE TABLE.

  • Nivel de objetos de base de datos   Se conceden o se revocan los permisos en este nivel para restringir tipos de acceso a objetos de la base de datos concretos, como las tablas.

  • Nivel de columna de tabla   Se conceden o se revocan los permisos en este nivel para restringir los tipos de acceso a columnas concretas de una tabla.

Para conceder permisos en el nivel de la base de datos

  1. Abra el archivo database.sqlpermissions.

  2. Antes de cerrar la etiqueta </Permissions>, agregue el XML siguiente:

    <PermissionStatement Action="GRANT">
        <Permission>Operation</Permission>
        <Grantee>Username</Grantee>
    </PermissionsStatement>
    

    Reemplace Operation con la operación para la que desee conceder permiso. Por ejemplo, para conceder el permiso de crear tablas, especifique CREATE TABLE.

    Reemplace Username con el nombre del usuario a quien desee conceder este permiso.

  3. Guarde y cierre el archivo database.sqlpermissions.

Para revocar los permisos de base de datos

  1. Abra el archivo database.sqlpermissions.

  2. Antes de cerrar la etiqueta </Permissions>, agregue el XML siguiente:

    <PermissionStatement Action="REVOKE">
        <Permission>Operation</Permission>
        <Grantee>Username</Grantee>
    </PermissionsStatement>
    

    Reemplace Operation con la operación para la que desee revocar el permiso. Por ejemplo, para revocar el permiso de crear tablas, especifique CREATE TABLE.

    Reemplace Username con el nombre del usuario a quien desee revocar este permiso.

  3. Guarde y cierre el archivo database.sqlpermissions.

Para conceder permisos en un objeto de la base de datos

  1. Abra el archivo database.sqlpermissions.

  2. Antes de cerrar la etiqueta </Permissions>, agregue el XML siguiente:

    <PermissionStatement Action="GRANT">
        <Permission>Operation</Permission>
        <Grantee>Username</Grantee>
        <Object Name="ObjectName" Schema="SchemaName" Type="OBJECT"/>
    </PermissionsStatement>
    

    Reemplace Operation con la operación para la que desee conceder permiso. Por ejemplo, para conceder el permiso para seleccionar datos en una tabla, especifique SELECT.

    Reemplace Username con el nombre del usuario a quien desee conceder este permiso.

    Reemplace ObjectName con el objeto al que desea conceder el permiso.

    Reemplace SchemaName con el esquema en el que está contenido el objeto.

  3. Guarde y cierre el archivo database.sqlpermissions.

Para revocar los permisos en un objeto de la base de datos

  1. Abra el archivo database.sqlpermissions.

  2. Antes de cerrar la etiqueta </Permissions>, agregue el XML siguiente:

    <PermissionStatement Action="REVOKE">
        <Permission>Operation</Permission>
        <Grantee>Username</Grantee>
        <Object Name="ObjectName" Schema="SchemaName" Type="OBJECT"/>
    </PermissionsStatement>
    

    Reemplace Operation con la operación para la que desee conceder permiso. Por ejemplo, para conceder el permiso para seleccionar datos en una tabla, especifique SELECT.

    Reemplace Username con el nombre del usuario a quien desee conceder este permiso.

    Reemplace ObjectName con el objeto al que desea conceder el permiso.

    Reemplace SchemaName con el esquema en el que está contenido el objeto.

  3. Guarde y cierre el archivo database.sqlpermissions.

Para conceder los permisos en una columna

  1. Abra el archivo database.sqlpermissions.

  2. Antes de cerrar la etiqueta </Permissions>, agregue el XML siguiente:

    <PermissionStatement Action="GRANT">
        <Permission>Operation</Permission>
        <Grantee>Username</Grantee>
              <Object Name ="TableName" Schema ="SchemaName" Type ="OBJECT">
                <Columns Treatment ="INCLUDE">
                  <Column Name="ColumnName"/>
                </Columns>
              </Object>
    </PermissionsStatement>
    

    Reemplace Operation con la operación para la que desee conceder permiso. Por ejemplo, para conceder el permiso de crear tablas, especifique CREATE TABLE.

    Reemplace Username con el nombre del usuario a quien desee conceder este permiso.

    Reemplace TableName con el objeto al que desea conceder el permiso.

    Reemplace SchemaName con el esquema en el que está contenido el objeto.

    Reemplace ColumnName con el nombre de la columna a la que desea aplicar los permisos. Puede especificar múltiples entradas <Column> para aplicar los permisos a varias columnas.

  3. Guarde y cierre el archivo database.sqlpermissions.

Para revocar los permisos en una columna

  1. Abra el archivo database.sqlpermissions.

  2. Antes de cerrar la etiqueta </Permissions>, agregue el XML siguiente:

    <PermissionStatement Action="REVOKE">
        <Permission>Operation</Permission>
        <Grantee>Username</Grantee>
              <Object Name ="TableName" Schema ="SchemaName" Type ="OBJECT">
                <Columns Treatment ="INCLUDE">
                  <Column Name="ColumnName"/>
                </Columns>
              </Object>
    </PermissionsStatement>
    

    Reemplace Operation con la operación para la que desee conceder permiso. Por ejemplo, para conceder el permiso de crear tablas, especifique CREATE TABLE.

    Reemplace Username con el nombre del usuario a quien desee conceder este permiso.

    Reemplace TableName con el objeto al que desea conceder el permiso.

    Reemplace SchemaName con el esquema en el que está contenido el objeto.

    Reemplace ColumnName con el nombre de la columna a la que desea aplicar los permisos. Puede especificar múltiples entradas <Column> para aplicar los permisos a varias columnas.

  3. Guarde y cierre el archivo database.sqlpermissions.

Vea también

Tareas

Cómo: Crear un objeto de base de datos

Cómo: Modificar objetos de base de datos

Conceptos

Crear y modificar objetos de servidor y base de datos