8.2.2. 在没有 OAuth 服务器的情况下配置
要在不使用 OAuth 服务器的情况下配置 3scale 服务发现,您可以使用 3scale 单服务帐户对 OpenShift API 服务进行身份验证。3scale 单服务帐户为集群提供无缝身份验证,以进行服务发现,而无需用户级别的授权层。所有 3scale 租户管理用户对集群具有相同的访问权限级别,同时通过 3scale 发现 API 服务。
流程
验证 3scale 项目是否为当前项目。
$ oc project <3scale-project>
在编辑器中打开 3scale 服务发现设置。
$ oc edit configmap system
验证是否已配置以下设置:
service_discovery.yml: production: enabled: <%= cluster_token_file_exists = File.exists?(cluster_token_file_path = '/var/run/secrets/kubernetes.io/serviceaccount/token') %> bearer_token: "<%= File.read(cluster_token_file_path) if cluster_token_file_exists %>" authentication_method: service_account
为 3scale 部署
amp
服务帐户提供相关权限,以便查看包含可发现服务的项目:为 3scale 部署
amp
服务帐户授予查看
集群级别权限。oc adm policy add-cluster-role-to-user view system:serviceaccount:<3scale-project>:amp
- 应用更严格的策略,如 OpenShift - Service Accounts 所述。