标签: role

PostgreSQL - 谁或什么是“PUBLIC”角色?

information_schema.role_table_grants当我publicgrantee专栏中看到时我正在看,然后我检查了information_schema.enabled_roles但是这个role_name不存在。

=> 谁或什么public角色?

postgresql role metadata

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

将 SELECT 授予用户和将他们添加到 db_datareader 角色之间有区别吗?

我被要求为数据库中的所有表授予SELECT,INSERTUPDATE给定用户。我最终将用户添加到db_datareader,并给予他们INSERTUPDATE在数据库级别。

但这让我想到,SELECT在数据库级别授予用户权限或将它们添加到db_datareader角色之间有什么区别(如果有)?是否有任何一种或另一种最佳实践?

security sql-server permissions role

10
推荐指数
1
解决办法
9069
查看次数

将 Oracle 角色映射到 Active Directory 组?

是否有任何内置方法将 Oracle 数据库角色映射到 Microsoft Active Directory 组?

oracle security role

9
推荐指数
1
解决办法
1949
查看次数

创建数据库角色以允许对所有表进行读访问;写访问一些

我们有一个包含 1000 多个表的数据库。我需要创建一个角色,该角色允许对所有表进行只读访问,以及对两个特定表的写访问权限。

我一直在处理数据库角色,但是每当我添加表时,我都必须手动选择所有 1000 个……有没有更好的方法来做到这一点?

security role sql-server-2012

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

我想在不切换数据库的情况下将用户/登录名添加到另一个数据库中的角色

我有一个“新”的数据库角色/登录mynewdb与角色"emailsender"。我已经编写了一个配置文件,sp_send_dbmail现在正在尝试编写将登录名添加到DatabaseMailUserRolein 的脚本,msdb并且似乎在绕圈子。重要的是,我想在mynewdb. 我知道我可以SSMS用来做到这一点。问题是:

如何编写脚本将用户T-SQLmynewdb数据库添加到角色中而不切换到msdb

sql-server role t-sql

9
推荐指数
1
解决办法
137
查看次数

postgres:如何允许同一用户创建索引但不允许表更改或表删除?

我正在设置一个 postgres 服务器,它将是一个(主要是)只读工作负载。

我想允许我自己和同事按照我们认为合适的方式创建/删除索引,而不允许我们删除表或改变表。

我花了一些时间阅读授权/撤销文档以及角色文档页面,但似乎表所有者角色获得了这两种权力。

我发现的一件事是,据说,在表空间上授予创建允许创建索引,但它不起作用(注意,我没有创建任何其他表空间)。

具体来说,我试过:

mydb=# grant create on tablespace pg_default to bob;
GRANT
Run Code Online (Sandbox Code Playgroud)

...然后切换到鲍勃:

mydb=> create index on foo(a);
ERROR:  must be owner of relation foo
Run Code Online (Sandbox Code Playgroud)

我也尝试让 bob 成为所有者,但是 bob 获得了删除表的权利,而且似乎无法撤销该特权。所以我要么两者兼而有之,要么什么都不做。

有任何想法吗?

postgresql permissions role

9
推荐指数
1
解决办法
4711
查看次数

PostgreSQL,显示角色成员

有没有办法可视化哪些用户是 PostgreSQL / pgAdminIII 中某个角色的成员,例如

role: council_stuff
members:
    Harry
    Ben
    Steve
    Melinda
Run Code Online (Sandbox Code Playgroud)

postgresql role pgadmin

9
推荐指数
1
解决办法
9629
查看次数

授予拒绝权限堆叠

对于角色db_denycustomer,我希望客户表的列代码是 SELECTable 的,其他的都不行。所以我这样做了:

DENY SELECT ON dbo.customer TO db_denycustomer
GRANT SELECT ON dbo.customer (code) TO db_denycustomer
Run Code Online (Sandbox Code Playgroud)

...它工作正常。凉爽的!但是,为什么

我在相关文章中读到的是权限堆栈,但DENY优先。相比之下,就我而言,似乎最后一个权限“查询”优先。果然,如果我以相反的顺序执行它们,后者DENY也会隐藏代码列。

你能详细说明一下吗?

我还为我测试的用户提供了默认值db_datawriterdb_datareader角色。

sql-server permissions role

9
推荐指数
1
解决办法
668
查看次数

使用散列密码编写应用程序角色的脚本

我需要使用散列密码编写应用程序角色的脚本,以便我可以将它从一个数据库复制到另一个数据库。

考虑以下示例代码,它使用应用程序角色为不受信任的用户提供提升的访问权限:

USE tempdb;

CREATE LOGIN LimitedLogin
WITH PASSWORD = 'Password1'
    , CHECK_POLICY = OFF
    , CHECK_EXPIRATION = OFF;

CREATE USER LimitedLogin
FOR LOGIN LimitedLogin
WITH DEFAULT_SCHEMA = dbo;

CREATE APPLICATION ROLE MyAppRole
WITH PASSWORD = 'Password2'
    , DEFAULT_SCHEMA = dbo;

EXEC sp_addrolemember @rolename = 'db_datareader'
    , @membername = 'MyAppRole';

CREATE TABLE dbo.Numbers
(
    [Number] int CONSTRAINT PK_Numbers 
        PRIMARY KEY CLUSTERED
        IDENTITY(1,1) NOT NULL
);

INSERT INTO dbo.Numbers
VALUES (1)
    , (2);

GO
Run Code Online (Sandbox Code Playgroud)

一旦我们在 tempdb 中创建了测试设置,我们就可以以[LimitedLogin]用户身份登录,并运行以下命令:

-- login …
Run Code Online (Sandbox Code Playgroud)

security sql-server role scripting

8
推荐指数
1
解决办法
1601
查看次数

连接到 PostgreSQL 时自动调用“SET ROLE”

首先是简短版本:

是否可以SET ROLE通过特定角色自动调用新的 PostgreSQL 数据库连接,无论是通过连接角色上的配置(使用ALTER ROLE),还是通过连接 URI 末尾的选项?


更长,结合上下文:

我正在设置一个 Web 应用程序以使用轮换数据库凭据(因此,有多种角色在发挥作用)。但是,这些凭据还用于对数据库进行修改(通过 Rails 迁移),这意味着表将由不打算长期存在的角色拥有。

我可以修改轮换凭据,以便它们继承父角色(本身无法登录),然后通过SET ROLE所有数据库修改都归父角色所有,而不是短期子角色。这解决了所有权问题,但它需要调用每个连接SET ROLE parent- 不太可行。

因此,我需要某种方法来确保每个子连接始终在父角色的上下文中运行。这可能吗?

postgresql role

8
推荐指数
2
解决办法
3097
查看次数