メインコンテンツまでスキップ

サインインと identity

サインインの仕組み​

OpenLM Platform には独自のサインインサービス identity があり、https://<DOMAIN>/identity で提供されます。これは OpenID Connect プロバイダーで、ユーザーをサインインさせ、UI がすべての要求に付けて送信するトークンを発行します。要求は次の手順で処理されます。

1. User opens https://DOMAIN/licenses
2. The UI sends the user to https://DOMAIN/identity (sign-in page)
3. Identity checks the user's password (or your directory) and issues a token
4. The UI calls https://DOMAIN/api/... with the token
5. The gateway passes the call to a service
6. The service asks identity: is this token valid? → https://DOMAIN/identity
7. Valid: the service answers. Not valid: 401.

手順 6 があるため、OpenLM Platform のアドレスは クラスター内から 利用でき、かつ 信頼された証明書 を使用している必要があります。

依存する設定​

すべてのトークンには発行者の名前が含まれており、各サービスはその名前を自身の設定と比較します。values ファイルは、これらの設定をすべて DOMAIN から設定します(ステップ 4)。

設定値
AUTHORITY_URL, INFRASTRUCTURE__AUTHORITYURLhttps://DOMAIN/identity
IssuerUri, UI_OAUTH_ISSUER_URL, UI_BASE_HREF_URLhttps://DOMAIN/identity
INFRASTRUCTURE__USESECURITYtrue
OLM__K8s__ServiceNamespaceopenlm

これらの設定には、次のルールに従います。

  • どこでもまったく同じ文字列にする: サービスにとって、https://openlm.example.com/identity と https://openlm.example.com/identity/ は別の発行者です。
  • 常に https:// を使う: ブラウザーは HTTPS にリダイレクトされるため、http:// で発行されたトークンは一致しません。
  • 後から DOMAIN を変更する場合: これらの設定を変更してから、最初に identity サービスを、その後にほかのすべてのサービスを再起動します。

初回起動​

identity は初回起動時に、データベースのテーブルを作成し、プラットフォームのアプリケーションを登録します。これには数分かかります。identity の準備が整う前に起動したサービスは失敗せず、待機して再試行します。ただし、identity に 到達できない 間に起動したサービスは、セキュリティをまったく確認しないモードにフォールバックすることがあります。ステップ 7 の確認 3 でこれを検出できます(401 ではなく 404 が返ります)。identity が正常になったら、サービスを再起動します。

ディレクトリでサインインする​

identity は、OpenLM Platform のディレクトリ同期サービス(DSS)を通じて、Active Directory または LDAP に対してユーザーをサインインさせることもできます。これは Helm ではなく、インストール後に OpenLM Platform の管理画面で設定します。

サインインの問題を診断する​

次の表で症状を探します。

症状考えられる原因確認内容
サインインページが読み込まれない(/identity が 404/502/503 を返す)identity が実行されていないkubectl -n openlm get pods | grep identity を実行し、そのログを確認します
サインインはできるが、すべての画面でデータを読み込めないと表示されるサービスが https://DOMAIN/identity に到達できない、または信頼していない任意のバックエンドのログ: IdentityUnavailable、SSL、certificate
UI とサインインページの間でリダイレクトが繰り返される発行者の設定がブラウザーのアドレスと異なる、またはどこかで http:// が使われている依存する設定 の表とブラウザーのアドレスバーを比較します
新しくサインインしたユーザーに 401 が返る時刻のずれ、またはサービスが古い構成をキャッシュしているノードの時刻(NTP)を確認してから、サービスを再起動します
/api/licensemanager/bff/user で 401 ではなく 404 が返るサービスがセキュリティなしで起動した(identity が停止していた)サービスを再起動します

まず identity サービス自体のログから確認します。

kubectl -n openlm logs deploy/openlm-identity --since=30m | grep -iE "error|exception|issuer" | tail -20

ドキュメントチームは、大規模言語モデルを使ってこのページを下書きすることがあります。公開前に、テクニカルライターがすべてのページをレビューし、製品と照らし合わせて検証します。最終的な判断は人間が行います。