Amazon redshift 访问红移外部表所需的最低权限
根据AWS文件 要运行红移光谱查询,您需要以下权限:Amazon redshift 访问红移外部表所需的最低权限,amazon-redshift,grant,amazon-redshift-spectrum,Amazon Redshift,Grant,Amazon Redshift Spectrum,根据AWS文件 要运行红移光谱查询,您需要以下权限: 对架构的使用权限 在当前数据库中创建临时表的权限 我有一个外部数据库、模式和在该模式中创建的表。 我创建了一个新的红移用户,并向其授予了外部架构的“使用”权限: grant usage on external_schema to new_user; 但我没有为我的新用户提供外部_数据库的“临时”权限 此外,没有默认权限,因为我使用主用户检查了PG_default_ACL,其中没有行 有人能告诉我为什么我可以查询外部表吗?在Amazo
- 对架构的使用权限
- 在当前数据库中创建临时表的权限
grant usage on external_schema to new_user;
但我没有为我的新用户提供外部_数据库的“临时”权限
此外,没有默认权限,因为我使用主用户检查了PG_default_ACL,其中没有行
有人能告诉我为什么我可以查询外部表吗?在Amazon Redshift中,数据库和模式是不同的概念。用户对象(红移和外部)在模式中创建,临时对象在“临时”模式中创建,并在数据库级别可用 在某些情况下,如果应用了频谱表和红移表之间的联接,则红移需要创建临时表,这就是为什么在文档中提到它,以避免用户出现任何故障/错误 下面是这样说的: 授予在指定数据库中创建临时表的权限。要运行Amazon红移频谱查询,数据库用户必须具有在数据库中创建临时表的权限 注意 默认情况下,用户通过其在公共组中的自动成员身份被授予创建临时表的权限。要删除任何用户创建临时表的权限,请从公共组中撤消临时权限。然后将创建临时表的权限显式授予特定用户或用户组
我想这是说他们需要“当前数据库”的权限,这意味着红移(而不是外部数据库)。不,我不这么认为。这是存储元数据的频谱数据库,正如他们网站上的示例grant语句所示:“将数据库spectrumdb上的临时数据授予组spectrumusers;”。即使在您的情况下,“temp”特权不应该出现在pg_default_Acl结果中吗?