ポータルのサイト設定でユーザ認証周りを整理する

スポンサーリンク

ユーザ認証周りは柔軟に変えられる

前回はユーザの認証方法について2通りの手順をご紹介しました。

まだポータル構築後のデフォルトの状態ということもあり、結構運用に乗りづらいユーザ認証方法が多々あったのではないでしょうか?
今回はそんなユーザ認証周りの設定を変更するサイト設定の変更の仕方について、主要なモノを中心に触れたいと思います。

サイト設定はD365のポータル管理から

ポータルの設定については、サイト設定というエンティティ内で行います。

サイト設定は、D365で「Dynamics 365 ポータル」というアプリが作成済みなので、そちらから入れます。
サイト設定はDynamics365ポータルから設定する

その中に「サイト設定」のメニューがあるのでポータルの設定はここで行います。
ポータルの設定というと、管理センターから実施する設定もあるので語弊がありますが、ユーザ認証系はこちらで行うものと思ってください。

サイト設定はレコード登録式

サイト設定のメニューを覗くと、普通のエンティティのビューが表示されます。
デフォルトでいくつか登録されていますが、何がどういう設定なのかが一目で分からないためちょっと不便。。。
サイト設定のデフォルト状態

一応、レコードを開くことで説明欄に記載があります。

例えば、「Authentication/LoginThrottling/IpAddressTimeoutTimeSpan」というレコードなら、「認証の場合に IP アドレスが待機する必要のある時間/LoginThrottling/MaxInvaildAttemptsFromIPAddress が認証内で発生します/LoginThrottling/MaxAttemptsTimeLimitTimeSpan 時間。既定: 00:10:00 (10 分)」という説明があるので、ここの値を変えることでIPアドレスの認証時間の設定が変更できるのが分かります。

D365の管理設定と違って、UIが無いのでこのように1つ1つレコードの意味を理解しながら設定していくことになります。

サイト設定で設定可能な内容のラインナップは、Microsoftのドキュメントに載ってあります。
文章が中心なのと、英語から無理くり日本語に訳した説明文と思われるものがあるためちょっと分かりづらいので、よく使う設定を中心に説明したいと思います。

なお、サイト設定には必ずしもレコードが登録されている訳ではありません
その場合は既定値を適用するルールとなっていますので、併せて既定値も確認しておきましょう。

サイト設定はレコードの登録or更新だけでOKで、ポータルを再起動しなくても自動反映してくれます。
でも、完璧なリアルタイム反映ではないので、少し待ってから確認するといいでしょう。

Authentication/Registration/ExternalLoginEnabled

外部IDでログインできるかどうかの設定です。
外部IDというのは、YahooやGoogleなどのIDを使ってポータルにログインする方法です。

もう一方で、ローカルIDという呼び方がありますが、そちらは前回説明したDynamicsの取引先担当者から作成したポータルユーザのログインIDとなります。
デフォルトはレコード済みでtrue(有効)が適用されていますが、ローカルIDだけを使用するのであれば、無効にしておく必要があります。

ちなみにデフォルトで表示されているAzure ADは後述する設定となります。

Authentication/Registration/AzureADLoginEnabled

こちらはAzure ADからの外部ログインを有効にするかどうかの設定です。
デフォルトでは有効になっているので、不要であればfalseを設定しましょう。

これが設定前の状態。
サイト設定変更前の状態

前述したAuthentication/Registration/ExternalLoginEnabledと一緒にfalseにすることで、サインイン画面から「外部アカウントでサインインする」という表示を消すことができます。
サイト設定後の状態

Authentication/Registration/RememberMeEnabled

サインイン画面の「このアカウントを記憶する」のチェックボックスの表示有無を設定します。
デフォルトは表示ありですが、falseを設定することで表示がなくなります。
共有PCなどでセキュリティを考慮する必要がある場合は表示を外しておいたほうが無難です。
このアカウントを記憶するを消す

なお、このレコードはサイト設定にデフォルトで登録されていませんので、設定を変える場合はレコードを登録する必要があります。
このように登録すればOKです。
名前を指定の名称に合わせることと、値が適切な値になっていることが重要です。
Webサイトは適用したいポータルを指定します(試用版ではおそらく1択でしょう)。
この設定では、値自体はテキスト型ではありますが、ここではブール値での設定が求められているのでtrueまたはfalseで入力します(大文字・小目は区別しないようです)。
サイト設定のレコード登録

説明は設定に影響ありませんが、操作者が一目で分かるようにMicrosoftのドキュメント内容をパクるといいでしょう。

Authentication/Registration/InvitationEnabled

招待状からのポータルユーザ登録を可能にするかどうかの設定です。
デフォルトでは可能になっており、サインイン画面に招待状の引き換えタブが表示されている状態になっています。
招待機能を使用しない(ポータルユーザ自らが登録)場合は値をfalseにしてタブを非表示にしましょう。
招待状の引き換えのタブをなくす設定

Authentication/Registration/OpenRegistrationEnabled

こちらの設定は逆にポータルからのユーザ登録を無効にします。
デフォルトでは可能になっており、サインイン画面に登録タブが表示されている状態になっています。
招待状による登録を使用する場合は、こちらをfalseにしておきましょう。
サインインの登録タブをなくす設定

Authentication/UserManager/UserValidator/AllowOnlyAlphanumericUserNames

こちらはユーザIDが英数字のみに限定されます。
デフォルトではfalse、つまり任意文字列でのユーザID設定が可能です。
ユーザIDで日本語を許可しているのはあまり聞いたことがないので、trueにしておくのが一般的でしょうか。
ユーザー名を英数字に限定する設定

Authentication/UserManager/PasswordValidator/EnforcePasswordPolicy

パスワードの設定。この値をtrueにすると、英字大文字・英字小文字・数字・記号から3種類を使ったパスワードにしないといけません。
最近では、3種類以上のパスワードが含まれているのが一般的になりつつあるので、既定値のtrueのままでいいでしょう。

パスワードに関しては、次の文字数とセットで考えるといいでしょう。

Authentication/UserManager/PasswordValidator/RequiredLength

こちらはパスワードに必要な文字数。既定値は8となっています。
前述のパスワードの種類と併せてパスワードポリシーを設定することがあるので、必要に応じて設定しましょう。

Authentication/UserManager/MaxFailedAccessAttemptsBeforeLockout

こちらはユーザのロックアウトに関わる設定。
簡単に言うと、パスワードが何回失敗できるかの設定になります。
デフォルトは5回です。

Authentication/UserManager/DefaultAccountLockoutTimeSpan

こちらもパスワードポリシー設定の一貫として覚えておきたい設定。
ユーザロックアウトから何時間後に復活できるのかの設定。
HH:MM:SS形式で指定することになるので、2時間後に設定したい場合は、「02:00:00」と入力しましょう。
デフォルトは24h後の「24:00:00」です。

ユーザのロックアウトの管理はDynamicsのポータル管理から確認することができます。

ContactのPortal ContactフォームからWeb認証タブにポータルユーザに関する情報が記載されているので、ログイン失敗回数などを確認できます。
管理者ユーザであれば、フォーム上からロックアウトを解除させることも可能です。
Contactのフォームからロックアウトの確認

他にもサイト設定は色々

ここでご紹介したものは、よく使うと思われる設定で他にも2段階認証だったり、Cookieの設定だったりとサイト設定だけでも様々な設定が可能です。
そのほかの内容は、Microsoftのドキュメントを参照して色々と設定を確認してみてください。

コメント