次の方法で共有


Azure Red Hat OpenShift 4 クラスターの Microsoft Entra 認証を構成する (ポータル)

CLI をローカルにインストールして使用する場合、このチュートリアルでは、Azure CLI バージョン 2.6.0 以降を実行している必要があります。 バージョンを確認するには、az --version を実行します。 インストールまたはアップグレードが必要な場合は、Azure CLI のインストールを参照してください。

開始する前に

クラスターの OAuth コールバック URL を 構築し、メモしておきます。 aro-rg はリソース グループの名前に、aro-cluster はクラスターの名前に置き換えてください。

OAuth コールバック URL の AAD セクションは、後でセットアップする OAuth ID プロバイダー名と一致している必要があります。

domain=$(az aro show -g aro-rg -n aro-cluster --query clusterProfile.domain -o tsv)
location=$(az aro show -g aro-rg -n aro-cluster --query location -o tsv)
echo "OAuth callback URL: https://oauth-openshift.apps.$domain.$location.aroapp.io/oauth2callback/AAD"

認証のために Microsoft Entra アプリケーションを作成します。

Azure portal にログインし、[ アプリの登録] ブレードに移動し、[ 新しい登録 ] をクリックして新しいアプリケーションを作成します。

aro-azuread-auth などのアプリケーションの名前を指定し、前に取得した OAuth コールバック URL の値を使用してリダイレクト URI を入力します。

新しいアプリケーションの登録

[証明書とシークレット] に移動し、[新しいクライアント シークレット] をクリックし、詳細を入力します。 後のステージで使用するので、キー値を書き留めます。 もう一度取得することはできません。

[概要] に移動し、アプリケーション (クライアント) IDディレクトリ (テナント) ID を書き留めます。 後の段階で必要になります。

オプションクレームの設定

アプリケーション開発者は、Microsoft Entra アプリケーションで省略可能な要求を使用して、アプリケーションに送信されるトークンに含める要求を指定できます。

次の処理に省略可能な要求を使用できます。

  • アプリケーションのトークンに含める追加の要求を選択する。
  • Microsoft Entra ID からトークンで返される特定の要求の動作を変更する。
  • アプリケーションのカスタムの要求を追加してアクセスする。

Microsoft Entra ID によって返される ID トークンの一部として email を追加することで、OpenShift で upn 要求を使用し、upn にフォールバックして推薦ユーザー名を設定するよう構成します。

[トークンの構成] に移動し、[省略可能な要求の追加] をクリックします。 ID を選択し、電子メールUPNクレーム を確認します。

ユーザーとグループをクラスターに割り当てる (省略可能)

Microsoft Entra テナントに登録されたアプリケーションは、既定ではテナントの正常に認証されたすべてのユーザーが利用できます。 Microsoft Entra ID により、テナントの管理者と開発者が、テナントのユーザーまたはセキュリティ グループの特定のセットにアプリを制限できるようになります。

Microsoft Entra のドキュメントに記載されている手順に従って、ユーザーとグループをアプリに割り当てます

OpenShift OpenID 認証の構成

kubeadmin の資格情報を取得します。 次のコマンドを実行して、kubeadmin ユーザーのパスワードを調べます。

az aro list-credentials \
  --name aro-cluster \
  --resource-group aro-rg

次の出力例は、パスワードが kubeadminPasswordされることを示しています。

{
  "kubeadminPassword": "<generated password>",
  "kubeadminUsername": "kubeadmin"
}

次のコマンドを実行すると、クラスター コンソールの URL が見つかります。次のようになります。 https://console-openshift-console.apps.<random>.<region>.aroapp.io/

 az aro show \
    --name aro-cluster \
    --resource-group aro-rg \
    --query "consoleProfile.url" -o tsv

ブラウザーでコンソールの URL にアクセスし、kubeadmin 資格情報を使用してログインします。

[管理] に移動し、[クラスターの設定] をクリックし、[構成] タブを選択します。スクロールして OAuth を選択します。

下にスクロールして、[ID プロバイダー] の下にある [追加] を選択し、[OpenID Connect] を選択します。 [ID プロバイダー] ドロップダウンから [OpenID Connect] を選択します

Microsoft Entra ID を名前として、アプリケーション IDクライアント ID として、クライアント シークレット をそれぞれ入力してください。 発行者の URL は、次のように書式設定されます: https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/v2.0。 プレースホルダーを、前に取得したテナント ID に置き換えます。

[ 要求 ] セクションまで下にスクロールし、[ 優先ユーザー名] を 更新して、 upn 要求の値を使用します。

Microsoft Entra ID によってログインを検証する

OpenShift Web コンソールからログアウトし、もう一度ログインしようとすると、 Microsoft Entra ID でログインするための新しいオプションが表示されます。 数分待つ必要がある場合があります。

Microsoft Entra オプションを使用したログイン画面

"AADSTS50011: 要求で指定されたリダイレクト URI https://oauth-openshift.apps.xxxxxxxxxx.xxxxxxx.aroapp.io/oauth2callback/xxxx が、構成されているリダイレクト URI と一致しません" のようなエラーが発生した場合は、トラブルシューティング ガイドに従って、 リダイレクト URI が正しく設定されていない場合に Azure AD (OIDC) ログインに失敗 して問題を解決できます。