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

docs: Update README with client-side CAB instructions #1607

Merged
merged 6 commits into from
Feb 6, 2025

Conversation

nbayati
Copy link
Contributor

@nbayati nbayati commented Jan 8, 2025

This commit updates the README file to include instructions for setting up and using the client-side CAB feature.

Design doc: go/client-side-cab-client-library-java

This commit updates the README file to include instructions for setting up and using the client-side CAB feature.
@nbayati nbayati requested review from a team as code owners January 8, 2025 22:37
@product-auto-label product-auto-label bot added the size: m Pull request size is medium. label Jan 8, 2025
@nbayati nbayati requested review from aeitzman and lqiu96 January 23, 2025 22:56
@nbayati nbayati requested a review from lqiu96 January 27, 2025 18:43
README.md Outdated
Comment on lines 995 to 996
There are two ways to generate downscoped tokens using a
CredentialAccessBoundary:
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: If possible, could there be like a table or a pro/ cons comparison between the two that explicitly spells out what any considerations/ impacts of one vs the other?

Also, is there a need for something like a migration guide? To help users potentially migrate from server-side to client-side?

Copy link
Contributor

Choose a reason for hiding this comment

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

Also, is there an general recommendation that that your team would provide between the two. I know it's possible that may not be a recommendation.

i.e. Prefer client-side unless ... X,Y,Z blocker?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Checked with the team, we don't have a general recommendation, or a migration guide. Depending on their use case, and whether or not they need many unique downscoped tokens or they can re-use existing ones, they can decide between the two optiosn.

Copy link
Contributor

@lqiu96 lqiu96 Feb 4, 2025

Choose a reason for hiding this comment

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

Ok, that's fine that there is no recommendation. To clarify my above messages, I think the wording below makes it seem like there is almost no reason not to choose client-side CAB.

From a new user's perspective: Client side minimizes the amount of calls to STS when rules change frequently. If my rules don't even change that frequent, I can imagine that there would be even less calls to STS and making it even more efficient.

My point is that I think from a new user perspective, I don't know when/ why I would consider server-side CAB. All I see if pros for client-side over server-side.

Copy link
Contributor

@lqiu96 lqiu96 left a comment

Choose a reason for hiding this comment

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

LGTM. Added a few nits if you could address.

@lqiu96
Copy link
Contributor

lqiu96 commented Jan 30, 2025

I also just noticed this here:

This project consists of 3 artifacts:

I think we can update this to reflect this latest module.

@nbayati
Copy link
Contributor Author

nbayati commented Feb 3, 2025

I also just noticed this here:

This project consists of 3 artifacts:

I think we can update this to reflect this latest module.

Ah good catch! I just realized that all the cab stuff are under google-auth-library-oauth2-http section. I'll probably need to add another section for this new module and move some a few things around to make sure it's organized correctly.

@lqiu96 lqiu96 deleted the branch googleapis:client-side-cab February 4, 2025 18:30
@lqiu96 lqiu96 closed this Feb 4, 2025
@lqiu96 lqiu96 reopened this Feb 4, 2025
@lqiu96 lqiu96 merged commit fbe6abb into googleapis:client-side-cab Feb 6, 2025
12 of 15 checks passed
@lqiu96
Copy link
Contributor

lqiu96 commented Feb 6, 2025

Oh @nbayati I see this is to the client-side-cab branch and not to main. I think we'll need to raise another PR to main

nbayati added a commit to nbayati/google-auth-library-java that referenced this pull request Feb 7, 2025
* docs: Update README with client-side CAB instructions

This commit updates the README file to include instructions for setting up and using the client-side CAB feature.

* chore: readme file wording updated based on comments feedback.

* Update readme: Mention CAB rule changes and its effect on server vs client side token generation.

* Link to wikipedia page for Principle of the Least Privilege concept.

* chore: fix spacing.

* Add a section for google-auth-library-cab-token-generator
@nbayati
Copy link
Contributor Author

nbayati commented Feb 7, 2025

