Возможные значения «specialGroup» аналогичны примитивным ролям для проектов:
- projectOwners -> Владельцы проектов
- projectWriters -> Редакторы проектов
- projectReaders -> Средства просмотра проектов
Если вы попробуете API-метод get dataset в наборе данных, по умолчанию это "объект доступа", который вы ' В ответе будет указано следующее:
"access": [
{
"role": "WRITER",
"specialGroup": "projectWriters"
},
{
"role": "OWNER",
"specialGroup": "projectOwners"
},
{
"role": "OWNER",
"userByEmail": "userWhoCreatedTheDataset@gmail.com"
},
{
"role": "READER",
"specialGroup": "projectReaders"
}
]
Возможные значения "роли" ссылаются на разрешение, предоставленное для этого указанного c набора данных, которое по умолчанию предоставляется аналоговому проекту. роли уровня (возможные значения «specialGroups»). Создателю набора данных также предоставляется доступ ВЛАДЕЛЬЦА набора данных, хотя и не в специальной группе, а в значении userByEmail. Однако, если пользователь, создавший набор данных, также является владельцем проекта, он также будет принадлежать к специальной группе projectOwners.
Что касается пользовательских ролей, то вы правы, роль - это набор разрешений, если вы создайте настраиваемую роль с точно такими же разрешениями, что и bigquery.dataViewer, и затем вы, например, предоставите учетной записи службы эту настраиваемую роль, и у нее будут те же разрешения, как если бы ей была предоставлена роль bigquery.dataViewer.