Alec
10/01/2024, 7:03 PMecordell
10/01/2024, 7:06 PMecordell
10/01/2024, 7:07 PMAlec
10/01/2024, 7:07 PMecordell
10/01/2024, 7:08 PMecordell
10/01/2024, 7:08 PMbound_user
relsAlec
10/01/2024, 7:09 PMecordell
10/01/2024, 7:10 PMecordell
10/01/2024, 8:27 PMproject
object, and only make bespoke per-database roles for serviceaccounts (which tend to be one-offs that you make as minimally permissive as possible).
but if you need it, you can add that back in a few ways. the most flexible would be to require both a role and a user grant, so you say like:
definition database {
relation granted: role
relation granted_user: user
permission get_operation = granted_user & granted->can_spanner_databaseoperations_get
}
or, if you have standard role template definitions, you could encode them directly in the schema, i.e.:
definition database {
relation granted: role
relation admin: user
permission get_operation = admin + granted->can_spanner_databaseoperations_get
}
which would let you change the global definition of admin via schema changes instead of data changes, but still allow custom roles when needed.Alec
10/01/2024, 8:41 PMAlec
10/01/2024, 8:41 PMAlec
10/01/2024, 8:42 PMyetitwo
10/01/2024, 9:04 PMyetitwo
10/01/2024, 9:05 PM&
in order to say whether their intersection is nonemptyyetitwo
10/01/2024, 9:06 PMyetitwo
10/01/2024, 9:06 PMyetitwo
10/01/2024, 9:07 PM