首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Cloud Foundry中限制访问

如何在Cloud Foundry中限制访问
EN

Stack Overflow用户
提问于 2021-06-10 17:41:41
回答 1查看 118关注 0票数 0

我是Cloud Foundry的新手。有没有办法让特定用户可以查看和更新在Cloud Foundry中部署的应用程序?

1.我使用cf push命令在Cloud Foundry中部署了一个应用。2.输入“cf push”命令后,我收到以下消息。

代码语言:javascript
复制
    Using manifest file /home/stevemar/node-hello-world/manifest.yml
    enter Creating app node-hello-world-example...

name:              node-hello-world-example
requested state:   started
routes:            {route-information}
last uploaded:     Mon 14 Sep 13:46:54 UTC 2020
stack:             cflinuxfs3
buildpacks:        sdk-for-nodejs
type:            web
instances:       1/1
memory usage:    256M

3.使用上面的{route-information},我可以看到通过浏览器部署的应用程序在URL下面输入。

https://{route-information}

通过这种方式,任何人都可以从浏览器看到应用程序,但我不希望每个人都看到它,并限制特定用户的访问权限。

听说这个全局IP默认分配给{route-information}。有没有办法将访问限制在特定用户之间?
(例如,在Cloud Foundry中是否有像Kubernetes中的“私有注册表”这样的功能,它不是公开的)

由于我在IBM Cloud中使用Cloud Foundry,如果有使用IBM Cloud的解决方案就更好了。我已经将cloud foundry角色授予了其他用户。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-06-11 22:21:11

CloudFoundry平台本身不为应用程序提供任何访问控制。如果您为您的应用程序分配了一个公共路由,其中DNS是可公开解析的,并且基础位于公共Internet上,如IBM Bluemix,那么任何人都可以访问您的应用程序。

您可以做许多事情来限制访问,但它们确实需要您做一些工作。

  1. 使用私有DNS。您可以向Cloud Foundry添加任何您想要的域,即使是无法解析的域。这意味着你可以添加不能在任何地方解析的my-cool-domain.local。然后,您可以将记录添加到此域的/etc/hosts,或者可能在您的本地网络上运行DNS,以解析此DNS域并将流量定向到CloudFoundry。

使用此设置,大多数人无法访问您的应用程序,因为到您的应用程序的路由的DNS域在任何地方都无法解析。重要的是要理解,这并不是真正的安全性,而是模糊性。这将阻止大部分流量进入您的应用程序,但如果有人知道域名,他们可以添加自己的/etc/hosts报头或发送假Host报头来访问您的应用程序。

如果您的安全要求较低,例如您只想在处理时隐藏某些内容,或者它可以与下面的其他选项配合使用,则此类型的设置可以很好地工作。

  1. 您可以在应用程序中设置访问控制。许多应用服务器和框架可以做一些事情,比如通过IP地址限制访问或要求用户访问(基本身份验证很容易,如果你只允许HTTPS流量到你的应用程序,那也没问题,无论如何你都应该这样做)。

你也可以使用OAuth2来保护应用程序。同样,许多应用服务器和框架都支持这一点,并使其相对简单,以保护您的应用程序。如果您没有企业OAuth2解决方案,可以使用public providers you can use。你如何在你的应用程序中做OAuth2超出了这个问题的范围,但是有很多关于如何做到这一点的材料。你所选择的应用程序语言/框架的谷歌信息。

  1. 您可以设置访问网关。这将是一个应用程序,其工作是将流量代理到基础上的其他应用程序。Gateway可以是Nginx、Apache HTTPD或Spring Cloud Gateway。这个想法是,网关将是公开访问的,并且几乎肯定会应用访问控制/限制(参见#2,许多这些代理都有访问控制选项,只需要几行配置)。但是,您的实际应用程序不会被公开部署。当您部署实际的应用程序时,它们将仅位于内部Cloud Foundry域上。

CloudFoundry有local domains,通常是apps.internal (运行cf domains查看是否出现),您可以使用它轻松地在内部容器到容器网络中路由流量。使用此域和C2C网络,您可以将无法通过公共互联网访问的应用程序部署到CF,除非通过您的网关。

同样,如何准确地配置它超出了这个问题的范围,但请查看我链接的文档,以获取有关使用C2C网络和内部路由的信息。然后检查您选择的代理服务器的documentation.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67918645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档