3.9. 管理身份和授权


本节论述了管理 Red Hat OpenShift Dev Spaces 的身份和授权的不同方面。

3.9.1. 为 Git 供应商配置 OAuth

您可以在 OpenShift Dev Spaces 和 Git 供应商之间配置 OAuth,允许用户使用远程 Git 存储库:

3.9.1.1. 为 GitHub 配置 OAuth 2.0

允许用户使用 GitHub 上托管的远程 Git 存储库:

  1. 设置 GitHub OAuth 应用程序(OAuth 2.0)。
  2. 应用 GitHub OAuth App Secret。
3.9.1.1.1. 设置 GitHub OAuth 应用程序

使用 OAuth 2.0 设置 GitHub OAuth 应用程序。

先决条件

  • 已登陆到 GitHub。
  • base64 安装在您正在使用的操作系统中。

流程

  1. 进入 https://github.com/settings/applications/new
  2. 输入以下值:

    1. 应用程序名称OpenShift Dev Spaces
    2. Homepage URL: https://<openshift_dev_spaces_fqdn>/
    3. 授权回调 URLhttps:// &lt;openshift_dev_spaces_fqdn&gt; /api/oauth/callback
  3. 点击 Register application
  4. Generate new client secret
  5. 复制 GitHub OAuth 客户端 ID,并将其编码到 Base64 中,以便在应用 GitHub OAuth App Secret 时要使用的:

    $ echo -n '<github_oauth_client_id>' | base64
  6. 复制 GitHub OAuth 客户端 Secret,并将其编码到 Base64 中,以便在应用 GitHub OAuth App Secret 时要使用的:

    $ echo -n '<github_oauth_client_secret>' | base64
3.9.1.1.2. 应用 GitHub OAuth 应用程序 Secret

准备并应用 GitHub OAuth App Secret。

先决条件

  • 设置 GitHub OAuth 应用程序已完成。
  • 准备好设置 GitHub OAuth App 时生成的 Base64 编码值:

    • GitHub OAuth Client ID
    • GitHub OAuth 客户端 Secret
  • 一个活跃的 oc 会话,它具有到目标 OpenShift 集群的管理权限。请参阅开始使用 CLI

流程

  1. 准备 Secret:

    kind: Secret
    apiVersion: v1
    metadata:
      name: github-oauth-config
      namespace: openshift-devspaces 1
      labels:
        app.kubernetes.io/part-of: che.eclipse.org
        app.kubernetes.io/component: oauth-scm-configuration
      annotations:
        che.eclipse.org/oauth-scm-server: github
        che.eclipse.org/scm-server-endpoint: <github_server_url> 2
        che.eclipse.org/scm-github-disable-subdomain-isolation: "<true_or_false>" 3
    type: Opaque
    data:
      id: <Base64_GitHub_OAuth_Client_ID> 4
      secret: <Base64_GitHub_OAuth_Client_Secret> 5
    1
    OpenShift Dev Spaces 命名空间。默认值为 openshift-devspaces
    2
    这取决于您的机构正在使用的 GitHub 产品: 在 GitHub.com 或 GitHub Enterprise Cloud 上托管存储库时,忽略这一行或输入默认的 https://github.com。在 GitHub Enterprise 服务器上托管存储库时,请输入 GitHub Enterprise Server URL。
    3
    这一行仅用于 GitHub Enterprise Server。要禁用子域隔离,请将其设置为 "true "。要启用子域隔离,请将其设置为 "false "。
    4
    Base64 编码的 GitHub OAuth 客户端 ID
    5
    Base64 编码的 GitHub OAuth 客户端机密
  2. 应用 Secret:

    $ oc apply -f - <<EOF
    <Secret_prepared_in_the_previous_step>
    EOF
  3. 验证在 Secret 是否已创建的输出中。

3.9.1.2. 为 GitLab 配置 OAuth 2.0

允许用户使用 GitLab 实例托管的远程 Git 存储库:

  1. 设置 GitLab 授权应用(OAuth 2.0)。
  2. 应用 GitLab 授权应用程序 Secret。
3.9.1.2.1. 设置 GitLab 授权应用程序

使用 OAuth 2.0 设置 GitLab 授权应用程序。

先决条件

  • 已登陆到 GitLab。
  • base64 安装在您正在使用的操作系统中。

流程

  1. 点您的 avatar,再进入 Edit profile Applications
  2. 输入 OpenShift Dev Spaces 作为 Name
  3. 输入 https://<openshift_dev_spaces_fqdn&gt; /api/oauth/callback 作为 Redirect URI
  4. 选中 ConfidentialExpire 访问令牌 复选框。
  5. Scopes 下,选中 apiwrite_repositoryopenid 复选框。
  6. Save application
  7. 复制 GitLab 应用程序 ID,并将其编码到 Base64 中,以便在应用 GitLab-authorized 应用程序 Secret 时要使用的:

    $ echo -n '<gitlab_application_id>' | base64
  8. 复制 GitLab 客户端 Secret,并将其编码到 Base64 中,以便在应用 GitLab-authorized 应用程序 Secret 时要使用的:

    $ echo -n '<gitlab_client_secret>' | base64
