8.2. 在 Red Hat Developer Hub 中使用 Microsoft Azure 作为身份验证供应商


Developer Hub 中的 core-plugin-api 软件包与 Microsoft Azure 身份验证供应商集成,使用 Azure OAuth 进行身份验证。

先决条件

  • 您已在 AKS 上部署了 Developer Hub。

如需更多信息,请参阅在 Azure Kubernetes Service (AKS)上安装 Red Hat Developer Hub

在使用 Helm Chart 安装时,您可以在 Red Hat Developer Hub 中使用 Microsoft Azure 作为身份验证供应商。

如需更多信息,请参阅使用 Helm Chart 在 AKS 上部署 Developer Hub

流程

  1. 注册应用程序后,请注意以下几点:

    • clientId: Application (client) ID,它位于 App Registration Overview 下。
    • clientSecret: Secret,在 *App Registration Certificates & secrets 下找到(如果需要,创建新的)。
    • tenantId: Directory (tenant) ID,它位于 App Registration Overview 下。
  2. 确保 Developer Hub ConfigMap 中包含以下片段:

    auth:
      environment: production
      providers:
        microsoft:
          production:
            clientId: ${AZURE_CLIENT_ID}
            clientSecret: ${AZURE_CLIENT_SECRET}
            tenantId: ${AZURE_TENANT_ID}
            domainHint: ${AZURE_TENANT_ID}
            additionalScopes:
              - Mail.Send
    Copy to Clipboard Toggle word wrap

    您可以创建新文件或将其添加到现有文件中。

  3. 将 ConfigMap 应用到 Kubernetes 集群:

    kubectl -n <your_namespace> apply -f <app-config>.yaml
    Copy to Clipboard Toggle word wrap
  4. 创建或重复使用包含 Azure 凭证的现有 Secret,并添加以下片段:

    stringData:
      AZURE_CLIENT_ID: <value-of-clientId>
      AZURE_CLIENT_SECRET: <value-of-clientSecret>
      AZURE_TENANT_ID: <value-of-tenantId>
    Copy to Clipboard Toggle word wrap
  5. 将 secret 应用到 Kubernetes 集群:

    kubectl -n <your_namespace> apply -f <azure-secrets>.yaml
    Copy to Clipboard Toggle word wrap
  6. 确保您的 values.yaml 文件引用之前创建的 ConfigMap 和 Secret:

    upstream:
      backstage:
      ...
        extraAppConfig:
          - filename: ...
            configMapRef: <app-config-containing-azure>
        extraEnvVarsSecrets:
          - <secret-containing-azure>
    Copy to Clipboard Toggle word wrap
  7. 可选: 如果已安装 Helm Chart,请升级它:

    helm -n <your_namespace> upgrade -f <your-values.yaml> <your_deploy_name> redhat-developer/backstage --version 1.2.6
    Copy to Clipboard Toggle word wrap
  8. 可选: 如果没有更改 rhdh.yaml 文件,例如,您只更新从它引用的 ConfigMap 和 Secret,请通过删除对应的 pod 来刷新 Developer Hub 部署:

    kubectl -n <your_namespace> delete pods -l backstage.io/app=backstage-<your-rhdh-cr>
    Copy to Clipboard Toggle word wrap

在使用 Operator 安装时,您可以在 Red Hat Developer Hub 中使用 Microsoft Azure 作为身份验证供应商。

如需更多信息,请参阅使用 Operator 在 OpenShift Container Platform 上安装 Red Hat Developer Hub

流程

  1. 注册应用程序后,请注意以下几点:

    • clientId: Application (client) ID,它位于 App Registration Overview 下。
    • clientSecret: Secret,在 *App Registration Certificates & secrets 下找到(如果需要,创建新的)。
    • tenantId: Directory (tenant) ID,它位于 App Registration Overview 下。
  2. 确保 Developer Hub ConfigMap 中包含以下片段:

    auth:
      environment: production
      providers:
        microsoft:
          production:
            clientId: ${AZURE_CLIENT_ID}
            clientSecret: ${AZURE_CLIENT_SECRET}
            tenantId: ${AZURE_TENANT_ID}
            domainHint: ${AZURE_TENANT_ID}
            additionalScopes:
              - Mail.Send
    Copy to Clipboard Toggle word wrap

    您可以创建新文件或将其添加到现有文件中。

  3. 将 ConfigMap 应用到 Kubernetes 集群:

    kubectl -n <your_namespace> apply -f <app-config>.yaml
    Copy to Clipboard Toggle word wrap
  4. 创建或重复使用包含 Azure 凭证的现有 Secret,并添加以下片段:

    stringData:
      AZURE_CLIENT_ID: <value-of-clientId>
      AZURE_CLIENT_SECRET: <value-of-clientSecret>
      AZURE_TENANT_ID: <value-of-tenantId>
    Copy to Clipboard Toggle word wrap
  5. 将 secret 应用到 Kubernetes 集群:

    kubectl -n <your_namespace> apply -f <azure-secrets>.yaml
    Copy to Clipboard Toggle word wrap
  6. 确保自定义资源清单包含对之前创建的 ConfigMap 和 Secret 的引用:

    apiVersion: rhdh.redhat.com/v1alpha1
    kind: Backstage
    metadata:
      name: <your-rhdh-cr>
    spec:
      application:
        imagePullSecrets:
        - rhdh-pull-secret
        route:
          enabled: false
        appConfig:
          configMaps:
            - name: <app-config-containing-azure>
        extraEnvs:
          secrets:
            - name: <secret-containing-azure>
    Copy to Clipboard Toggle word wrap
  7. 应用自定义资源清单:

    kubectl -n <your_namespace> apply -f rhdh.yaml
    Copy to Clipboard Toggle word wrap
  8. 可选: 如果没有更改 rhdh.yaml 文件,例如,您只更新从它引用的 ConfigMap 和 Secret,请通过删除对应的 pod 来刷新 Developer Hub 部署:

    kubectl -n <your_namespace> delete pods -l backstage.io/app=backstage-<your-rhdh-cr>
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat