搜索

7.2. 认证和授权

download PDF

7.2.1. 使用 OAuth 控制访问

您可以通过身份验证和授权使用 API 访问控制来保护容器平台。OpenShift Container Platform master 包含内置的 OAuth 服务器。用户可以获取 OAuth 访问令牌来对自身进行 API 身份验证。

作为管理员,您可以使用用户身份供应商(如 LDAP、GitHub 或 Google)配置 OAuth 以进行身份验证。Deny All 用户身份供应商默认用于新的 OpenShift Container Platform 部署,但您可以在初始安装时或安装后进行此配置。如需完整的身份提供程序列表,请参阅配置身份验证和用户代理

例如,在安装后配置 GitHub 身份提供程序:

  1. 编辑 /etc/origin/master-config.yaml 中的 master 配置文件。
  2. 修改 oauthConfig 小节:

    oauthConfig:
      ...
      identityProviders:
      - name: github
        challenge: false
        login: true
        mappingMethod: claim
        provider:
          apiVersion: v1
          kind: GitHubIdentityProvider
          clientID: ...
          clientSecret: ...
          organizations:
          - myorganization1
          - myorganization2
          teams:
          - myorganization1/team-a
          - myorganization2/team-b
    注意

    如需更多详细信息和使用情况,请参阅配置身份验证中的 GitHub 部分。

  3. 保存更改后,重启 master 服务以使更改生效:

    # master-restart api
    # master-restart controllers
深入阅读

7.2.2. API 访问控制和管理

应用程序可以拥有多个独立的 API 服务,这些服务具有不同的端点需要管理。OpenShift Container Platform 包含 3scale API 网关的容器化版本,以便您管理 API 并控制访问。

3scale 为您提供用于 API 身份验证和安全性的各种标准选项,它们可单独或组合起来用于发布凭证和控制访问:标准 API 密钥、应用程序 ID 和密钥对以及 OAuth 2.0。

您可以限制对特定端点、方法和服务的访问,并为用户组应用访问策略。您可以通过应用程序计划来为各组开发人员设置 API 使用率限制并控制流量。

有关使用容器化 3scale API 网关 APIcast v2 的教程,请参阅在 Red Hat OpenShift 上运行 APIcast

7.2.3. Red Hat SSO

Red Hat Single Sign-On(RH-SSO)服务器通过根据标准提供 Web SSO 功能来保护应用程序,包括 SAML 2.0、OpenID Connect 和 OAuth 2.0。该服务器可充当基于 SAML 或 OpenID Connect 的用户身份供应商 (IdP),使用基于标准的令牌在您的企业用户目录或用于身份信息的第三方用户身份供应商与您的应用程序之间进行调和。您可以将 Red Hat SSO 与基于 LDAP 的目录服务集成,包括 Microsoft Active Directory 和 Red Hat Enterprise Linux Identity Management。

有关使用指南,请参阅 Red Hat JBoss SSO

7.2.4. 安全自助服务 Web 控制台

OpenShift Container Platform 提供了一个自助服务 Web 控制台,以确保团队在没有授权的情况下无法访问其他环境。OpenShift Container Platform 通过提供以下功能来确保安全多租户 master:

  • 使用传输层安全 (TLS) 访问 master
  • 使用 X.509 证书或 OAuth 访问令牌访问 API 服务器
  • 通过项目配额限制异常令牌可以造成的破坏
  • etcd 不直接向集群公开
深入阅读
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.