4.3. 在 Red Hat Developer Hub 中使用 Microsoft Azure 作为身份验证供应商
Developer Hub 中的 core-plugin-api 软件包与 Microsoft Azure 身份验证供应商集成,使用 Azure OAuth 进行身份验证。
先决条件
- 您已在 AKS 上部署了 Developer Hub。如需更多信息,请参阅 第 4.1 节 “在 Azure Kubernetes Service (AKS)上部署 Red Hat Developer Hub”。
- 您已在 Azure 门户中注册了应用程序。如需更多信息,请参阅使用 Microsoft 身份平台注册应用程序。
4.3.1. 在 Helm 部署中使用 Microsoft Azure 作为身份验证供应商 复制链接链接已复制到粘贴板!
在使用 Helm Chart 安装时,您可以在 Red Hat Developer Hub 中使用 Microsoft Azure 作为身份验证供应商。如需更多信息,请参阅 第 4.1.1 节 “使用 Helm chart 在 Azure Kubernetes Service (AKS)上部署 Red Hat Developer Hub”。
流程
注册应用程序后,请注意以下几点:
-
clientId: Application (client) ID,它位于 App RegistrationOverview 下。 -
clientSecret: Secret,在 *App RegistrationCertificates & secrets 下找到(如果需要,创建新的)。 -
tenantId: Directory (tenant) ID,它位于 App RegistrationOverview 下。
-
确保 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您可以创建新文件或将其添加到现有文件中。
将 ConfigMap 应用到 Kubernetes 集群:
kubectl -n <your_namespace> apply -f <app-config>.yaml创建或重复使用包含 Azure 凭证的现有 Secret,并添加以下片段:
stringData: AZURE_CLIENT_ID: <value-of-clientId> AZURE_CLIENT_SECRET: <value-of-clientSecret> AZURE_TENANT_ID: <value-of-tenantId>将 secret 应用到 Kubernetes 集群:
kubectl -n <your_namespace> apply -f <azure-secrets>.yaml确保您的
values.yaml文件引用之前创建的 ConfigMap 和 Secret:upstream: backstage: ... extraAppConfig: - filename: ... configMapRef: <app-config-containing-azure> extraEnvVarsSecrets: - <secret-containing-azure>可选: 如果已安装 Helm Chart,请升级它:
helm -n <your_namespace> upgrade -f <your-values.yaml> <your_deploy_name> redhat-developer/backstage --version 1.1.4可选: 如果没有更改
rhdh.yaml文件,例如,您只更新从它引用的 ConfigMap 和 Secret,请通过删除对应的 pod 来刷新 Developer Hub 部署:kubectl -n <your_namespace> delete pods -l backstage.io/app=backstage-<your-rhdh-cr>
4.3.2. 在 Operator 支持的部署中使用 Microsoft Azure 作为身份验证供应商 复制链接链接已复制到粘贴板!
在使用 Operator 安装时,您可以在 Red Hat Developer Hub 中使用 Microsoft Azure 作为身份验证供应商。如需更多信息,请参阅 第 2.2 节 “使用 Operator 在 OpenShift Container Platform 上部署 Red Hat Developer Hub”。
流程
注册应用程序后,请注意以下几点:
-
clientId: Application (client) ID,它位于 App RegistrationOverview 下。 -
clientSecret: Secret,在 *App RegistrationCertificates & secrets 下找到(如果需要,创建新的)。 -
tenantId: Directory (tenant) ID,它位于 App RegistrationOverview 下。
-
确保 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您可以创建新文件或将其添加到现有文件中。
将 ConfigMap 应用到 Kubernetes 集群:
kubectl -n <your_namespace> apply -f <app-config>.yaml创建或重复使用包含 Azure 凭证的现有 Secret,并添加以下片段:
stringData: AZURE_CLIENT_ID: <value-of-clientId> AZURE_CLIENT_SECRET: <value-of-clientSecret> AZURE_TENANT_ID: <value-of-tenantId>将 secret 应用到 Kubernetes 集群:
kubectl -n <your_namespace> apply -f <azure-secrets>.yaml确保自定义资源清单包含对之前创建的 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>应用自定义资源清单:
kubectl -n <your_namespace> apply -f rhdh.yaml可选: 如果没有更改
rhdh.yaml文件,例如,您只更新从它引用的 ConfigMap 和 Secret,请通过删除对应的 pod 来刷新 Developer Hub 部署:kubectl -n <your_namespace> delete pods -l backstage.io/app=backstage-<your-rhdh-cr>