Skip to main content

row_access_policies

Creates, updates, deletes, gets or lists a row_access_policies resource.

Overview

Namerow_access_policies
TypeResource
Idgoogle.bigquery.row_access_policies

Fields

The following fields are returned by SELECT queries:

Successful response

NameDatatypeDescription
creationTimestring (google-datetime)Output only. The time when this row access policy was created, in milliseconds since the epoch.
etagstringOutput only. A hash of this resource.
filterPredicatestringRequired. A SQL boolean expression that represents the rows defined by this row access policy, similar to the boolean expression in a WHERE clause of a SELECT query on a table. References to other tables, routines, and temporary functions are not supported. Examples: region="EU" date_field = CAST('2019-9-27' as DATE) nullable_field is not NULL numeric_field BETWEEN 1.0 AND 5.0
granteesarrayOptional. Input only. The optional list of iam_member users or groups that specifies the initial members that the row-level access policy should be created with. grantees types: - "user:alice@example.com": An email address that represents a specific Google account. - "serviceAccount:my-other-app@appspot.gserviceaccount.com": An email address that represents a service account. - "group:admins@example.com": An email address that represents a Google group. - "domain:example.com":The Google Workspace domain (primary) that represents all the users of that domain. - "allAuthenticatedUsers": A special identifier that represents all service accounts and all users on the internet who have authenticated with a Google Account. This identifier includes accounts that aren't connected to a Google Workspace or Cloud Identity domain, such as personal Gmail accounts. Users who aren't authenticated, such as anonymous visitors, aren't included. - "allUsers":A special identifier that represents anyone who is on the internet, including authenticated and unauthenticated users. Because BigQuery requires authentication before a user can access the service, allUsers includes only authenticated users.
lastModifiedTimestring (google-datetime)Output only. The time when this row access policy was last modified, in milliseconds since the epoch.
rowAccessPolicyReferenceobjectRequired. Reference describing the ID of this row access policy. (id: RowAccessPolicyReference)

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectprojectId, +datasetId, +tableId, +policyIdGets the specified row access policy by policy ID.
listselectprojectId, +datasetId, +tableIdpageSize, pageTokenLists all row access policies on the specified table.
insertinsertprojectId, +datasetId, +tableIdCreates a row access policy.
updatereplaceprojectId, +datasetId, +tableId, +policyIdUpdates a row access policy.
deletedeleteprojectId, +datasetId, +tableId, +policyIdforceDeletes a row access policy.

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
+datasetIdstring
+policyIdstring
+tableIdstring
projectIdstring
forceboolean
pageSizeinteger (int32)
pageTokenstring

SELECT examples

Gets the specified row access policy by policy ID.

SELECT
creationTime,
etag,
filterPredicate,
grantees,
lastModifiedTime,
rowAccessPolicyReference
FROM google.bigquery.row_access_policies
WHERE projectId = '{{ projectId }}' -- required
AND +datasetId = '{{ +datasetId }}' -- required
AND +tableId = '{{ +tableId }}' -- required
AND +policyId = '{{ +policyId }}' -- required;

INSERT examples

Creates a row access policy.

INSERT INTO google.bigquery.row_access_policies (
data__filterPredicate,
data__grantees,
data__rowAccessPolicyReference,
projectId,
+datasetId,
+tableId
)
SELECT
'{{ filterPredicate }}',
'{{ grantees }}',
'{{ rowAccessPolicyReference }}',
'{{ projectId }}',
'{{ +datasetId }}',
'{{ +tableId }}'
RETURNING
creationTime,
etag,
filterPredicate,
grantees,
lastModifiedTime,
rowAccessPolicyReference
;

REPLACE examples

Updates a row access policy.

REPLACE google.bigquery.row_access_policies
SET
data__filterPredicate = '{{ filterPredicate }}',
data__grantees = '{{ grantees }}',
data__rowAccessPolicyReference = '{{ rowAccessPolicyReference }}'
WHERE
projectId = '{{ projectId }}' --required
AND +datasetId = '{{ +datasetId }}' --required
AND +tableId = '{{ +tableId }}' --required
AND +policyId = '{{ +policyId }}' --required
RETURNING
creationTime,
etag,
filterPredicate,
grantees,
lastModifiedTime,
rowAccessPolicyReference;

DELETE examples

Deletes a row access policy.

DELETE FROM google.bigquery.row_access_policies
WHERE projectId = '{{ projectId }}' --required
AND +datasetId = '{{ +datasetId }}' --required
AND +tableId = '{{ +tableId }}' --required
AND +policyId = '{{ +policyId }}' --required
AND force = '{{ force }}';