Ubuntu 24.04でEntra ID認証を実現するauthdを試してみた

こんにちは、サイオステクノロジーの服部です。

Ubuntu公式で現在開発中のauthdを検証してみましたので、簡単に手順をまとめていきます。

authdはUbuntuにてEntra IDやOIDCに対応したIdPを使用したログインを実現するためのデーモンとなります。

Ubuntu 23.04、23.10では、aad-authというモジュールを利用してAzure AD(現Entra ID)を使用したログインを実現していましたが、Entra ID以外のOIDCベースのIdPなどへの対応を実現するために、authdの開発が開始されています。

インストール手順

基本的にはauthdのWikiページの手順に従ってインストールを実施していきます。

PPAの追加

開発中のパッケージということでPPAの追加が必要となりますが、正式リリース後は公式リポジトリに追加されるものと思います。PPAの追加は以下のコマンドで行います。

sudo add-apt-repository ppa:ubuntu-enterprise-desktop/authd
sudo apt update

APTからパッケージのインストール

デスクトップ環境の場合は以下のパッケージをインストールします。

sudo apt install authd gnome-shell yaru-theme-gnome-shell yaru-theme-gtk yaru-theme-icon yaru-theme-sound
サーバ環境の場合はGUI関係のパッケージは必要ないため、authdパッケージのみインストールします。
sudo apt install authd

snapからEntra ID用のブローカーのインストール

authdはモジュール化されているため、Entra ID用のモジュールを別でインストールします。インストールはsnapより実施します。

sudo snap install authd-msentraid

設定手順

設定ファイルのコピー

sudo mkdir -p /etc/authd/brokers.d/sudo cp /snap/authd-msentraid/current/conf/authd/msentraid.conf /etc/authd/brokers.d/

Entra ID上でのアプリケーション作成

Microsoft Entra 管理センター⇒アプリの登録にアクセスします。

「新規登録」を選択

適当な名前を設定し、登録を行います。「サポートされているアカウントの種類」は「この組織ディレクトリのみ~」を選択しておくのが安全かと思われます。

メニューから「認証」を選択し、「パブリッククライアントフローを許可する」にて「はい」を選択し保存します。

次の状態になるようにアクセス許可を設定します。

メニューから「概要」を選択し、「アプリケーション (クライアント) ID」と「ディレクトリ (テナント) ID」をメモします。

ブローカーの設定

/var/snap/authd-msentraid/current/broker.confを以下の内容で作成します。

[oidc]issuer = https://login.microsoftonline.com/<2.でメモしたディレクトリID>/v2.0
client_id = <2.でメモしたクライアントID>

[users]
# The directory where the home directory will be created for new users.
# Existing users will keep their current directory.
# The user home directory will be created in the format of {home_base_dir}/{username}
# home_base_dir = /home

# The username suffixes that are allowed to login via ssh without existing previously in the system.
# The suffixes must be separated by commas.
# ssh_allowed_suffixes = @example.com,@anotherexample.com

サービスの再起動

以下のコマンドでサービスを再起動します。

sudo systemctl restart authd
sudo snap restart authd-msentraid

ログインチェック

SSH経由のログインはまだ不完全な状態のようなので、今回はコンソール経由でのログインを試してみます。

ユーザー名にEntra IDのUPNを入力すると、ログインプロバイダーの選択が表示されるのでMicrosoft Entra IDを選択します。

QRコードとログインコードが表示されます。

QRコードをスキャンもしくは、https://microsoft.com/deviceloginにアクセスします。コンソールに表示されているコードを入力し、次に進みます。

ログイン確認が行われるので続行します。

これでブラウザ側での操作は完了となります。

初回ログイン時はローカルパスワードを設定するプロンプトが表示され、設定後ログインが完了します。

グループについて

Entra ID経由でログインしたユーザーの所属するグループは

  • UPNと同名のプライマリグループ
  • Entra ID側で所属するグループ

となります。

Entra IDのグループが以下の状態のとき、

Linux側のグループは次のようになります。

Entra ID側でユーザーをlinux-sudotest-groupの2つのグループに参加させます。linux-をプレフィックスに付けるとプレフィックスを取り除いた名称のLinuxのローカル側のグループ(この場合はsudo)に追加される形となります。

Linux側で確認を行うと以下のようにグループに追加されていることが分かります。

所感

SSH経由の初回ログインや、QRコードの表示などまだ不完全な部分はありますが、便利に利用できる機能だと思います。

今後の開発に期待します。

 

    ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

    役に立った 役に立たなかった

    0人がこの投稿は役に立ったと言っています。

    コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です