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

Remove IAM user usage in Kubeflow and replace that with IAM role #44

Open
goswamig opened this issue Dec 10, 2021 · 11 comments
Open

Remove IAM user usage in Kubeflow and replace that with IAM role #44

goswamig opened this issue Dec 10, 2021 · 11 comments
Assignees
Labels
enhancement New feature or request

Comments

@goswamig
Copy link
Member

We want kubeflow to be completely off the usage of static credentials but only using IRSA.

  1. figure out the IAM user usage in kubeflow component.
  2. Replace them with IAM role using IRSA.
@revolutionisme
Copy link

@goswamig Is there any update on this? IIRC, we could use IRSA for setting up kubeflow pipelines separately but this seems to be not possible with Kubeflow and this is a critical requirement for us as we are restricted to creating static users on our AWS accounts!

@icereed
Copy link

icereed commented Jan 11, 2022

This is a very important feature to us since static IAM users are a security issue because the credentials can leak.
Highly appreciated if this is being worked on. 👍

@muthurajr
Copy link

@revolutionisme @icereed A patch for the minio deployment using s3 gateway can be applied as a temporary solution.

An example,

apiVersion: apps/v1
kind: Deployment
metadata:
  name: minio
spec:
  template:
    spec:
      serviceAccountName: minio
      containers:
        - name: minio
          image: minio/minio:RELEASE.2022-02-01T18-00-14Z
          args:
            - gateway
            - s3
          volumeMounts:
          - name: data
            $patch: delete
      volumes:
        - name: data
          $patch: delete

Here "minio" is a eks service account with IAM role attached, and container image needs update as well.

@goswamig
Copy link
Member Author

goswamig commented Mar 3, 2022

a lot of discussion around this kubeflow/pipelines#3405

@goswamig
Copy link
Member Author

Current status:

So there are multiple places where we can use IRSA for S3 access and these are blocked by Minio feature gap of support

Kubeflow pipeline

KFServing/KServing

Tensorboard on KubeFlow

Probably many other places...

There are places where we use IRSA today since its not blocked minio
for e.g.
in Kubeflow pipeline component

There are places where we can use IRSA
for e.g. Notebook pod where individual users should have limited access from their notebook pod.

Regarding Kubeflow pipeline

We needed to add support for IRSA on following components

  1. Argo-workflow: This support is already available from argo-workflow 2.5.0, we had version
  2. Minio-go for backend: There was a PR which was closed prematurely, we need to revive it and drive it to completion.
  3. Minio-js for frontend: Once Minio-js-7.0.27 is available with IRSA feature, we need to include the changes something like mentioned in this issue

@surajkota
Copy link
Contributor

surajkota commented Mar 24, 2022

Created an issue to support this in Kserve: kserve/kserve#2113

@goswamig
Copy link
Member Author

minio-js-7.0.27 was released few days back https://github.com/minio/minio-js/tree/7.0.27

@surajkota
Copy link
Contributor

@ryansteakley
Copy link
Contributor

tracking kubeflow/pipelines#8502

@ananth102 ananth102 added the enhancement New feature or request label Feb 8, 2023
@aaj-synth
Copy link

Is there an update on this issue?

@ryansteakley
Copy link
Contributor

@aaj-synth its been resolved, IRSA has been usable since 1.7 release in AWS distro

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

No branches or pull requests

8 participants