我在Amazon Redshift中有一些有趣的情況,其中有一位用戶X在架構中的所有表上擁有grant select公共的,但是一旦創建了一個新表,這個授權似乎不適用於新表。這是正常的行爲嗎?如果是的話,那麼如何處理它以保持模式級授權。謝謝。Amazon Redshift Grants - 即使用戶已授予架構中的所有表格也無法訪問新表格
回答
這是一個正常的行爲。只有對象所有者/超級用戶有權使用默認的對象。
http://docs.aws.amazon.com/redshift/latest/dg/r_Privileges.html
您可以爲用戶添加grant
命令你create table
聲明並授予所需的權限。
在Redshift表和視圖中,不會自動繼承其父架構的權限。新創建的表只能由創建它們的用戶和超級用戶訪問。
在Redshift的最新補丁中,實施了一項新功能來授予默認權限,以解決此問題。
下面的代碼片段將只授予在銷售模式到sales_admin組的所有未來表選擇權限。如果您希望將其應用於架構中的現有表,則需要將其與第二個授權語句結合使用。
alter default privileges in schema sales grant select on tables to group sales_admin;
看起來像「改變默認權限」只適用於超級用戶創建有問題的對象;當具有創建權限的普通用戶創建對象時,不會添加默認權限。任何人看到這個? –
同樣的事情發生在我身上@JesseMacNett – unpairestgood
@JesseMacNett,這個文檔並沒有很好的描述它是如何工作的,但是你必須在語句中添加'FOR USER user'子句,如果你不這樣做假定當前用戶。所以如果你有一個用戶X創建一個表,並且你運行'ALTER DEFAULT PRIVILEGES ...',它假設你的意思是'ALTER DEFAULT PRIVILEGES FOR USER_user ...',而不是'ALTER DEFAULT PRIVILEGES FOR USER USER_X ... ',所以只有'current_user'創建的新表將會改變它們的默認權限。 –
當我們第一次發現在我們的報表工具,沒有出現新的表,我發現了一個快速的解決方法是重新執行該組/用戶下面的SQL語句的影響:
ALTER DEFAULT PRIVILEGES IN SCHEMA <SCHEMANAME> GRANT SELECT ON TABLES TO GROUP <USER/GROUPNAME>;
這不提供問題的答案。一旦你有足夠的[聲譽](http://stackoverflow.com/help/whats-reputation),你將能夠[評論任何職位](http://stackoverflow.com/help/privileges/comment);相反,[提供不需要提問者澄清的答案](http://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- I-DO-代替)。 - [來自評論](/ review/low-quality-posts/15294962) – Micho
奇怪的是,我現在無法重現這一點,但如果我發現任何新內容,將會保持線程發佈! – Skippy
@Micho - 我以前無法評論,但現在我可以,是我唯一的選擇,哇,給一個新的gal休息! – Skippy
執行的下面的命令以超級用戶(主):
alter default privileges
for user staging_user
in schema staging
grant select on tables
to reporting_user;
將允許reporting_user從由staging_user在架構分期創建的所有將來的表選擇數據。
- 1. 我需要授予訪問權限以使用另一個架構中的一個架構的表格
- 2. Oracle - 授予訪問權限以在另一個架構中使用一個架構的表格
- 3. 使用Amazon RedShift/PostgreSQL支持表格
- 4. 與授予的權限火鳥用戶無法訪問表
- 5. 授予用戶權限來訪問表
- 6. 授予的CloudWatch訪問使用無服務器架構
- 7. 授予用戶訪問不同架構的功能
- 8. VBA - 訪問 - 使用用戶表格中的新數據更新表格
- 9. RDS上的主用戶postgres無法將架構權限授予新用戶
- 10. 授予用戶訪問權
- 11. 即使在C#中授予FileIOPermission也無法複製文件
- 12. 即使在授予publish_stream時也需要訪問令牌嗎?
- 13. 無法使用SQL Workbench/J在Amazon Redshift中創建新用戶
- 14. 即使擁有SELECT權限,也無法選擇表格
- 15. Amazon Redshift架構設計
- 16. LinkedIn授予訪問屏幕,即使用戶已經過身份驗證
- 17. 使用SQLWorkbench在redshift中列表表格
- 18. PowerDesigner在VB中創建表格授予
- 19. PostgreSQL - 授予所有表格(以及未來表格)的選擇權,在*所有模式中*
- 20. 新的oracle用戶無法訪問表
- 21. 即使對無效數據,Symfony表格也是有效的
- 22. 授予特定用戶擁有的所有表上的選擇
- 23. 授予PostgreSQL未來表格的特權?
- 24. 如何僅在表格存在時刪除Amazon Redshift中的表格
- 25. ASP .NET MVC使用Active Directory組授予表格授權
- 26. 即使當SQL表列不是空白時,PHP表格也更新SQL表格
- 27. 在哪裏存儲表格以授予Oracle 10g中新用戶的權限
- 28. 即使使用表格固定,CSS表格單元格也會忽略寬度
- 29. 授予用戶訪問MySQL中有限數量的表的權限
- 30. Amazon Redshift獲取表格的標識列表
謝謝你的回答 – user1823293