4.3. Red Hat Developer Hub の認証プロバイダーとして Microsoft Azure を使用する


Developer Hub の core-plugin-api パッケージは Microsoft Azure 認証プロバイダーと統合しており、Azure OAuth を使用してサインインを認証します。

前提条件

4.3.1. Helm デプロイメントの認証プロバイダーとして Microsoft Azure を使用する

Helm Chart を使用してインストールすると、Microsoft Azure を Red Hat Developer Hub の 認証プロバイダーとして使用できます。詳細は、「Helm チャートを使用して Azure Kubernetes Service (AKS) に Red Hat Developer Hub をデプロイする」 を参照してください。

手順

  1. アプリケーションが登録されたら、次の点を書き留めます。

    • clientId: アプリケーション (クライアント) ID。App Registration Overview にあります。
    • clientSecret: シークレット。*App Registration Certificates & secrets にあります (必要に応じて新規作成します)。
    • tenantId: ディレクトリー (テナント) 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

    新しいファイルを作成することも、既存のファイルに追加することもできます。

  3. ConfigMap を Kubernetes クラスターに適用します。

    kubectl -n <your_namespace> apply -f <app-config>.yaml
  4. Azure 認証情報を含む既存の Secret を作成または再利用し、次のフラグメントを追加します。

    stringData:
      AZURE_CLIENT_ID: <value-of-clientId>
      AZURE_CLIENT_SECRET: <value-of-clientSecret>
      AZURE_TENANT_ID: <value-of-tenantId>
  5. シークレットを Kubernetes クラスターに適用します。

    kubectl -n <your_namespace> apply -f <azure-secrets>.yaml
  6. value.yaml ファイルが、以前に作成した ConfigMap と Secret を参照していることを確認します。

    upstream:
      backstage:
      ...
        extraAppConfig:
          - filename: ...
            configMapRef: <app-config-containing-azure>
        extraEnvVarsSecrets:
          - <secret-containing-azure>
  7. オプション: Helm Chart がすでにインストールされている場合は、アップグレードします。

    helm -n <your_namespace> upgrade -f <your-values.yaml> <your_deploy_name> redhat-developer/backstage --version 1.1.4
  8. オプション: 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 を使用してインストールすると、Microsoft Azure を Red Hat Developer Hub の認証プロバイダーとして使用できます。詳細は、「Operator を使用した OpenShift Container Platform への Red Hat Developer Hub のデプロイ」 を参照してください。

手順

  1. アプリケーションが登録されたら、次の点を書き留めます。

    • clientId: アプリケーション (クライアント) ID。App Registration Overview にあります。
    • clientSecret: シークレット。*App Registration Certificates & secrets にあります (必要に応じて新規作成します)。
    • tenantId: ディレクトリー (テナント) 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

    新しいファイルを作成することも、既存のファイルに追加することもできます。

  3. ConfigMap を Kubernetes クラスターに適用します。

    kubectl -n <your_namespace> apply -f <app-config>.yaml
  4. Azure 認証情報を含む既存の Secret を作成または再利用し、次のフラグメントを追加します。

    stringData:
      AZURE_CLIENT_ID: <value-of-clientId>
      AZURE_CLIENT_SECRET: <value-of-clientSecret>
      AZURE_TENANT_ID: <value-of-tenantId>
  5. シークレットを Kubernetes クラスターに適用します。

    kubectl -n <your_namespace> apply -f <azure-secrets>.yaml
  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>
  7. カスタムリソースマニフェストを適用します。

    kubectl -n <your_namespace> apply -f rhdh.yaml
  8. オプション: rhdh.yaml ファイルが変更されていない場合 (たとえば、そこから参照される ConfigMap と Secret のみを更新した場合)、対応する Pod を削除して Developer Hub デプロイメントを更新します。

    kubectl -n <your_namespace> delete pods -l backstage.io/app=backstage-<your-rhdh-cr>
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.