アクセス制御 → アイデンティティソース で、ユーザーがログインに使用できるディレクトリまたはアイデンティティプロバイダーを設定します。この種のアカウントのパスワードはアイデンティティソースに保存され、GrantForge は保存も変更もできません。

LDAP / Active Directory
「アイデンティティソースの追加」をクリックし、種類には「LDAP ディレクトリ」を選択します。
| 設定 | 説明 |
|---|---|
| ディレクトリのアドレス | ldap:// または ldaps://。複数のアドレスはスペースで区切り、フェイルオーバーを実現します |
| ユーザーの Base DN | 例: ou=people,dc=example,dc=com |
| 検索アカウント | ユーザーを検索するアカウント(Bind DN)とそのパスワードです。空欄の場合は匿名で検索します |
| ユーザーフィルター条件 | 既定値は (&(objectClass=person)(uid={0})) で、{0} はユーザーが入力した名前です |
| 属性 | ユーザー名、表示名、メールアドレス、一意識別子の属性です。既定値は OpenLDAP に合わせられており(uid、cn、mail、entryUUID)、Active Directory では sAMAccountName と objectGUID を入力します |
| 新しいユーザーのアカウントを自動作成 | 有効にすると、ディレクトリ内のユーザーが初回ログイン時にアカウントが作成されます |
| 同期間隔 | 空欄の場合は手動同期のみで、最短は 15 分です |
| ディレクトリから離脱したユーザーのアカウントを無効化 | 同期時にディレクトリに存在しなくなったユーザーを無効にします |
保存後、接続テスト をクリックして設定が正しいことを確認します。
ログイン時、GrantForge はまず検索アカウントでユーザーを検索し、次にユーザーが入力したパスワードをそのユーザーとしてディレクトリにバインドして検証します。
同期はディレクトリ内の新しいユーザーのアカウントを作成し、既存アカウントの氏名とメールアドレスを更新し、設定に応じて離脱したユーザーを無効にします(あわせてそのセッションも終了します)。同期の結果はアイデンティティソースのカードに表示されます。
OpenID Connect
種類に「OpenID Connect」を選択すると、Keycloak、Azure AD、Okta、別の GrantForge などに連携できます。
| 設定 | 説明 |
|---|---|
| Issuer アドレス | プロバイダーの発行者アドレスです。GrantForge はこのアドレスのディスカバリドキュメントからエンドポイントとキーを取得します |
| クライアント ID / シークレット | プロバイダーに登録したクライアントです。シークレットがない場合は公開クライアントとして動作し、PKCE を使用します |
| コールバックアドレス | ページに表示される <GrantForge>/api/v1/auth/federated/callback/<エンコーディング> のアドレスで、プロバイダーのクライアントに登録する必要があります |
| スコープとクレーム | 既定値は openid profile email です。ユーザー名、表示名、メールアドレスはそれぞれ preferred_username、name、email クレームから取得します |
有効にすると、ログインページに「<名前> でログイン」ボタンが表示されます。ユーザーはプロバイダーでログインしたあと GrantForge に戻り、二段階認証を有効にしたアカウントは認証コードの入力も必要です。
アカウントのルール
- アイデンティティソースのユーザーの一意識別子(LDAP は
entryUUID/objectGUID、OIDC はsub)は 1 つの GrantForge アカウントに対応し、名前が変わっても対応関係は変わりません。 - ローカルに同名のアカウントが既にある場合、自動的には関連付けられず、ログインは拒否されます。管理者が先にローカルアカウントの名前を変更または削除する必要があります。これにより、ディレクトリ内の同名ユーザーが既存アカウントを引き継ぐ事態を防ぎます。
- アカウントを自動作成しないアイデンティティソースでは、既に関連付けられたユーザーのみがログインできます。
- アイデンティティソースを無効にすると、そのユーザーはログインできません。アカウントが使用中のアイデンティティソースは削除できません。
- アイデンティティソースのアカウントには、通常どおりロールを割り当て、二段階認証を有効にできます。
