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 Security Guidance on Dashboard Ingress #1413

Merged
merged 2 commits into from
Sep 12, 2023

Conversation

ijrsvt
Copy link
Contributor

@ijrsvt ijrsvt commented Sep 11, 2023

Why are these changes needed?

The Ray Dashboard is a Read/Write service into the cluster and thus should not be publicly exposed.

I'll be mirroring these over in the Ray docs in a follow up PR!

Related issue number

Checks

  • I've made sure the tests are passing.
  • Testing Strategy
    • Unit tests
    • Manual tests
    • This PR is not tested :(

@@ -5,6 +5,9 @@ Here we provide some examples to show how to use ingress to access your Ray clus
* [Example: AWS Application Load Balancer (ALB) Ingress support on AWS EKS](#example-aws-application-load-balancer-alb-ingress-support-on-aws-eks)
* [Example: Manually setting up NGINX Ingress on KinD](#example-manually-setting-up-nginx-ingress-on-kind)


> :warning: **Only expose Ingresses to authorized users.** The Ray Dashboard provides read and write access to the Ray Cluster. Anyone with access to this Ingress can execute arbitrary code on the Ray Cluster.
Copy link
Member

Choose a reason for hiding this comment

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

Would you mind updating the documentation at this link? We have already transferred most of the documents to the Ray repository. The documents here will be removed to maintain a single, authoritative source of information.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Working on a PR with this as well!

# WARNING: Do not expose this ALB publicly without additional authentication/authorization.
# The Ray Dashboard provides read and write access to the cluster. Anyone with access to the
# ALB can launch arbitrary code execution on the Ray Cluster.
alb.ingress.kubernetes.io/scheme: internal
Copy link
Member

Choose a reason for hiding this comment

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

Does this doc still work after the change? In addition, would you mind explaining what's the difference from security perspective between internal and internal-facing?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The difference between internal and **internet**-facing is that internal requires access from within the VPC, whereas internet-facing is exposed on the public internet. It is unsafe to publicly expose the Ray Dashboard on the internet because that allows anyone to submit Ray Jobs (and thus execute arbitrary code) on the cluster.

internal requires a VPC or similar technology to reach, but is more safe by default.

Copy link
Member

Choose a reason for hiding this comment

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

Thanks for the explanation! Based on the explanation, this doc seems to no longer work without modification.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm going to update that as well. It will technically get the ALB up and running, but will not give immediate access.

Copy link
Member

Choose a reason for hiding this comment

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

Can we cherry-pick the doc update to Ray 2.7.0? I guess the doc uses the YAML file in the KubeRay master branch. If we merge this PR at this moment, users may have issues when they try the doc on the Ray website.

@architkulkarni architkulkarni merged commit 36f32ed into ray-project:master Sep 12, 2023
15 checks passed
lowang-bh pushed a commit to lowang-bh/kuberay that referenced this pull request Sep 24, 2023
Why are these changes needed?
The Ray Dashboard is a Read/Write service into the cluster and thus should not be publicly exposed.

I'll be mirroring these over in the Ray docs in a follow up PR!
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.

3 participants