Oh @nbayati I see this is to the client-side-cab branch and not to main. I think we'll need to raise another PR to main

Created: #1666

lqiu96 pushed a commit that referenced this pull request Feb 7, 2025
* docs: Update README with client-side CAB instructions

This commit updates the README file to include instructions for setting up and using the client-side CAB feature.

* chore: readme file wording updated based on comments feedback.

* Update readme: Mention CAB rule changes and its effect on server vs client side token generation.

* Link to wikipedia page for Principle of the Least Privilege concept.

* chore: fix spacing.

* Add a section for google-auth-library-cab-token-generator
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Feb 9, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
|
[com.google.http-client:google-http-client-jackson2](https://github.com/googleapis/google-http-java-client)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`1.46.0` -> `1.46.1` |
|
[com.google.http-client:google-http-client](https://github.com/googleapis/google-http-java-client)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`1.46.0` -> `1.46.1` |
|
[com.google.auth:google-auth-library-oauth2-http](https://github.com/googleapis/google-auth-library-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`1.32.0` -> `1.32.1` |
|
[com.google.auth:google-auth-library-credentials](https://github.com/googleapis/google-auth-library-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`1.32.0` -> `1.32.1` |
|
[com.autonomousapps.dependency-analysis](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin)
| plugin | misk/gradle/libs.versions.toml | gradle | patch | `2.8.0` ->
`2.8.1` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.15` -> `2.30.16` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.15` -> `2.30.16` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.15` -> `2.30.16` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.15` -> `2.30.16` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.15` -> `2.30.16` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.15` -> `2.30.16` |

---

### Release Notes

<details>
<summary>googleapis/google-http-java-client
(com.google.http-client:google-http-client-jackson2)</summary>

###
[`v1.46.1`](https://github.com/googleapis/google-http-java-client/blob/HEAD/CHANGELOG.md#1461-2025-02-07)

##### Bug Fixes

- Remove unnecessary nexus plugin activation
([#&#8203;2071](googleapis/google-http-java-client#2071))
([e3a3523](googleapis/google-http-java-client@e3a3523))

##### Dependencies

- Revert dependency io.grpc:grpc-context back to v1.69.0
([5790ac4](googleapis/google-http-java-client@5790ac4))

</details>

<details>
<summary>googleapis/google-auth-library-java
(com.google.auth:google-auth-library-oauth2-http)</summary>

###
[`v1.32.1`](https://github.com/googleapis/google-auth-library-java/blob/HEAD/CHANGELOG.md#1321-2025-02-07)

##### Bug Fixes

- Add cab-token-generator module to Auth BOM
([#&#8203;1662](googleapis/google-auth-library-java#1662))
([e409b02](googleapis/google-auth-library-java@e409b02))
- Remove unnecessary nexus-staging-maven-plugin activation
([#&#8203;1665](googleapis/google-auth-library-java#1665))
([d138023](googleapis/google-auth-library-java@d138023))

##### Dependencies

- Update dependency com.google.http-client:google-http-client-bom to
v1.46.0
([e53c441](googleapis/google-auth-library-java@e53c441))

##### Documentation

- Update README with client-side CAB instructions
([#&#8203;1607](googleapis/google-auth-library-java#1607))
([#&#8203;1666](googleapis/google-auth-library-java#1666))
([2996297](googleapis/google-auth-library-java@2996297))

</details>

<details>
<summary>autonomousapps/dependency-analysis-android-gradle-plugin
(com.autonomousapps.dependency-analysis)</summary>

###
[`v2.8.1`](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin/blob/HEAD/CHANGELOG.md#Version-281)

- \[Fix]: cache `SuperClassGraph`. No need to recompute for each
dependency.
-   \[Fix]: use less heap by using empty singleton collections.
-   \[Fix]: trade metaspace for heap by interning strings.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am
every weekday" in timezone Australia/Melbourne, Automerge - At any time
(no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).

GitOrigin-RevId: c26ab17091cb359fb631e73c0754aab31e09f98e
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size: m Pull request size is medium.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants