サインインとパスワード
セットアップ
サインインの方法を決めます。パスワードの長さ、自宅のネットワーク向けのショートカット、外部サインインの 3 つです。変更できるのはオーナーだけで、場所は Settings > Sign-in and security(設定 > サインインとセキュリティ)です。
パスワードの最短文字数を決める
パスワードの最短文字数を決める へのリンク- Settings > Sign-in and security > Passwords(パスワード)を開きます。
- 4 から 64 までの数字を入力します。既定値は 8 です。
- Save(保存)を選択します。再読み込みしても新しい数字のまま表示されます。
最短文字数は、新しく決めるすべてのパスワードに適用されます。最初のオーナー、招待の承諾、My account(マイアカウント)での変更、holyarrs reset-owner が対象です。既存のパスワードは、次に変更するまでそのまま使えます。パスワードの最長は 1024 文字です。
ローカルネットワークではサインインを省略する
ローカルネットワークではサインインを省略する へのリンク自宅のネットワークにあるデバイスは、パスワードなしでオーナーとして HolyArrs を開けます。既定ではオフです。
- Settings > Sign-in and security > Local network(ローカルネットワーク)を開きます。
- ネットワークを 1 行に 1 つずつ、32 個まで入力します。範囲(
192.168.1.0/24、fd00::/8)またはアドレス 1 つ(192.168.1.20)で指定します。 - スイッチをオンにして保存します。カードに自分のアドレスが表示されます。
リストが空のとき、またはキッズアカウントが 1 つでもあるときは、スイッチをオンにできません。API キーの作成、サインイン設定の変更、シークレットの読み取りや置き換え、バックアップの復元では、引き続きパスワードを求められます。
先にアドレスを確認する
先にアドレスを確認する へのリンク構成によっては、すべてのデバイスが 1 つのゲートウェイアドレスに見えます。Docker Desktop、ルートレスの Docker や Podman、Kubernetes の NodePort が該当します。よくあるアドレスは 172.17.0.1、172.18.0.1 以降、10.88.0.1、10.89.x.1、10.0.2.2、192.168.65.x です。
こうしたアドレスをリストに入れると、HolyArrs に到達できる人は誰でもオーナーとして入れてしまいます。該当しそうな項目があると、カードに警告が出ます。別のデバイスからこのページを開いてください。同じアドレスが表示されたら、スイッチをオフにしてその項目を削除してください。
リバースプロキシの背後では、HolyArrs は HOLYARRS_TRUSTED_PROXIES にあるプロキシからのみ、転送されたアドレスを読み取ります。それ以外の場合、カードにアドレスは表示されず、プロキシが信頼されていないと表示されます。
シングルサインオン
シングルサインオン へのリンクOpenID Connect プロバイダーを 1 つ使ってサインインできます。サインインページにボタンとして表示されます。
- Settings > Sign-in and security > Single sign-on(シングルサインオン)を開きます。
- プロバイダーの issuer を入力して Test(テスト)を選択します。テストではシークレットは送信されません。
- クライアント ID とクライアントシークレットを入力します。プロバイダーがシークレットを使わない場合は Public client(パブリッククライアント)にチェックを入れます。
- Callback address(コールバックアドレス)をコピーし、そのとおりのアドレスをプロバイダーに登録します。
- パスワードを入力し、2 要素認証を使っている場合はそのコードも入力して、Save を選択します。変更のたびにこの入力が必要です。
次に、自分のアカウントを連携します。パスワードでサインインして My account を開き、Linked sign-ins(連携済みのサインイン)の下にある Link(連携する)を選択します。パスワードを確認してから Single sign-on を選択します。
オプション
オプション へのリンクシングルサインオンで新しい人が参加できるようにする
シングルサインオンで新しい人が参加できるようにする へのリンク既定ではオフです。オンにすると、プロバイダーがサインインさせた人は誰でもアカウントを持てるため、HolyArrs が確認を求めます。新しく入った人は、リクエストだけができるメンバーとして参加します。シングルサインオンでオーナーや管理者が作られることはありません。
issuer またはクライアント ID を変更する
issuer またはクライアント ID を変更する へのリンクシークレットをもう一度入力します。以前の連携は削除され、シングルサインオンを使っていた全員がサインアウトされます。各自が My account から連携し直します。シングルサインオンをオフにした場合も、同じようにサインアウトされます。
サインインの連携を解除する
サインインの連携を解除する へのリンク- 自分の連携: My account > Linked sign-ins > Unlink(連携を解除する)。直前にパスワードを確認している必要があります。それが唯一のサインイン手段の場合は拒否されます。
- ほかの人の連携: オーナーが Settings > Users and roles(設定 > ユーザーとロール)で解除します。それがその人の唯一のサインイン手段の場合、HolyArrs がもう一度確認します。
連携を解除すると、その連携を使っていたデバイスはサインアウトされます。参加を許可している場合、同じ人が新しいメンバーとして戻ってこられます。入れたくない場合は、参加をオフにしてください。
うまくいかないとき
うまくいかないとき へのリンク症状: HolyArrs がもう一度パスワードを求めてくる。 原因: アカウント、キー、設定の変更には、直近 10 分以内のパスワード確認が必要です。2 要素認証を設定している場合はそれも必要です。外部サインインとローカルネットワークのショートカットは、確認として数えられません。 対処: パスワードで確認してください。サインアウトとデバイスの終了では求められません。
症状: コールバックが短いエラーで失敗し、サインアウトしたままになる。 原因: プロバイダーに登録したコールバックアドレスが HolyArrs のものと違っています。 対処: Callback address をもう一度コピーし、プロバイダーにそのまま貼り付けてください。
症状: シングルサインオンで作られたアカウントにパスワードを設定できない。 原因: このバージョンではできません。 対処: 先にローカルのオーナーを作成し、そのアカウントにシングルサインオンを連携してください。
症状: HolyArrs からサインアウトしても、プロバイダーにはサインインしたままになる。 原因: HolyArrs が終了するのは自分のサインインだけです。 対処: 共有のデバイスでは、プロバイダーからもサインアウトしてください。
オーナーのパスワードを忘れたときは、セッションとパスワードを見てください。
上級者向け
上級者向け へのリンク信頼済みプロキシのサインイン
リバースプロキシがすでにサインインを処理している場合、HolyArrs はプロキシが渡す名前を受け入れます。設定できるのは環境変数だけです。サインインページにボタンとして表示されます。ページを開いただけで、ヘッダーだけを根拠にサインインされることはありません。
- プロキシは、外から届いた
Remote-UserとRemote-Nameを取り除き、サインイン後に自分の値を設定します。 Remote-User: 変わらない名前 1 つ、最大 255 バイト。Remote-Name: 任意の表示名、最大 200 バイト。- 重複した値、カンマでつないだ値、制御文字を含む値は拒否されます。ロールのヘッダーは無視されます。
HolyArrs には、そのプロキシ経由でしか到達できないようにしてください。プロキシのアドレスを信頼するということは、そのプロキシが送るすべての名前を信頼するということです。アカウントへの連携は My account > Link trusted proxy sign-in(信頼済みプロキシのサインインを連携する)から行います。
環境変数
起動する前に設定します。どちらの方法も、オンにしない限りオフです。設定に誤りがあると HolyArrs は起動しません。プロバイダーが停止しても、パスワードでのサインインは使えます。HOLYARRS_OIDC_ENABLED が設定されていれば、値が false でも、シングルサインオンは環境変数の管理になり、設定では表示だけになります。
| 変数 | 内容 | 既定値 |
|---|---|---|
HOLYARRS_OIDC_ENABLED |
シングルサインオンをオンにする | false |
HOLYARRS_OIDC_ISSUER |
プロバイダーの正確な HTTPS の issuer | なし |
HOLYARRS_OIDC_CLIENT_ID |
登録したクライアント ID | なし |
HOLYARRS_OIDC_CLIENT_SECRET_FILE |
クライアントシークレットを入れたファイル、最大 4096 バイト。パブリッククライアントでは指定しない | なし |
HOLYARRS_OIDC_REDIRECT_URL |
正確な HTTPS のコールバック。お使いのアドレス、URL ベースがあればそれ、最後に /api/v1/auth/oidc/callback |
なし |
HOLYARRS_OIDC_ALLOW_JOIN |
新しい人が、リクエストだけができるメンバーとして参加する | false |
HOLYARRS_OIDC_ALLOW_LOCAL_NETWORK |
プライベートネットワーク上のプロバイダーを許可する | false |
HOLYARRS_OIDC_ALLOW_LOOPBACK_HTTP |
テスト用に、ループバックでの平文 HTTP を許可する | false |
HOLYARRS_FORWARD_AUTH_ENABLED |
信頼済みプロキシのサインインをオンにする | false |
HOLYARRS_FORWARD_AUTH_ISSUER |
このプロキシを表す、変わらない HTTPS の名前。値を変えると新しい発行元として扱われる | なし |
HOLYARRS_FORWARD_AUTH_TRUSTED_PEERS |
プロキシのアドレスまたは範囲をカンマ区切りで指定。必須。すべてのアドレスを含む範囲は拒否される | なし |
HOLYARRS_FORWARD_AUTH_ALLOW_JOIN |
プロキシから届いた新しい名前が、リクエストだけができるメンバーとして参加する | false |
ALLOW_LOCAL_NETWORK と ALLOW_LOOPBACK_HTTP の 2 つの設定は、設定で設定したシングルサインオンにも適用されます。
シングルサインオンの仕組み
- プロバイダーは、PKCE S256 と RS256 トークンを使う認可コードでのサインインに対応し、すべてのエンドポイントが issuer と同じオリジンにある必要があります。
- アカウントは、プロバイダー側のアカウント ID で照合します。メールアドレスでは照合しません。
- プロバイダーのロールやグループは使いません。
- クライアントシークレットは暗号化して保存され、二度と表示されません。変更しない場合は欄を空のままにします。
関連ページ
関連ページ へのリンクHolyArrs は無料です。時間の節約になったら、GitHub でスターを付ける、スポンサーになる、コーヒーをおごるのいずれかで応援してください。