3.9.1.2.2. 应用 GitLab-authorized 应用程序 Secret

准备并应用 GitLab-authorized 应用程序 Secret。

先决条件

  • 设置 GitLab 授权应用程序已完成。
  • 准备好在设置 GitLab 授权应用程序时生成的 Base64 编码值:

    • GitLab 应用程序 ID
    • GitLab Client Secret
  • 一个活跃的 oc 会话,它具有到目标 OpenShift 集群的管理权限。请参阅开始使用 CLI

流程

  1. 准备 Secret:

    kind: Secret
    apiVersion: v1
    metadata:
      name: gitlab-oauth-config
      namespace: openshift-devspaces 1
      labels:
        app.kubernetes.io/part-of: che.eclipse.org
        app.kubernetes.io/component: oauth-scm-configuration
      annotations:
        che.eclipse.org/oauth-scm-server: gitlab
        che.eclipse.org/scm-server-endpoint: <gitlab_server_url> 2
    type: Opaque
    data:
      id: <Base64_GitLab_Application_ID> 3
      secret: <Base64_GitLab_Client_Secret> 4
    1
    OpenShift Dev Spaces 命名空间。默认值为 openshift-devspaces
    2
    GitLab 服务器 URL。使用 https://gitlab.com 作为 SAAS 版本。
    3
    Base64 编码的 GitLab 应用程序 ID
    4
    Base64 编码的 GitLab 客户端 Secret
  2. 应用 Secret:

    $ oc apply -f - <<EOF
    <Secret_prepared_in_the_previous_step>
    EOF
  3. 验证在 Secret 是否已创建的输出中。

3.9.1.3. 为 Bitbucket 服务器配置 OAuth 2.0

您可以使用 OAuth 2.0 来允许用户处理托管在 Bitbucket 服务器上的远程 Git 存储库:

  1. 在 Bitbucket 服务器上设置 OAuth 2.0 应用链接。
  2. 为 Bitbucket 服务器应用应用链接 Secret。

3.9.1.4. 为 Bitbucket 云配置 OAuth 2.0

您可以允许用户使用托管在 Bitbucket 云中的远程 Git 存储库:

  1. 在 Bitbucket 云中设置 OAuth 使用者(OAuth 2.0)。
  2. 为 Bitbucket 云应用 OAuth 使用者 Secret。
3.9.1.4.1. 在 Bitbucket 云中设置 OAuth 使用者

在 Bitbucket 云中为 OAuth 2.0 设置 OAuth 使用者。

先决条件

  • 您已登录到 Bitbucket 云。
  • base64 安装在您正在使用的操作系统中。

流程

  1. 点您的 avatar,再进入 All workspaces 页面。
  2. 选择一个工作区并点它。
  3. 前往 Settings OAuth consumers Add consumer
  4. 输入 OpenShift Dev Spaces 作为 Name
  5. 输入 https://<openshift_dev_spaces_fqdn&gt; /api/oauth/callback 作为 Callback URL
  6. Permissions 下,选中所有 帐户 和存储库 复选框,然后单击 Save
  7. 展开添加的消费者,然后复制 Key 值并将其编码为 Base64,以便在应用 Bitbucket OAuth 消费者 Secret 时使用:

    $ echo -n '<bitbucket_oauth_consumer_key>' | base64
  8. 复制 Secret 值并将其以 Base64 进行编码,以便在应用 Bitbucket OAuth 消费者 Secret 时使用:

    $ echo -n '<bitbucket_oauth_consumer_secret>' | base64
3.9.1.4.2. 为 Bitbucket 云应用 OAuth 使用者 Secret

为 Bitbucket 云准备并应用 OAuth 使用者机密。

先决条件

  • OAuth 使用者在 Bitbucket 云中设置。
  • 准备好在设置 Bitbucket OAuth 使用者时生成的 Base64 编码值:

    • Bitbucket OAuth 使用者密钥
    • Bitbucket OAuth 使用者 Secret
  • 一个活跃的 oc 会话,它具有到目标 OpenShift 集群的管理权限。请参阅开始使用 CLI

