-
Notifications
You must be signed in to change notification settings - Fork 165
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't deal with partial resources due to the lack of permissions for other resources #104
Comments
@jtcohen6 Do you have any idea to resolve the issue? |
@yu-iskw Thank you so much for such a detailed write up really fantastic and clear reasoning.
The second seems to be the more clear path as it is also done in snowflake. dbt-bigquery/dbt/adapters/bigquery/impl.py Lines 283 to 286 in 8a109eb
I believe this could be a one-line change that updates our exception handling during caching, so I'm going to mark this a good first issue. Would you be interested in contributing the fix? |
@McKnight-42 Thank you for the comment. I completely agree with that it might be tough to change the behavior of |
@McKnight-42 I have sent the pull request. Can you take a look? |
…ching` (#108) * [#104] Ignore the forbidden exception in `list_relations_without_caching` * Update CHANGELOG.md * Further update CHANGELOG.md Co-authored-by: Matthew McKnight <[email protected]>
…thout_caching` (dbt-labs#108) * [dbt-labs#104] Ignore the forbidden exception in `list_relations_without_caching` * Update CHANGELOG.md * Further update CHANGELOG.md Co-authored-by: Matthew McKnight <[email protected]>
Describe the bug
Our dbt project for BigQuery is composed of mutually exclusive sub DAGs by dbt tags to identify services so that we manage all dbt resources in a single place. We would like to use multiple IAM service accounts to deal with each sub DAG selected by dbt tags , because we don't want to create a too strong service account which can refer all BigQuery tables.
According to my research, we have to change the repository
dbt-core
, not this repositorydbt-bigquery
. However, let me create the issue indbt-bigquery
first, because I am not sure the issue is related to other warehouses.Steps To Reproduce
I created the github repository to reproduce the issue.
https://github.com/yu-iskw/dbt-issue-with-multiple-service-accounts-on-bigquery
Expected behavior
The image illustrates a simplified our desired use case. Let's consider the service account for GCP project A has permissions to only GCP project A. It has no permissions to GCP project B. However, dbt doesn't work due to the lack of permissions.
When we want to deal with only resources in sub graph X (the blue area) using the service account for GCP project A, we want to skip getting and creating schema of non-selected resources in sub graph Y (the green area).
Screenshots and log output
dbt failed because the service account for
tag:test_dataset1
have no permissions for the datasettest_dataset2
.The complete logs is at https://github.com/yu-iskw/dbt-issue-with-multiple-service-accounts-on-bigquery/blob/main/resources/dbt.log .
dbt compile
dbt run
System information
The output of
dbt --version
:The operating system you're using:
macOS 12.1
The output of
python --version
:Python 3.8.8
Additional context
Add any other context about the problem here.
The text was updated successfully, but these errors were encountered: