Skip to content
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

NIFI-14163: Enhance GCP Credential to use delegate user #9635

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

bobpaulin
Copy link
Contributor

@bobpaulin bobpaulin commented Jan 15, 2025

Summary

NIFI-14163

Tracking

Please complete the following tracking steps prior to pull request creation.

Issue Tracking

Pull Request Tracking

  • Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
  • Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

  • Pull Request based on current revision of the main branch
  • Pull Request refers to a feature branch with one commit containing changes

Verification

Please indicate the verification steps performed prior to pull request creation.

To verify this change you must use a service account credential that has been configured to use domain-wide delegation with the scopes that your processors are expecting to use (per https://developers.google.com/identity/protocols/oauth2/service-account#delegatingauthority). Ex ListGoogleDrive specifically requires the https://www.googleapis.com/auth/drive.metadata.readonly scope.

To verify positve and negative cases:
Use a Google Drive that has the service account user added and configure the GCPCredentialControllerService to use a Service Account JSON.
Expected Result: Drive Files should appear

Remove the same Service Account email from the drive permissions.
Expected Result: Drive Files will not appear. (Service Account can't access them)

Configure GCPCredentialControllerService to use the delegation user of an email that currently has access to the drive.
Expected Result: Drive Files will appear.,

Build

  • Build completed using mvn clean install -P contrib-check
    • JDK 21

Licensing

  • New dependencies are compatible with the Apache License 2.0 according to the License Policy
  • New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

  • Documentation formatting appears as expected in rendered files

Copy link
Contributor

@pvillard31 pvillard31 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @bobpaulin - left some code style related comments. Will give this a try!

@bobpaulin
Copy link
Contributor Author

Thank you for the review @pvillard31 ! Updates made.

Copy link
Contributor

@pvillard31 pvillard31 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Made some tests and it worked as expected. Assuming all checks are green, I'm a +1. Thanks for the improvement @bobpaulin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants