标签: role

用于创建表的 SQL Server 数据库级角色

有没有办法创建或更改用于创建表的特殊角色?我们的软件开发团队db_datareader和db_datawriter角色,但他们不能创建新表。

我阅读了与数据库级角色相关的这篇文章。我不想授予db_ddladmin角色,因为此角色的权限太多。

所以我的问题是如何为数据库提供创建和删除表的权限?视图、过程和函数也可以。我所需要的只是我不想授予与安全、登录或备份操作相关的权限。

sql-server permissions role

4
推荐指数
1
解决办法
1万
查看次数

如何防止 sysadmin 服务器角色执行存储过程

我有一个使用 SQL Server 身份验证的 SQL Server 默认实例和两个用户 User1 和 User2。

User1 具有公共服务器角色,而 User2 具有公共服务器角色 + sysadmin 服务器角色。

我创建了一个数据库 sptest1。在该数据库中,我创建了一个存储过程,sp_viewtbl并创建了一个架构。使用模式我已禁用为 User1 执行存储过程并且它可以工作。

如何拒绝具有 sysadmin 服务器角色的 User2 执行存储过程?

假设我创建了 User3 并授予了 sysadmin 和 public 权限。那么如何防止新用户执行相同的存储过程呢?sp_viewtbl即使他们具有系统管理员权限,我也必须防止其他人登录。

sql-server permissions role sql-server-2012

4
推荐指数
1
解决办法
685
查看次数

通过 Oracle 12c 中的角色授予用户权限的问题

我开始学习 Oracle 12c,所以请原谅我用的不好的术语。我编写了这个基本脚本来设置用户和权限:

CREATE USER wertyq_db_usr IDENTIFIED BY justatest ACCOUNT UNLOCK DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" PROFILE "DEFAULT";
ALTER USER wertyq_db_usr QUOTA 100M ON USERS;
GRANT RESOURCE, CONNECT TO wertyq_db_usr;
GRANT EXECUTE ON CTX_DDL TO wertyq_db_usr;
GRANT EXECUTE ON "CTXSYS"."CTX_DDL" TO wertyq_db_usr;
GRANT UNLIMITED TABLESPACE TO wertyq_db_usr;
CREATE ROLE wertyq_usr_role;
GRANT CREATE PROCEDURE TO wertyq_usr_role;
GRANT CREATE TRIGGER TO wertyq_usr_role;
GRANT CREATE SESSION TO wertyq_usr_role;
GRANT CREATE VIEW TO wertyq_usr_role;
GRANT wertyq_usr_role TO wertyq_db_usr;
Run Code Online (Sandbox Code Playgroud)

目标是创建用户和角色,然后为角色授予权限,然后将角色分配给用户,以便用户继承权限。我还应该提到我可以以SYSTEM用户身份连接到数据库。

但是,我也在使用一个第三方应用程序,它应该使用上面创建的这个用户连接到我的 Oracle …

oracle permissions role oracle-12c

3
推荐指数
1
解决办法
6304
查看次数

如何确定需要为新创建的登录分配哪些权限?

我们有 4 个包含不同程序和功能的数据库。到目前为止,实际应用程序只能使用 sa 帐户访问数据库,现在我想将应用程序更改为使用 sa 帐户以外的其他帐户。为此,我需要创建一个新的 SQL 登录名并为该登录名分配某些权限。有没有类似脚本的方法来确定我需要为新创建的用户分配什么权限?

stored-procedures permissions role functions sql-server-2014

3
推荐指数
1
解决办法
63
查看次数

在 postgres 服务器上恢复超级用户帐户

我对 postgres dbms 有一个完全好奇的情况。我已经安装了数据库,由于我的安装脚本配置错误,我将超级用户角色设置为普通用户。现在我有一个完全全新的 postgres 安装,只有模板数据库和一个几乎什么都不做的单个用户“postgres”。我怎样才能让 postgres 用户再次成为超级用户?

我尝试在 ubuntu 12.04 下重新安装服务器,aptitude reinstall postgresql-9.1但角色似乎不受影响。很可能是因为重新安装不会影响记录角色的文件。

postgresql role

2
推荐指数
1
解决办法
4715
查看次数

Oracle:有没有办法授予角色运行作业的能力?

我们在 11.2 数据库中有几个 dbms_scheduler 作业,我们希望具有特定角色的用户能够运行这些作业。因此,我们不想将直接运行的能力授予用户,因为它会更难以维护。

根据 Oracle 的文档,授予ALTER JOB用户权限将允许他们运行作业。不幸的是,这似乎并没有扩展到角色:我可以GRANT很好地运行该语句,并且该作业向ALL_SCHEDULER_JOBS用户显示,但尝试运行该作业会导致以下错误:

ORA-27476: "S1.J1" does not exist
ORA-06512: at "SYS.DBMS_ISCHED", line 185
ORA-06512: at "SYS.DBMS_SCHEDULER", line 486
ORA-06512: at line 1
Run Code Online (Sandbox Code Playgroud)

鉴于 DBMS_SCHEDULER 是 AUTHID USER,但 DBMS_ISCHED 是 AUTHID DEFINER,我是不是运气不好?或者有什么方法可以将它授予角色而不是用户?

oracle role jobs

2
推荐指数
1
解决办法
6184
查看次数

如何区分单个数据库中的系统和用户定义的角色?

有没有办法区分系统角色/用户和用户定义的角色/用户?作为系统角色/用户,我了解在创建数据库时隐式安装/分配的角色/用户。作为用户定义的角色/用户,我理解之后“手动”创建的角色/用户。

我发现的唯一方法是查看结果

select * from sys.database_principals order by create_date, is_fixed_role desc
Run Code Online (Sandbox Code Playgroud)

或者通过将结果与新创建的数据库进行比较。还有其他方法吗?

sql-server-2008 role users

2
推荐指数
1
解决办法
415
查看次数

删除默认的“postgres”角色是否安全?

我试图了解我是否可以删除“postgres”角色,或者至少将其作为超级用户删除。谢谢!

postgresql role

2
推荐指数
1
解决办法
551
查看次数

如何强制系统管理员将数据存储在 dbo 以外的模式中?

我正在使用 GUI 工具在我的 SQL Server 2016 数据库中上传数据。用于上述任务的用户已被授予 sysadmin 权限,我创建了一个专用架构来存储上述数据。这个架构是拥有的,默认为上述用户。问题是,当我上传数据时,它存储在 dbo 模式而不是专用模式中,我无法从该用户那里撤销 sysadmin priv。

请让我知道如何在不撤销 sysadmin priv 的情况下将数据上传到这个专用模式?

谢谢

schema security sql-server role t-sql

2
推荐指数
1
解决办法
477
查看次数

授予用户还原数据库的权限

在数据库中,我创建了一个具有以下角色的用户:

服务器角色

  • 民众

数据库角色

  • db_backupoperator
  • db_ddladmin
  • db_datareader
  • db_datawriter

问题是我不想更改用户的角色,但我想授予恢复数据库的权限。

是否有解决方法只授予还原权限但不删除或更改数据库?

背景资料:

我工作的公司创建了一个应用程序,他们希望该应用程序的用户有权备份和恢复数据库,但不能创建另一个数据库或删除现有数据库。而且,他们不希望有另一个具有 角色的用户db_owner,这将允许客户随心所欲地操纵事物。

该应用程序的价格取决于客户拥有的员工人数,因此在客户端安装该应用程序时,他们使用一个文件来创建一个数据库,在其中指定所有详细信息(包括员工人数),但他们担心有人可能会多次更改文件并添加数据库,因此他们希望通过不授予任何用户执行任何操作的权限来保护实例。这很复杂,但这正是他们想要的。

sql-server permissions role restore sql-server-2019

2
推荐指数
1
解决办法
1399
查看次数