第1章 Microsoft Azure 認証プロバイダーの有効化


Red Hat Developer Hub には、OAuth を使用してユーザーを認証できる Microsoft Azure 認証プロバイダーが組み込まれています。

手順

  1. Developer Hub が Microsoft Azure で認証できるようにするために、Microsoft Azure で OAuth アプリケーションを作成します。

    1. Azure Portal > App registrations に移動し、Developer Hub 用の App Registration を作成します。
    2. App registration の概要ページで、次の設定を含む新しい Web platform configuration を追加します。

      Redirect URI
      Developer Hub で設定されているバックエンド認証 URI (https://<APP_FQDN>/api/auth/microsoft/handler/frame) を入力します。
      Front-channel logout URL
      空白のままにします。
      Implicit grant and hybrid flows
      すべてのチェックボックスをオフのままにします。
    3. API permissions タブで Add Permission をクリックし、Microsoft Graph API に対して次の Delegated permission を追加します。

      • email
      • offline_access
      • openid
      • profile
      • User.Read
      • Microsoft Graph API のオプションのカスタムスコープ。この場所と、Developer Hub 設定 (app-config-rhdh.yaml) の両方で定義します。

        注記

        企業によっては、これらの権限に対して管理者の同意を与えることが必要な場合があります。管理者の同意が必要ない場合でも、管理者の同意を与える場合があります。そうすることで、ユーザーが初めて Backstage にアクセスするときに、個別に同意する必要がなくなるためです。管理者の同意を与えるには、ディレクトリー管理者が admin consent ページに移動し、Grant admin consent for COMPANY NAME をクリックする必要があります。

    4. Certificates & Secrets ページに移動し、Client secrets タブで新しいクライアントシークレットを作成します。次のステップのために Client secret を保存します。
  2. Developer Hub のシークレットに Microsoft Azure 認証情報を追加します。

    1. secrets-rhdh などの Developer Hub シークレットを編集します。
    2. 以下のキーと値のペアを追加します。

      • AUTH_AZURE_CLIENT_ID: Microsoft Azure で生成した Application ID を入力します。
      • AUTH_AZURE_CLIENT_SECRET: Microsoft Azure で生成した Client secret を入力します。
      • AUTH_AZURE_TENANT_ID: Microsoft Azure の Tenant ID を入力します。
  3. Developer Hub のカスタム設定で Microsoft Azure 認証プロバイダーを設定します。

    app-config-rhdh などのカスタム Developer Hub config map を編集します。

    app-config-rhdh.yaml コンテンツで、ルートの auth 設定の下に Microsoft プロバイダー設定を追加し、サインイン用に Microsoft プロバイダーを有効にします。

    app-config-rhdh.yaml の一部

    auth:
      environment: production
      providers:
        microsoft:
          production:
            clientId: ${AUTH_AZURE_CLIENT_ID}
            clientSecret: ${AUTH_AZURE_CLIENT_SECRET}
            tenantId: ${AUTH_AZURE_TENANT_ID}
            # domainHint: ${AUTH_AZURE_TENANT_ID} 1
            # additionalScopes: 2
              # - Mail.Send
    signInPage: microsoft 3

    1
    シングルテナントアプリケーションの場合は任意です。他のテナントのアカウントを自動的に除外することで、複数のテナントにアカウントを持つユーザーのログインの手間を軽減できます。このパラメーターをシングルテナントアプリケーションで使用する場合は、コメントを解除してテナント ID を入力します。アプリケーション登録がマルチテナントの場合は、このパラメーターを空白のままにします。詳細は、Home Realm Discovery を参照してください。
    2
    追加のスコープの場合は任意です。アプリケーション登録のスコープを追加するには、コメントを解除して、追加するスコープのリストを入力します。デフォルトおよび必須の値は、['user.read'] です。
    3
    Microsoft Azure プロバイダーをデフォルトのサインインプロバイダーとして有効にします。
注記

ファイアウォールルールなどにより、発信アクセスが制限されている環境では任意です。環境で発信アクセスが制限されている場合は、Backstage バックエンドが次のホストにアクセスできることを確認してください。

  • login.microsoftonline.com: 認可コードとアクセストークンを取得および交換します。
  • graph.microsoft.com: ユーザープロファイル情報を取得します (こちらのソースコードを参照)。このホストにアクセスできない場合、ユーザーがログインしようとすると Authentication failed, failed to fetch user profile というエラーが表示されることがあります。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.