builtin_roles.slt 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. # Copyright Materialize, Inc. and contributors. All rights reserved.
  2. #
  3. # Use of this software is governed by the Business Source License
  4. # included in the LICENSE file at the root of this repository.
  5. #
  6. # As of the Change Date specified in that file, in accordance with
  7. # the Business Source License, use of this software will be governed
  8. # by the Apache License, Version 2.0.
  9. mode cockroach
  10. reset-server
  11. # Test that by default, nobody is allowed to access statement log
  12. # objects
  13. statement error permission denied for SOURCE
  14. SELECT 1 FROM mz_internal.mz_prepared_statement_history WHERE 1 = 0
  15. statement error permission denied for SOURCE
  16. SELECT 1 FROM mz_internal.mz_statement_execution_history WHERE 1 = 0
  17. statement error db error: ERROR: unknown catalog item 'mz_internal\.mz_activity_log'
  18. SELECT 1 FROM mz_internal.mz_activity_log WHERE 1 = 0
  19. statement error permission denied for VIEW
  20. SELECT 1 FROM mz_internal.mz_sql_text_redacted WHERE 1 = 0
  21. statement error permission denied for VIEW
  22. SELECT 1 FROM mz_internal.mz_statement_execution_history_redacted WHERE 1 = 0
  23. statement error db error: ERROR: unknown catalog item 'mz_internal\.mz_activity_log_redacted'
  24. SELECT 1 FROM mz_internal.mz_activity_log_redacted WHERE 1 = 0
  25. # Test that after granting the less-privileged
  26. # `mz_monitor_redacted` role, we can
  27. # query the redacted objects, but not the unredacted ones.
  28. simple conn=mz_system,user=mz_system
  29. GRANT mz_monitor_redacted TO materialize
  30. ----
  31. COMPLETE 0
  32. statement error permission denied for SOURCE
  33. SELECT 1 FROM mz_internal.mz_sql_text WHERE 1 = 0
  34. statement error permission denied for SOURCE
  35. SELECT 1 FROM mz_internal.mz_statement_execution_history WHERE 1 = 0
  36. statement error db error: ERROR: unknown catalog item 'mz_internal\.mz_activity_log'
  37. SELECT 1 FROM mz_internal.mz_activity_log WHERE 1 = 0
  38. query I
  39. SELECT 1 FROM mz_internal.mz_sql_text_redacted WHERE 1 = 0
  40. ----
  41. query I
  42. SELECT 1 FROM mz_internal.mz_sql_text_redacted WHERE 1 = 0
  43. ----
  44. query I
  45. SELECT 1 FROM mz_internal.mz_recent_activity_log_redacted WHERE 1 = 0
  46. ----
  47. # Sanity check that none of the `redacted` objects expose sql.
  48. statement error db error: ERROR: column "sql" does not exist
  49. SELECT sql FROM mz_internal.mz_recent_activity_log_redacted
  50. statement error db error: ERROR: column "sql" does not exist
  51. SELECT sql FROM mz_internal.mz_recent_sql_text_redacted
  52. statement error db error: ERROR: column "sql" does not exist
  53. SELECT sql FROM mz_internal.mz_recent_sql_text_redacted
  54. statement error db error: ERROR: column "sql" does not exist
  55. SELECT sql FROM mz_internal.mz_statement_execution_history_redacted
  56. # TEST that revocation does something
  57. simple conn=mz_system,user=mz_system
  58. REVOKE mz_monitor_redacted FROM materialize
  59. ----
  60. COMPLETE 0
  61. statement error permission denied for SOURCE
  62. SELECT 1 FROM mz_internal.mz_sql_text WHERE 1 = 0
  63. statement error permission denied for SOURCE
  64. SELECT 1 FROM mz_internal.mz_statement_execution_history WHERE 1 = 0
  65. statement error db error: ERROR: unknown catalog item 'mz_internal\.mz_activity_log'
  66. SELECT 1 FROM mz_internal.mz_activity_log WHERE 1 = 0
  67. statement error permission denied for VIEW
  68. SELECT 1 FROM mz_internal.mz_sql_text_redacted WHERE 1 = 0
  69. statement error permission denied for VIEW
  70. SELECT 1 FROM mz_internal.mz_sql_text_redacted WHERE 1 = 0
  71. statement error db error: ERROR: unknown catalog item 'mz_internal\.mz_activity_log_redacted'
  72. SELECT 1 FROM mz_internal.mz_activity_log_redacted WHERE 1 = 0
  73. # Test that we can read all tables with the more powerful permission
  74. # (`mz_monitor`)
  75. simple conn=mz_system,user=mz_system
  76. GRANT mz_monitor TO materialize
  77. ----
  78. COMPLETE 0
  79. query I
  80. SELECT 1 FROM mz_internal.mz_sql_text WHERE 1 = 0
  81. ----
  82. query I
  83. SELECT 1 FROM mz_internal.mz_statement_execution_history WHERE 1 = 0
  84. ----
  85. query I
  86. SELECT 1 FROM mz_internal.mz_recent_activity_log WHERE 1 = 0
  87. ----
  88. query I
  89. SELECT 1 FROM mz_internal.mz_sql_text_redacted WHERE 1 = 0
  90. ----
  91. query I
  92. SELECT 1 FROM mz_internal.mz_statement_execution_history_redacted WHERE 1 = 0
  93. ----
  94. query I
  95. SELECT 1 FROM mz_internal.mz_recent_activity_log_redacted WHERE 1 = 0
  96. ----