流程

  1. 准备 Secret:

    kind: Secret
    apiVersion: v1
    metadata:
      name: bitbucket-oauth-config
      namespace: openshift-devspaces 1
      labels:
        app.kubernetes.io/part-of: che.eclipse.org
        app.kubernetes.io/component: oauth-scm-configuration
      annotations:
        che.eclipse.org/oauth-scm-server: bitbucket
    type: Opaque
    data:
      id: <Base64_Bitbucket_Oauth_Consumer_Key> 2
      secret: <Base64_Bitbucket_Oauth_Consumer_Secret> 3
    1
    OpenShift Dev Spaces 命名空间。默认值为 openshift-devspaces
    2
    Base64 编码的 Bitbucket OAuth 使用者密钥
    3
    Base64 编码的 Bitbucket OAuth 使用者机密
  2. 应用 Secret:

    $ oc apply -f - <<EOF
    <Secret_prepared_in_the_previous_step>
    EOF
  3. 验证在 Secret 是否已创建的输出中。

3.9.1.5. 为 Bitbucket 服务器配置 OAuth 1.0

允许用户使用在 Bitbucket 服务器上托管的远程 Git 存储库:

  1. 在 Bitbucket 服务器上设置应用链接(OAuth 1.0)。
  2. 为 Bitbucket 服务器应用应用链接 Secret。

3.9.1.6. 为 Microsoft Azure DevOps 服务配置 OAuth 2.0

用户可以使用托管在 Microsoft Azure Repo 上的远程 Git 存储库:

  1. 设置 Microsoft Azure DevOps 服务 OAuth 应用程序(OAuth 2.0)。
  2. 应用 Microsoft Azure DevOps Services OAuth App Secret。
3.9.1.6.1. 设置 Microsoft Azure DevOps 服务 OAuth 应用程序

使用 OAuth 2.0 设置 Microsoft Azure DevOps 服务 OAuth 应用程序。

先决条件

流程

  1. Visit https://app.vsaex.visualstudio.com/app/register/.
  2. 输入以下值:

    1. 公司名称OpenShift Dev Spaces
    2. 应用程序名称OpenShift Dev Spaces
    3. 应用程序网站https:// &lt;openshift_dev_spaces_fqdn>/
    4. 授权回调 URLhttps:// &lt;openshift_dev_spaces_fqdn&gt; /api/oauth/callback
  3. Select Authorized ranges 中,选择 Code (读取和写入)。
  4. Create application
  5. 复制 App ID,并将其编码到 Base64 中,以便在应用 Microsoft Azure DevOps Services OAuth App Secret 时使用:

    $ echo -n '<microsoft_azure_devops_services_oauth_app_id>' | base64
  6. 单击 Show 以显示 客户端 Secret
  7. 复制 客户端 Secret,并将其编码到 Base64 中,以便在应用 Microsoft Azure DevOps Services OAuth App Secret 时使用:

    $ echo -n '<microsoft_azure_devops_services_oauth_client_secret>' | base64
3.9.1.6.2. 应用 Microsoft Azure DevOps Services OAuth App Secret

准备并应用 Microsoft Azure DevOps Services Secret。

先决条件

  • 设置 Microsoft Azure DevOps 服务 OAuth 应用程序已完成。
  • 准备好在设置 Microsoft Azure DevOps Services OAuth App 时生成以 Base64 编码的值:

    • 应用程序 ID
    • Client Secret
  • 一个活跃的 oc 会话,它具有到目标 OpenShift 集群的管理权限。请参阅开始使用 CLI

流程

  1. 准备 Secret:

    kind: Secret
    apiVersion: v1
    metadata:
      name: azure-devops-oauth-config
      namespace: openshift-devspaces1
      labels:
        app.kubernetes.io/part-of: che.eclipse.org
        app.kubernetes.io/component: oauth-scm-configuration
      annotations:
        che.eclipse.org/oauth-scm-server: azure-devops
    type: Opaque
    data:
      id: <Base64_Microsoft_Azure_DevOps_Services_OAuth_App_ID>2
      secret: <Base64_Microsoft_Azure_DevOps_Services_OAuth_Client_Secret>3
    1
    OpenShift Dev Spaces 命名空间。默认值为 openshift-devspaces
    2
    Base64 编码的 Microsoft Azure DevOps Services OAuth App ID
    3
    Base64 编码的 Microsoft Azure DevOps Services OAuth Client Secret
  2. 应用 Secret:

    $ oc apply -f - <<EOF
    <Secret_prepared_in_the_previous_step>
    EOF
  3. 验证在 Secret 是否已创建的输出中。

3.9.2. 删除用户数据以遵守 GDPR

您可以删除 OpenShift Container Platform 上用户的数据,以符合实施个人正确个人数据的通用 数据保护恢复(GDPR)。其他 Kubernetes 基础架构的过程可能会有所不同。按照用于 Red Hat OpenShift Dev Spaces 安装的供应商的用户管理最佳实践操作。

警告

按如下所示删除用户数据是不可逆的!所有删除的数据都会被删除并无法恢复!

先决条件

流程

  1. 使用以下命令列出 OpenShift 集群中的所有用户:

    $ oc get users
  2. 删除用户条目:

    重要

    如果用户有任何相关资源(如项目、角色或服务帐户),请在删除用户前首先删除这些资源。

    $ oc delete user <username>
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.