Authentication options
======================

PEMユーザー認証はPostgresバックエンドサーバーに委任されます。特定のユーザー名でPEMにログインできるようにするには、バックエンドにその名前のPostgresユーザーが存在する必要があります。
Webアプリケーションホストから\ ``pem``
データベースに接続するには、ユーザーが\ ``pem_user``
ロールを持ち、\ ``pg_hba.conf`` によって許可されている必要があります。
PEMユーザーロールの詳細については、 :ref:`PEM認証の管理 <PEM認証の管理>` を参照してください。

デフォルトでは、PEMはユーザーにパスワードを使用した認証を必要とします。オプションで2FAを適用したり、Kerberosを使用したパスワードレス認証を有効にしたりできます。

1.二要素認証2FA
---------------

PEMは2FAをサポートして、標準のログイン資格情報を超えた追加のセキュリティレイヤーを提供します。
``config_local.py``
ファイルのパラメーターを変更することにより構成できます。

- **サポートされている方法**

  - **電子メール**
    \_ユーザーのメールアドレスにワンタイム確認コードを送信します。

  - **Authenticator App** \_Google
    AuthenticatorのようなTOTPベースのアプリケーションを使用します。

- **キー構成**

  - **MFA_ENABLED** \_機能を有効にするには\ ``true`` に設定します。

  - **MFA_FORCE_REGISTRATION** \_ ``true``
    の場合、次回ログイン時に2FAに登録する必要があります。

- **メールサーバー**

電子メールベースの2FAの場合、PEMはその内部SMTP構成またはFlask-Mailを使用できます。

- **ドキュメント**

:ref:`Configuring two-factor authentication <Configuring the PEM server to use two-factor authentication>`  。

2.Kerberos認証
--------------

Kerberosは、SSO環境に安全なチケットベースの認証メカニズムを提供します。この構成は、Kerberosサーバー、PEMサーバー、およびクライアントマシン全体のホスト名とDNS解決に大きく依存しています。

Linuxベースのケルベロス
^^^^^^^^^^^^^^^^^^^^^^^

この方法には、Kerberos認証サーバーのインストールと、PEM
WebアプリケーションHTTPとバックエンドデータベースPostgresの両方のプリンシパルの構成が含まれます。

- **キータブ**
  \_セキュリティキータブはKerberosサーバーから抽出され、PEMサーバーに展開されて、暗号化された通信を促進します。

- **認証** \_ユーザーは\ ``kinit``
  ユーティリティを介してチケットを取得します。
  pg_hba.confファイルは、gss Generic Security
  Service方法を使用するように更新されました。

- **ドキュメント** \_ :ref:`Configuring Kerberos authentication on Linux <Configuring the PEM server to use Kerberos authentication>`  。

Windows Active Directory SSPI
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

PEMは、Kerberos認証のためにWindows Active
Directoryドメインサービスと統合できます。

- **サービスマッピング** \_ Active
  Directoryユーザーは、特にHTTPおよびPostgresサービスプリンシパルに作成され、マッピングされます。

- **キータブ生成** \_ Windows ``ktpass`` ユーティリティは、
  Windowsドメインと対話するLinuxベースのPEMサーバーのキータブを生成するために使用されます。

- **ブラウザ要件** \_ クライアントブラウザFirefox / Chromeは、SPNEGO /
  KerberosネゴシエーションのためにPEMサーバーURIを信頼するように構成する必要があります。

- **ドキュメント** \_ :ref:`Configuring kerberos authentication on Windows <Configuring the PEM server to use Windows Active Directory domain services for Kerberos authentication (SSPI)>`  。
