春は異動の季節ですね。メンバーの入れ替えがあると、面倒なのがサーバーのアカウント管理です。アカウントを発行しなければ新メンバーがサーバーに入れませんし、離脱したメンバーのアカウントを放置すると、セキュリティ的なリスクにもなりかねません。皆さんの職場や学校でも、メンバーの異動や新人の加入といった対応に追われているのではないでしょうか。ですがサーバーが1台や2台であればともかく、数十台規模で開発用サーバーがあるような環境では、いちいちアカウントの作成や削除などはやっていられないでしょう。
そこで企業では、Active DirectoryやOpenLDAPなどを利用して、アカウントを一元管理するのが定番です。第774回でも、Entra ID
774回では、Entra IDとの連携にaad-authというモジュールを利用していました。ですが現在のUbuntuでは、Entra ID以外のクラウドIDプロバイダーにも対応できるよう、authdという認証デーモンを使うように変更されています。authdでは、特定のクラウドIDプロバイダー向けのコードを
2025年3月現在、Entra ID用のブローカーと、Google IAM用のブローカーが提供されています。Googleアカウント
Google Auth Platformの準備
まずGoogle IAMに新しいアプリケーションを登録する必要があります。Google Cloudのコンソールにログインしてください。そして新しいプロジェクトを作成して切り替えます。ここでは

次に左上のナビゲーションメニューから、

OAuthの概要画面が開きますので、

まずアプリ情報を入力します。任意のアプリ名と、問い合わせに利用する自分のメールアドレスを入力してください。

続いて利用できる対象を選択します。
当然ですが、個人のGmailアカウントを使っている場合は、

連絡先を入力します。自分のメールアドレスを入力しておきましょう。

最後に、Google APIサービスのユーザーデータポリシーに同意します。チェックを入れて

ここまで完了したら、先ほどの

ここで

「アプリケーションの種類」

これでOAuthクライアントが作成されます。クライアントIDとクライアントシークレットは後ほど使いますので、控えておきましょう。

authdとブローカーのインストール
これでクラウドIDプロバイダー側の設定は完了です。続いてUbuntu側を設定しましょう。今回はUbuntu 24.
以下のコマンドでPPAを追加して、authdパッケージをインストールします。
$ sudo add-apt-repository ppa:ubuntu-enterprise-desktop/authd $ sudo apt install -y authd
続いてGoogle IAM用のauthdブローカーをインストールします。こちらはsnapを使います。
$ sudo snap install authd-google
Google IAM用ブローカーの設定
以下のコマンドを実行して、authdが使用するブローカーを特定するために必要なファイルを、/etc以下に配置してください。
$ sudo mkdir -p /etc/authd/brokers.d/ $ sudo cp /snap/authd-google/current/conf/authd/google.conf /etc/authd/brokers.d/
続いてブローカーを設定します。/var/
[oidc]
issuer = https://accounts.google.com
client_id = クライアントID
client_secret = クライアントシークレット
「users」
「home_
「owner」
owner = mizuno@example.com
「allowed_
allowed_users = OWNER,user1@example.com,user2@example.com
または
allowed_users = ALL
「ssh_
ssh_allowed_suffixes = @example.com
設定が完了したら、authdとブローカーを再起動しましょう。
$ sudo systemctl restart authd $ sudo snap restart authd-google
authdを使ったログイン
設定が完了したので、Ubuntuにコンソールからログインしてみましょう。ユーザー名にはGoogleアカウント名を入力します。すると以下のように、

初回ログイン時は、以下のようにログイン用のコードが表示されます。QRコードを読み込むか、デバイスの接続のページアクセスして、表示されたログインコードを入力してください。



なおGoogle Workspaceの内部のみに公開しているアプリに対し、一般のGmailアカウントでアクセスしようとすると、このようにアクセスが拒否されます。

デバイスの接続が完了してしばらく待つと、Ubuntuのコンソール画面にローカルパスワードの作成プロンプトが表示されます。一般的なユーザーの作成時と同様に、パスワードを2回入力してください。

これでログインは完了です。なお以後は、ログイン時にGoogleアカウントを指定すると、ローカルパスワードの入力のみでログインできるようになります。

SSHを経由したログイン
サーバーにコンソールから直接ログインすることはあまりなく、SSHを使うのが基本でしょう。というわけで、SSHでもauthdを使えるようにします。/etc/
UsePAM yes
KbdInteractiveAuthentication yes
SSHサーバーを再起動します。
$ sudo systemctl restart ssh
また前述の通り、/var/
GoogleアカウントでSSHログインする際は、sshコマンドに以下のようにユーザー名を指定してください。
$ ssh username@gmail.com@サーバーのIPアドレス
今回はauthdを利用して、GoogleアカウントでUbuntuヘログインする方法を紹介しました。Google Workspaceを導入している組織では、サーバーのアカウントをより効率的に管理できるでしょう。アカウントの追加に頭を悩ませているのであれば、ぜひ試してみてください。