こんにちは、サイオステクノロジーの服部です。
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
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-sudo
、test-group
の2つのグループに参加させます。linux-
をプレフィックスに付けるとプレフィックスを取り除いた名称のLinuxのローカル側のグループ(この場合はsudo
)に追加される形となります。
Linux側で確認を行うと以下のようにグループに追加されていることが分かります。
所感
SSH経由の初回ログインや、QRコードの表示などまだ不完全な部分はありますが、便利に利用できる機能だと思います。
今後の開発に期待します。