Skip to content

Commit 4bfe094

Browse files
authored
docs: update bigquery connection documentation (#499)
* docs: update bigquery connection documentation * be more specific about the service accounts * more rewording * make rst hyperlink labels non-unique * remove confusing resource level IAM docs until we support that
1 parent 0ac0cd1 commit 4bfe094

File tree

1 file changed

+25
-15
lines changed

1 file changed

+25
-15
lines changed

README.rst

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -232,16 +232,18 @@ you must enable the following APIs:
232232
* The BigQuery Connection API (bigqueryconnection.googleapis.com)
233233
* The Vertex AI API (aiplatform.googleapis.com)
234234

235-
and you must be granted the following IAM roles:
235+
and you must be granted the following IAM roles in the project:
236236

237237
* BigQuery Data Editor (roles/bigquery.dataEditor)
238238
* BigQuery Connection Admin (roles/bigquery.connectionAdmin)
239-
* Service Account User (roles/iam.serviceAccountUser) on the
240-
`service account <https://cloud.google.com/functions/docs/reference/iam/roles#additional-configuration>`__
241-
239+
* Service Account User (roles/iam.serviceAccountUser)
242240
* Vertex AI User (roles/aiplatform.user)
243241
* Project IAM Admin (roles/resourcemanager.projectIamAdmin) if using default
244-
BigQuery connection, or Browser (roles/browser) if using a pre-created connection
242+
BigQuery connection, or Browser (roles/browser) if using a pre-configured connection.
243+
This requirement can be avoided by setting
244+
``bigframes.pandas.options.bigquery.skip_bq_connection_check`` option to ``True``,
245+
in which case the connection (default or pre-configured) would be
246+
used as-is without any existence or permission check.
245247

246248

247249
ML locations
@@ -288,11 +290,17 @@ into `BigQuery remote functions
288290
<https://cloud.google.com/bigquery/docs/remote-functions>`_ . Creating a remote
289291
function in BigQuery DataFrames (See `code samples
290292
<https://cloud.google.com/bigquery/docs/remote-functions#bigquery-dataframes>`_)
291-
creates a BigQuery remote function, a `BigQuery
292-
connection
293-
<https://cloud.google.com/bigquery/docs/create-cloud-resource-connection>`_ ,
294-
and a `Cloud Functions (2nd gen) function
295-
<https://cloud.google.com/functions/docs/concepts/overview>`_ .
293+
creates:
294+
295+
1. A `Cloud Functions (2nd gen) function <https://cloud.google.com/functions/docs/concepts/overview>`_.
296+
2. A `BigQuery connection <https://cloud.google.com/bigquery/docs/create-cloud-resource-connection>`_.
297+
If the BigQuery connection is created, the BigQuery service will
298+
create a
299+
`Google Cloud-managed IAM service account <https://cloud.google.com/bigquery/docs/working-with-connections#before_you_begin>`_
300+
and attach it to the connection. You can use a pre-configured BigQuery
301+
connection if you prefer, in which case the connection creation is skipped.
302+
3. A BigQuery remote function that talks to the cloud function (1) using the BigQuery
303+
connection (2).
296304

297305
BigQuery connections are created in the same location as the BigQuery
298306
DataFrames session, using the name you provide in the custom function
@@ -331,17 +339,19 @@ To use BigQuery DataFrames remote functions, you must enable the following APIs:
331339
* The Cloud Resource Manager API (cloudresourcemanager.googleapis.com)
332340

333341
To use BigQuery DataFrames remote functions, you must be granted the
334-
following IAM roles:
342+
following IAM roles in the project:
335343

336344
* BigQuery Data Editor (roles/bigquery.dataEditor)
337345
* BigQuery Connection Admin (roles/bigquery.connectionAdmin)
338346
* Cloud Functions Developer (roles/cloudfunctions.developer)
339-
* Service Account User (roles/iam.serviceAccountUser) on the
340-
`service account <https://cloud.google.com/functions/docs/reference/iam/roles#additional-configuration>`__
341-
347+
* Service Account User (roles/iam.serviceAccountUser)
342348
* Storage Object Viewer (roles/storage.objectViewer)
343349
* Project IAM Admin (roles/resourcemanager.projectIamAdmin) if using default
344-
BigQuery connection, or Browser (roles/browser) if using a pre-created connection
350+
BigQuery connection, or Browser (roles/browser) if using a pre-configured connection.
351+
This requirement can be avoided by setting
352+
``bigframes.pandas.options.bigquery.skip_bq_connection_check`` option to ``True``,
353+
in which case the connection (default or pre-configured) would be
354+
used as-is without any existence or permission check.
345355

346356
**Limitations**
347357

0 commit comments

Comments
 (0)