-
Notifications
You must be signed in to change notification settings - Fork 793
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
pipelines: Follow up on connecting to KFP in multi-user mode. #3022
pipelines: Follow up on connecting to KFP in multi-user mode. #3022
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: zijianjoy The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
[projection](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#service-account-token-volume-projection). | ||
Simply put, the token is first being injected into a Pod (e.g. Jupyter notebook's). | ||
Then Kubeflow Pipelines SDK uses this token to authorize against Kubeflow Pipelines API. | ||
When using Kubeflow Pipelines SDK in the same cluster, it authenticates as default-editor in your namespace using ServiceAccountToken |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"When using Kubeflow Pipelines SDK in the same cluster, [it] authenticates as default-editor.."
Could we be more explicit about the situation and what "it" refers to? For example:
"When multiple users employ the Kubeflow Pipelines SDK in the same cluster, the [service/SDK] authenticates the [namespace/role/user?] as default editor..."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reworded to following:
When calling Kubeflow Pipelines API in the same cluster, Kubeflow Pipelines SDK authenticates itself as
default-editor in your namespace using ServiceAccountToken projection.
Hope it is a bit clearer.
@zijianjoy Please correct me if I'm wrong but is it the token from Quote from the comment:
... and (to my knowledge) the token SDK retrieves is the one from Also, have a look at this jupyter Pod (namespace has been already configured with
|
@bartgras the documentation in https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#service-account-token-volume-projection wasn't very clear on this. To answer your question, the projected token is a derived token from the service account token (e.g. default-editor here), the projected token has an audience of pipelines.kubeflow.org, so that only the pipelines service will accept the projected token and authenticate you as this is a follow up on #2905 (comment) |
[projection](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#service-account-token-volume-projection). | ||
Simply put, the token is first being injected into a Pod (e.g. Jupyter notebook's). | ||
Then Kubeflow Pipelines SDK uses this token to authorize against Kubeflow Pipelines API. | ||
When calling Kubeflow Pipelines API in the same cluster, Kubeflow Pipelines SDK authenticates itself as `default-editor` in your namespace using ServiceAccountToken |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: instead of default-editor
, it's more accurate to say "your Pod's service account" (or any other words with the same meaning), because the example is using default-editor
, but people can configure auth with any other service accounts too.
Thanks for the update! |
Ohh, I didn't intend to merge the PR right away. Feel free to leave more comments. |
Thanks for clarifying @Bobgy That made me realize that Pod manifest in section "Access Kubeflow Pipelines from within any Pod" is |
To address the comments in #2905:
cc @bartgras @shuesc1