|
| 1 | +definition user {} |
| 2 | + |
| 3 | +definition role { |
| 4 | + relation bound_user: user |
| 5 | + |
| 6 | + relation spanner_databaseoperations_cancel: role |
| 7 | + relation spanner_databaseoperations_delete: role |
| 8 | + relation spanner_databaseoperations_get: role |
| 9 | + relation spanner_databaseoperations_list: role |
| 10 | + relation spanner_databaseroles_list: role |
| 11 | + relation spanner_databaseroles_use: role |
| 12 | + relation spanner_databases_beginorrollbackreadwritetransaction: role |
| 13 | + relation spanner_databases_beginpartitioneddmltransaction: role |
| 14 | + relation spanner_databases_beginreadonlytransaction: role |
| 15 | + relation spanner_databases_create: role |
| 16 | + relation spanner_databases_drop: role |
| 17 | + relation spanner_databases_get: role |
| 18 | + relation spanner_databases_getddl: role |
| 19 | + relation spanner_databases_getiampolicy: role |
| 20 | + relation spanner_databases_list: role |
| 21 | + relation spanner_databases_partitionquery: role |
| 22 | + relation spanner_databases_partitionread: role |
| 23 | + relation spanner_databases_read: role |
| 24 | + relation spanner_databases_select: role |
| 25 | + relation spanner_databases_setiampolicy: role |
| 26 | + relation spanner_databases_update: role |
| 27 | + relation spanner_databases_updateddl: role |
| 28 | + relation spanner_databases_userolebasedaccess: role |
| 29 | + relation spanner_databases_write: role |
| 30 | + relation spanner_instances_get: role |
| 31 | + relation spanner_instances_getiampolicy: role |
| 32 | + relation spanner_instances_list: role |
| 33 | + relation spanner_sessions_create: role |
| 34 | + relation spanner_sessions_delete: role |
| 35 | + relation spanner_sessions_get: role |
| 36 | + relation spanner_sessions_list: role |
| 37 | + |
| 38 | + permission can_spanner_databaseoperations_cancel = spanner_databaseoperations_cancel->bound_user |
| 39 | + permission can_spanner_databaseoperations_delete = spanner_databaseoperations_delete->bound_user |
| 40 | + permission can_spanner_databaseoperations_get = spanner_databaseoperations_get->bound_user |
| 41 | + permission can_spanner_databaseoperations_list = spanner_databaseoperations_list->bound_user |
| 42 | + permission can_spanner_databaseroles_list = spanner_databaseroles_list->bound_user |
| 43 | + permission can_spanner_databaseroles_use = spanner_databaseroles_use->bound_user |
| 44 | + permission can_spanner_databases_beginorrollbackreadwritetransaction = spanner_databases_beginorrollbackreadwritetransaction->bound_user |
| 45 | + permission can_spanner_databases_beginpartitioneddmltransaction = spanner_databases_beginpartitioneddmltransaction->bound_user |
| 46 | + permission can_spanner_databases_beginreadonlytransaction = spanner_databases_beginreadonlytransaction->bound_user |
| 47 | + permission can_spanner_databases_create = spanner_databases_create->bound_user |
| 48 | + permission can_spanner_databases_drop = spanner_databases_drop->bound_user |
| 49 | + permission can_spanner_databases_get = spanner_databases_get->bound_user |
| 50 | + permission can_spanner_databases_getddl = spanner_databases_getddl->bound_user |
| 51 | + permission can_spanner_databases_getiampolicy = spanner_databases_getiampolicy->bound_user |
| 52 | + permission can_spanner_databases_list = spanner_databases_list->bound_user |
| 53 | + permission can_spanner_databases_partitionquery = spanner_databases_partitionquery->bound_user |
| 54 | + permission can_spanner_databases_partitionread = spanner_databases_partitionread->bound_user |
| 55 | + permission can_spanner_databases_read = spanner_databases_read->bound_user |
| 56 | + permission can_spanner_databases_select = spanner_databases_select->bound_user |
| 57 | + permission can_spanner_databases_setiampolicy = spanner_databases_setiampolicy->bound_user |
| 58 | + permission can_spanner_databases_update = spanner_databases_update->bound_user |
| 59 | + permission can_spanner_databases_updateddl = spanner_databases_updateddl->bound_user |
| 60 | + permission can_spanner_databases_userolebasedaccess = spanner_databases_userolebasedaccess->bound_user |
| 61 | + permission can_spanner_databases_write = spanner_databases_write->bound_user |
| 62 | + permission can_spanner_instances_get = spanner_instances_get->bound_user |
| 63 | + permission can_spanner_instances_getiampolicy = spanner_instances_getiampolicy->bound_user |
| 64 | + permission can_spanner_instances_list = spanner_instances_list->bound_user |
| 65 | + permission can_spanner_sessions_create = spanner_sessions_create->bound_user |
| 66 | + permission can_spanner_sessions_delete = spanner_sessions_delete->bound_user |
| 67 | + permission can_spanner_sessions_get = spanner_sessions_get->bound_user |
| 68 | + permission can_spanner_sessions_list = spanner_sessions_list->bound_user |
| 69 | +} |
| 70 | + |
| 71 | +definition project { |
| 72 | + relation granted: role |
| 73 | + |
| 74 | + // Synthetic Instance Relations |
| 75 | + permission granted_spanner_instances_get = granted->can_spanner_instances_get |
| 76 | + permission granted_spanner_instances_getiampolicy = granted->can_spanner_instances_getiampolicy |
| 77 | + permission granted_spanner_instances_list = granted->can_spanner_instances_list |
| 78 | + |
| 79 | + // Synthetic Database Relations |
| 80 | + permission granted_spanner_databases_beginorrollbackreadwritetransaction = granted->can_spanner_databases_beginorrollbackreadwritetransaction |
| 81 | + permission granted_spanner_databases_beginpartitioneddmltransaction = granted->can_spanner_databases_beginpartitioneddmltransaction |
| 82 | + permission granted_spanner_databases_beginreadonlytransaction = granted->can_spanner_databases_beginreadonlytransaction |
| 83 | + permission granted_spanner_databases_create = granted->can_spanner_databases_create |
| 84 | + permission granted_spanner_databases_drop = granted->can_spanner_databases_drop |
| 85 | + permission granted_spanner_databases_get = granted->can_spanner_databases_get |
| 86 | + permission granted_spanner_databases_getddl = granted->can_spanner_databases_getddl |
| 87 | + permission granted_spanner_databases_getiampolicy = granted->can_spanner_databases_getiampolicy |
| 88 | + permission granted_spanner_databases_list = granted->can_spanner_databases_list |
| 89 | + permission granted_spanner_databases_partitionquery = granted->can_spanner_databases_partitionquery |
| 90 | + permission granted_spanner_databases_partitionread = granted->can_spanner_databases_partitionread |
| 91 | + permission granted_spanner_databases_read = granted->can_spanner_databases_read |
| 92 | + permission granted_spanner_databases_select = granted->can_spanner_databases_select |
| 93 | + permission granted_spanner_databases_setiampolicy = granted->can_spanner_databases_setiampolicy |
| 94 | + permission granted_spanner_databases_update = granted->can_spanner_databases_update |
| 95 | + permission granted_spanner_databases_updateddl = granted->can_spanner_databases_updateddl |
| 96 | + permission granted_spanner_databases_userolebasedaccess = granted->can_spanner_databases_userolebasedaccess |
| 97 | + permission granted_spanner_databases_write = granted->can_spanner_databases_write |
| 98 | + |
| 99 | + // Synthetic Sessions Relations |
| 100 | + permission granted_spanner_sessions_create = granted->can_spanner_sessions_create |
| 101 | + permission granted_spanner_sessions_delete = granted->can_spanner_sessions_delete |
| 102 | + permission granted_spanner_sessions_get = granted->can_spanner_sessions_get |
| 103 | + permission granted_spanner_sessions_list = granted->can_spanner_sessions_list |
| 104 | + |
| 105 | + // Synthetic Database Operations Relations |
| 106 | + permission granted_spanner_databaseoperations_cancel = granted->can_spanner_databaseoperations_cancel |
| 107 | + permission granted_spanner_databaseoperations_delete = granted->can_spanner_databaseoperations_delete |
| 108 | + permission granted_spanner_databaseoperations_get = granted->can_spanner_databaseoperations_get |
| 109 | + permission granted_spanner_databaseoperations_list = granted->can_spanner_databaseoperations_list |
| 110 | + |
| 111 | + // Synthetic Database Roles Relations |
| 112 | + permission granted_spanner_databaseroles_list = granted->can_spanner_databaseroles_list |
| 113 | + permission granted_spanner_databaseroles_use = granted->can_spanner_databaseroles_use |
| 114 | +} |
| 115 | + |
| 116 | +definition spanner_instance { |
| 117 | + relation project: project |
| 118 | + relation granted: role |
| 119 | + |
| 120 | + permission get = granted->can_spanner_instances_get + project->granted_spanner_instances_get |
| 121 | + permission getiampolicy = granted->can_spanner_instances_getiampolicy + project->granted_spanner_instances_getiampolicy |
| 122 | + permission list = granted->can_spanner_instances_list + project->granted_spanner_instances_list |
| 123 | + |
| 124 | + // Synthetic Database Relations |
| 125 | + permission granted_spanner_databases_beginorrollbackreadwritetransaction = granted->can_spanner_databases_beginorrollbackreadwritetransaction + project->granted_spanner_databases_beginorrollbackreadwritetransaction |
| 126 | + permission granted_spanner_databases_beginpartitioneddmltransaction = granted->can_spanner_databases_beginpartitioneddmltransaction + project->granted_spanner_databases_beginpartitioneddmltransaction |
| 127 | + permission granted_spanner_databases_beginreadonlytransaction = granted->can_spanner_databases_beginreadonlytransaction + project->granted_spanner_databases_beginreadonlytransaction |
| 128 | + permission granted_spanner_databases_create = granted->can_spanner_databases_create + project->granted_spanner_databases_create |
| 129 | + permission granted_spanner_databases_drop = granted->can_spanner_databases_drop + project->granted_spanner_databases_drop |
| 130 | + permission granted_spanner_databases_get = granted->can_spanner_databases_get + project->granted_spanner_databases_get |
| 131 | + permission granted_spanner_databases_getddl = granted->can_spanner_databases_getddl + project->granted_spanner_databases_getddl |
| 132 | + permission granted_spanner_databases_getiampolicy = granted->can_spanner_databases_getiampolicy + project->granted_spanner_databases_getiampolicy |
| 133 | + permission granted_spanner_databases_list = granted->can_spanner_databases_list + project->granted_spanner_databases_list |
| 134 | + permission granted_spanner_databases_partitionquery = granted->can_spanner_databases_partitionquery + project->granted_spanner_databases_partitionquery |
| 135 | + permission granted_spanner_databases_partitionread = granted->can_spanner_databases_partitionread + project->granted_spanner_databases_partitionread |
| 136 | + permission granted_spanner_databases_read = granted->can_spanner_databases_read + project->granted_spanner_databases_read |
| 137 | + permission granted_spanner_databases_select = granted->can_spanner_databases_select + project->granted_spanner_databases_select |
| 138 | + permission granted_spanner_databases_setiampolicy = granted->can_spanner_databases_setiampolicy + project->granted_spanner_databases_setiampolicy |
| 139 | + permission granted_spanner_databases_update = granted->can_spanner_databases_update + project->granted_spanner_databases_update |
| 140 | + permission granted_spanner_databases_updateddl = granted->can_spanner_databases_updateddl + project->granted_spanner_databases_updateddl |
| 141 | + permission granted_spanner_databases_userolebasedaccess = granted->can_spanner_databases_userolebasedaccess + project->granted_spanner_databases_userolebasedaccess |
| 142 | + permission granted_spanner_databases_write = granted->can_spanner_databases_write + project->granted_spanner_databases_write |
| 143 | + |
| 144 | + // Synthetic Sessions Relations |
| 145 | + permission granted_spanner_sessions_create = granted->can_spanner_sessions_create + project->granted_spanner_sessions_create |
| 146 | + permission granted_spanner_sessions_delete = granted->can_spanner_sessions_delete + project->granted_spanner_sessions_delete |
| 147 | + permission granted_spanner_sessions_get = granted->can_spanner_sessions_get + project->granted_spanner_sessions_get |
| 148 | + permission granted_spanner_sessions_list = granted->can_spanner_sessions_list + project->granted_spanner_sessions_list |
| 149 | + |
| 150 | + // Synthetic Database Operations Relations |
| 151 | + permission granted_spanner_databaseoperations_cancel = granted->can_spanner_databaseoperations_cancel + project->granted_spanner_databaseoperations_cancel |
| 152 | + permission granted_spanner_databaseoperations_delete = granted->can_spanner_databaseoperations_delete + project->granted_spanner_databaseoperations_delete |
| 153 | + permission granted_spanner_databaseoperations_get = granted->can_spanner_databaseoperations_get + project->granted_spanner_databaseoperations_get |
| 154 | + permission granted_spanner_databaseoperations_list = granted->can_spanner_databaseoperations_list + project->granted_spanner_databaseoperations_list |
| 155 | + |
| 156 | + // Synthetic Database Roles Relations |
| 157 | + permission granted_spanner_databaseroles_list = granted->can_spanner_databaseroles_list + project->granted_spanner_databaseroles_list |
| 158 | + permission granted_spanner_databaseroles_use = granted->can_spanner_databaseroles_use + project->granted_spanner_databaseroles_use |
| 159 | +} |
| 160 | + |
| 161 | +definition spanner_database { |
| 162 | + relation instance: spanner_instance |
| 163 | + relation granted: role |
| 164 | + |
| 165 | + // Database |
| 166 | + permission beginorrollbackreadwritetransaction = granted->can_spanner_databases_beginorrollbackreadwritetransaction + instance->granted_spanner_databases_beginorrollbackreadwritetransaction |
| 167 | + permission beginpartitioneddmltransaction = granted->can_spanner_databases_beginpartitioneddmltransaction + instance->granted_spanner_databases_beginpartitioneddmltransaction |
| 168 | + permission beginreadonlytransaction = granted->can_spanner_databases_beginreadonlytransaction + instance->granted_spanner_databases_beginreadonlytransaction |
| 169 | + permission create = granted->can_spanner_databases_create + instance->granted_spanner_databases_create |
| 170 | + permission drop = granted->can_spanner_databases_drop + instance->granted_spanner_databases_drop |
| 171 | + permission get = granted->can_spanner_databases_get + instance->granted_spanner_databases_get |
| 172 | + permission get_ddl = granted->can_spanner_databases_getddl + instance->granted_spanner_databases_getddl |
| 173 | + permission getiampolicy = granted->can_spanner_databases_getiampolicy + instance->granted_spanner_databases_getiampolicy |
| 174 | + permission list = granted->can_spanner_databases_list + instance->granted_spanner_databases_list |
| 175 | + permission partitionquery = granted->can_spanner_databases_partitionquery + instance->granted_spanner_databases_partitionquery |
| 176 | + permission partitionread = granted->can_spanner_databases_partitionread + instance->granted_spanner_databases_partitionread |
| 177 | + permission read = granted->can_spanner_databases_read + instance->granted_spanner_databases_read |
| 178 | + permission select = granted->can_spanner_databases_select + instance->granted_spanner_databases_select |
| 179 | + permission setiampolicy = granted->can_spanner_databases_setiampolicy + instance->granted_spanner_databases_setiampolicy |
| 180 | + permission update = granted->can_spanner_databases_update + instance->granted_spanner_databases_update |
| 181 | + permission updateddl = granted->can_spanner_databases_updateddl + instance->granted_spanner_databases_updateddl |
| 182 | + permission userolebasedaccess = granted->can_spanner_databases_userolebasedaccess + instance->granted_spanner_databases_userolebasedaccess |
| 183 | + permission write = granted->can_spanner_databases_write + instance->granted_spanner_databases_write |
| 184 | + |
| 185 | + // Sessions |
| 186 | + permission create_session = granted->can_spanner_sessions_create + instance->granted_spanner_sessions_create |
| 187 | + permission delete_session = granted->can_spanner_sessions_delete + instance->granted_spanner_sessions_delete |
| 188 | + permission get_session = granted->can_spanner_sessions_get + instance->granted_spanner_sessions_get |
| 189 | + permission list_sessions = granted->can_spanner_sessions_list + instance->granted_spanner_sessions_list |
| 190 | + |
| 191 | + // Database Operations |
| 192 | + permission cancel_operation = granted->can_spanner_databaseoperations_cancel + instance->granted_spanner_databaseoperations_cancel |
| 193 | + permission delete_operation = granted->can_spanner_databaseoperations_delete + instance->granted_spanner_databaseoperations_delete |
| 194 | + permission get_operation = granted->can_spanner_databaseoperations_get + instance->granted_spanner_databaseoperations_get |
| 195 | + permission list_operations = granted->can_spanner_databaseoperations_list + instance->granted_spanner_databaseoperations_list |
| 196 | + |
| 197 | + // Database Roles |
| 198 | + permission list_roles = granted->can_spanner_databaseroles_list + instance->granted_spanner_databaseroles_list |
| 199 | + permission use_role = granted->can_spanner_databaseroles_use + instance->granted_spanner_databaseroles_use |
| 200 | +} |
0 commit comments