ローカル認証、登録、その他の設定
注意
2022 年 10 月 12 日より、Power Apps ポータルは Power Pages となります。 詳細: Microsoft Power Pages の一般提供が開始されました (ブログ)
Power Apps ポータルのドキュメントは、近日中に Power Pages ドキュメントに移行、統合されます。
重要
- 認証には Azure Active Directory B2C (Azure AD B2C) ID プロバイダーを使用し、ポータルのローカル ID プロバイダーは非推奨にすることをお勧めします。 詳細: ID プロバイダーを Azure AD B2C に移行する
- ローカル認証を構成するには、ポータル管理アプリを使用して、必要なサイト設定を手動で構成します。
ポータル機能は、ASP.NET ID API 上に構築された認証機能を提供します。 それに対して、ASP.NET ID は、OWIN フレームワーク上に構築され、これは認証システムの重要なコンポーネントでもあります。 提供されるサービスには、次のものが含まれます。
- ローカル ユーザーのサインイン (ユーザー名とパスワード)
- 外部 (社会プロバイダー) ユーザーはサード パーティ ID プロバイダー経由でサインイン
- 電子メールでの二段階認証
- 電子メール アドレスの確認
- パスワード回復
- 事前入力された連絡先レコードを登録するために招待コードを登録する
注意
取引先担当者テーブルのポータル連絡先フォーム上の確認済み携帯電話フィールドは、現在は何の役にも立ちません。 このフィールドは、Adxstudio Portals からアプグレードされた時のみに使用される必要があります。
要件
ポータルに必要なもの:
- 基本ポータル
- Microsoft ID
- Microsoft ID ワークフロー ソリューション パッケージ
認証の概要
返却されたポータル ビジターでは、ローカル ユーザー資格情報または外部 ID プロバイダー アカウントのどちらかを使用して認証できます。 新規ビジターは、ユーザー名およびパスワードを提示するか、外部プロバイダー経由で登録することにより、新しいユーザー アカウントを登録できます。 ポータル管理者から招待コードを受け取ったビジターは、新しいユーザー アカウントにサインアップするときにコードを引き換えることができます。
関連サイトの設定:
Authentication/Registration/Enabled
Authentication/Registration/LocalLoginEnabled
Authentication/Registration/ExternalLoginEnabled
Authentication/Registration/OpenRegistrationEnabled
Authentication/Registration/InvitationEnabled
Authentication/Registration/RememberMeEnabled
Authentication/Registration/ResetPasswordEnabled
ローカル ID または外部 ID でサインイン
次のイメージは、ローカル アカウントを使用するか、外部 ID プロバイダーを選択した場合のログイン オプションを示しています。
ローカル ID または外部 ID で登録
次のイメージは、ローカル アカウントを使用するか、外部 ID プロバイダーを選択して登録するためのサインアップ画面を示しています。
招待コードを手動で入力します
次のイメージは、招待コードを使用して招待を引き換えるオプションを示しています。
パスワードを忘れた/パスワードのリセット
パスワードを再設定する必要のある再訪問者 (自分のユーザー プロファイルで電子メール アドレスとパスワードを設定したことのあるユーザー) は、パスワードを再設定するためのトークンを自分の電子メール アカウントに送信するようにリクエストできます。 再設定用のトークンの所有者は、新しいパスワードを自分で決めて設定することができます。 トークンを破棄して、ユーザーの元のパスワードを変更せずに残すこともできます。
関連サイトの設定:
Authentication/Registration/ResetPasswordEnabled
Authentication/Registration/ResetPasswordRequiresConfirmedEmail
関連するプロセス: 取引先担当者をリセットするパスワードの送信
- 必要に応じてワークフローの電子メールをカスタマイズします。
- 処理を実行するには、電子メールを送信します。
- 訪問者に電子メールを確認するように促します。
- 訪問者には、パスワードをリセットするための電子メールが、説明と共に届きます。
- 訪問者が再設定フォームに戻ります。
- パスワードのリセットが完了しました。
招待状の引き換え
招待コードを入力すると、登録しようとしている訪問者を、その訪問者用に事前に準備した既存の取引先担当者レコードに関連付けることができます。 通常、招待コードは電子メールで送信されますが、一般的なコードの送信フォームを使用して、他のチャネル経由でコードを送信できます。 有効な招待コードが送信されたら、通常ユーザー登録 (サインアップ) プロセスでは新しいユーザー アカウントの設定が実施されます。
関連サイトの設定:
Authentication/Registration/InvitationEnabled
関連するプロセス招待状の送信
このワークフローによって送信される電子メールは、ポータル上の招待ページを利用するために URL を使用することでカスタマイズされる必要があります: https://portal.contoso.com/register/?returnurl=%2f&invitation={Invitation Code(Invitation)}
新しい連絡先に対する招待状を作成します。
新しい招待状をカスタマイズし、保存します。
招待メールをカスタマイズします。
招待状を送るワークフローを処理します。
招待メールで償還ページを開きます。
ユーザーは招待コードを送信して登録します。
登録が無効です
ユーザーが招待状を引き換えた後にユーザーの登録が無効である場合、次のコンテンツ スニペットを使用してメッセージを表示します。
名前: Account/Register/RegistrationDisabledMessage
値: 登録が無効になっています。
プロフィール ページでユーザー アカウントを管理する
認証されたユーザーは、プロファイル ページのセキュリティナビゲーション バーを介して自分のユーザー アカウントを管理します。 ユーザーのユーザー登録時に選択するアカウントは 1 つのローカル アカウントまたは 1 つの外部アカウントに限定されていません。 外部アカウントを持つユーザーは、ユーザー名とパスワードを適用することによってローカル アカウントを作成するか選択できます。 ローカル アカウントから開始したユーザーは、自分のアカウントに複数の外部の ID を関連付けることができます。 プロフィールのページは、確認用の電子メールを自分の電子メール アカウントに送るようにリクエストをして電子メール アドレスを確認するようにユーザーに注意喚起する場所でもあります。
関連サイトの設定:
Authentication/Registration/LocalLoginEnabled
Authentication/Registration/ExternalLoginEnabled
Authentication/Registration/TwoFactorEnabled
パスワードを設定または変更する
既存のローカル アカウントを持つユーザーは、元のパスワードを入力することによって新しいパスワードを適用することができます。 ローカル アカウントを持たないユーザーは、ユーザー名とパスワードを選択して新しいローカル アカウントを設定することができます。 ユーザー名は、設定後に変更することはできません。
関連サイトの設定:
Authentication/Registration/LocalLoginEnabled
関連するプロセス:
- ユーザー名およびパスワードを作成します。
- 既存のパスワードを変更します。
注意
上記のタスク フローは、ポータル管理アプリを使用して連絡先で呼び出された場合にのみ機能します。 これらのタスク フローは、予定されているタスク フローの非推奨 の影響を受けません。
電子メール アドレスの確認
電子メールを変更すると (または最初に作成すると)、電子メールが未確認の状態になります。 ユーザーは、新しい電子メール アドレスに確認メールを要求することができます。その電子メールには、電子メール確認プロセスを完了するためにユーザーへの指示が含まれています。
関連するプロセス: 確認をする電子メールを連絡先に送信する
- 必要に応じてワークフローの電子メールをカスタマイズします。
- ユーザーは、未確認状態の新規電子メールを送信します。
- ユーザーは、確認のために電子メールを確認します。
- 確認メールをカスタマイズします。
- 確認をする電子メールを連絡先に送信するワークフローを処理します。
- ユーザーは確認リンクを設定して確認プロセスを完了します。
注意
確認電子メールは、取引先担当者の既定電子メール (emailaddress1) にのみ送信されるため、既定電子メールが取引先担当者に対して指定されていることを確認します。 確認電子メールは、取引先担当者レコードの電子メール アドレス 2 (emailaddress2) や連絡用電子メール アドレス (emailaddress3) には送信されません。
2 要素認証を有効化する
二段階認証機能は、標準のローカルまたは外部アカウント サインインに加えて確認電子メールの所有権の証拠を要求することによってユーザー アカウント セキュリティを強化します。 二段階認証有効のアカウントにサインインするユーザーには、アカウントに関連付けられている確認電子メールにセキュリティ コードが送られます。 セキュリティ コードは、サインイン処理を完了するために必ず送信する必要があります。 ユーザーは検証が完了したブラウザーを記憶するかどうか選ぶことができるので、セキュリティ コードは同じブラウザーから次にユーザーがサインインする場合は要求されません。 各ユーザー アカウントでこの機能が個別に有効となり、確認電子メールを要求することができます。
警告
Authentication/Registration/MobilePhoneEnabled サイト設定を従来機能を有効化するように作成および有効化する場合は、エラーが発生します。 このサイト設定は、そのままでは提供されておらず、ポータルではサポートされていません。
関連サイトの設定:
Authentication/Registration/TwoFactorEnabled
Authentication/Registration/RememberBrowserEnabled
関連するプロセス: ツーファクタ コードを連絡先に電子メールの送信
- 二段階認証を有効にします。
- 電子メールでセキュリティ コードを受信することを選択します。
- セキュリティのコードを含む電子メールをお待ちください。
- 二段階認証のコードを連絡先にメールで送信 を処理します。 処理します。
- 二段階認証は無効にすることができます。
外部アカウントの管理
認証されたユーザーは、複数の外部 ID を、各構成済みの ID プロバイダーから、自分のアカウントに接続 (登録) できます。 ID が接続されると、ユーザーは接続された任意の ID を使用し、サインインすることを選択できます。 既存の ID は、少なくとも 1 つの外部 ID またはローカル ID を残して、接続解除することができます。
関連サイトの設定:
Authentication/Registration/ExternalLoginEnabled
外部 ID プロバイダー サイトの設定
ユーザー アカウントに接続するプロバイダーを選択します。
接続するプロバイダーを使用してサインインします。
プロバイダーが接続されました。 プロバイダーを接続解除することもできます。
ASP.NET ID 認証の有効化
以下の表で、各種の認証方式や挙動を有効および無効にするための設定を説明しています。
サイト設定の名前 | 内容 |
---|---|
Authentication/Registration/LocalLoginEnabled | ユーザー名 (または電子メール) とパスワードによるローカル アカウントのサインインを有効化または無効化します。 既定値: true |
Authentication/Registration/LocalLoginByEmail | ユーザー名フィールドのかわりに電子メール アドレス フィールドを使用するローカル アカウントのサインインを有効化または無効化します。 既定: false |
Authentication/Registration/ExternalLoginEnabled | 外部アカウントのサインインと登録を有効化または無効化します。 既定値: true |
Authentication/Registration/RememberMeEnabled | このアカウントを記憶するチェック ボックスをローカルのサインインで選択またはクリアすると、Web ブラウザーを閉じたあとも認証セッションを継続します。 既定値: true |
Authentication/Registration/TwoFactorEnabled | 2 要素認証をユーザーが有効化できるオプションを有効または無効にします。 確認電子メール アドレスでユーザーは追加した二段階認証のセキュリティを選択できます。 既定: false |
Authentication/Registration/RememberBrowserEnabled | 現在のブラウザーの二次因数検証を保持する二次因数検証 (メール コード) のブラウザを記憶するチェック ボックスを選択またはクリアします。 ユーザーは、同一のブラウザーを使用する場合に、次回のサインインで二段階認証を行う必要がなくなります。 既定値: true |
Authentication/Registration/ResetPasswordEnabled | パスワード再設定機能を有効または無効にします。 既定値: true |
Authentication/Registration/ResetPasswordRequiresConfirmedEmail | 確認済みの電子メール アドレスについてのみ、パスワード再設定を有効または無効にします。 有効の場合、未確認の電子メール アドレスにはパスワード再設定の手順を送信できません。 既定: false |
Authentication/Registration/TriggerLockoutOnFailedPassword | パスワードの認証失敗の記録を有効または無効にします。 無効の場合、ユーザー アカウントがロックされることはありません。既定値: true |
Authentication/Registration/IsDemoMode | 開発環境やデモ環境でのみ使用されるデモ モード フラグを有効または無効にします。 運用環境でこの設定を有効にしないでください。 デモ モードでは、Web アプリケーション サーバーに対して Web ブラウザーがローカルで実行している必要があります。 デモ モードを有効にしている場合、パスワード再設定のコードおよび 2 要素認証のコードは、すばやくアクセスするためにユーザーに対して表示されます。 既定: false |
Authentication/Registration/LoginButtonAuthenticationType | これにより、ポータルが単一の外部 ID プロバイダーのみを要求する場合 (すべての認証を処理するため)、ヘッダーのナビゲーション バーのサインインボタンからその外部 ID プロバイダーのサインイン ページに直接リンクすることができます (中間的なローカルのサインイン フォームや ID プロバイダーの選択ページにリンクする代わりとして)。 この動作のためには、単一の ID プロバイダーのみが選択されている必要があります。 プロバイダーの AuthenticationType の値を指定します。 Azure AD B2C を使用するような OpenID Connect を使用した単一サインオン構成については、ユーザーは認証を提供しなければなりません。 OAuth 2.0 –ベースのプロバイダーについて、許可された値は次のとおりです: Facebook 、Google 、Yahoo 、Microsoft 、LinkedIn 、および Twitter WS-Federation –ベースのプロバイダーでは、 Authentication/WsFederation/ADFS/AuthenticationType および Authentication/WsFederation/Azure/[provider]/AuthenticationType のサイト設定で指定した値を使用します。 例: https://adfs.contoso.com/adfs/services/trust 、Facebook-0123456789 、Google 、Yahoo! 、uri:WindowsLiveID 。 |
ユーザー登録の有効化または無効化
以下ではユーザー登録 (サインアップ) のオプションを有効および無効にする設定について説明します。
サイト設定の名前 | 内容 |
---|---|
Authentication/Registration/Enabled | ユーザー登録のすべてのフォームを有効または無効にします。 このセクションのほかの設定を使用できるようにするには、登録を有効化する必要があります。 既定値: true |
Authentication/Registration/OpenRegistrationEnabled | ユーザーのすべてのフォームを作成するためのサインアップ登録フォームを有効または無効にします。 サインアップのフォームでは、ポータルへの未登録の訪問者が、新しいユーザー アカウントを作成することができます。 既定値: true |
Authentication/Registration/InvitationEnabled | 招待コードがあるユーザーを登録する招待コード入力フォームを有効化または無効化します。 既定値: true |
Authentication/Registration/CaptchaEnabled | ユーザー登録ページで画像文字を有効化または無効化します。 既定: false メモ: - このサイト設定は既定では使用できない場合があります。 画像文字を有効にするには、サイト設定を作成して、その値を true に設定する必要があります。 |
注意
登録はユーザーの既定メール (emailaddress1) を使用して実行されるため、既定メールがユーザーに対して指定されていることを確認します。 ユーザーは、取引先担当者レコードの電子メール アドレス 2 (emailaddress2) や連絡用電子メール アドレス (emailaddress3) を使用して登録できません。
ユーザーの資格情報の検証
以下ではユーザー名およびパスワードの検証パラメーターを調整するための設定について説明します。 検証は、ユーザーが新しいローカル アカウントにサインアップするか、パスワードを変更した場合に起こります。
サイト設定の名前 | 内容 |
---|---|
Authentication/UserManager/PasswordValidator/EnforcePasswordPolicy | パスワードに、次のカテゴリの 3 つからの文字を含めるかどうかを示します:
|
Authentication/UserManager/UserValidator/AllowOnlyAlphanumericUserNames | ユーザー名に英数字のみ許可するかどうかを示します。 既定: false |
Authentication/UserManager/UserValidator/RequireUniqueEmail | ユーザーの検証に一意の電子メールを必要とするかどうかを示します。 既定値: true |
Authentication/UserManager/PasswordValidator/RequiredLength | 最低限必要なパスワードの文字数。 既定値: 8 |
Authentication/UserManager/PasswordValidator/RequireNonLetterOrDigit | パスワードに英字以外の文字または数字を許可するかどうかを示します。 既定: false |
Authentication/UserManager/PasswordValidator/RequireDigit | パスワードに数字 (0 ~ 9) が必要であるかどうかを示します。 既定: false |
Authentication/UserManager/PasswordValidator/RequireLowercase | パスワードに小文字 (a ~ z) が必要かどうかを示します。 既定: false |
Authentication/UserManager/PasswordValidator/RequireUppercase | パスワードに大文字 (A ~ Z) が必要かどうかを示します。 既定: false |
ユーザー アカウントのロックアウトの設定
以下ではアカウントを認証できないようにロックする場合の方法とタイミングの設定を説明します。 短い間隔で指定回数のパスワード失敗の操作が行われたのを検出すると、ある期間、ユーザー アカウントをロックします。 そのユーザーは、その期間の経過後にもう一度実行できます。
サイト設定の名前 | 内容 |
---|---|
Authentication/UserManager/UserLockoutEnabledByDefault | ユーザーの作成時にユーザーのロックアウトを有効にするかどうかを示します。 既定値: true |
Authentication/UserManager/DefaultAccountLockoutTimeSpan | Authentication/UserManager/MaxFailedAccessAttemptsBeforeLockout に達するまでの、ユーザーがロックアウトされるまでの既定の経過時間。 既定値: 24:00:00 (1 日) |
Authentication/UserManager/MaxFailedAccessAttemptsBeforeLockout | ロックアウトされるまでにユーザーがアクセス試行できる最大回数 (ロックアウトが有効な場合)。 既定値: 5 |
Cookie 認証サイト設定
次に、CookieAuthenticationOptions クラスで定義されている既定の認証 Cookie の動作を変更するための設定について説明します。
サイト設定の名前 | 内容 |
---|---|
Authentication/ApplicationCookie/AuthenticationType | アプリケーション認証 cookie の種類です。 既定値: ApplicationCookie |
Authentication/ApplicationCookie/CookieName | ID を保持するために使用する cookie 名を決定します。 既定値: .AspNet.Cookies |
Authentication/ApplicationCookie/CookieDomain | Cookie の作成に使用するドメインを決定します。 |
Authentication/ApplicationCookie/CookiePath | cookie の作成に使用するパスを決定します。 既定値: / |
Authentication/ApplicationCookie/CookieHttpOnly | クライアント側 JavaScript から cookie へのアクセスをブラウザーが許可するかどうか決定します。 既定値: true |
Authentication/ApplicationCookie/CookieSecure | cookie が HTTPS 要求でのみ送信されるかを決定します。 既定値: SameAsRequest |
Authentication/ApplicationCookie/ExpireTimeSpan | アプリケーション cookie が作成された時点から有効状態にとどまる時間をコントロールします。 既定値: 24:00:00 (1 日) |
Authentication/ApplicationCookie/SlidingExpiration | SlidingExpiration は true にセットされて、有効期限ウィンドウの半分を過ぎた要求を処理するときはいつでも、ミドルウェアに新しい有効期限の新しい cookie を再発行するよう指示します。 既定値: true |
Authentication/ApplicationCookie/LoginPath | LoginPath プロパティはミドルウェアに対し、送信 401 未承認ステータス コードを指定サインイン パス上の 302 リダイレクトに変更する必要があることを通知します。 既定値: /signin |
Authentication/ApplicationCookie/LogoutPath | サインアウト パスがミドルウェアに提供される場合、ReturnUrlParameter に基づきそのパスに対する要求がリダイレクトされます。 |
Authentication/ApplicationCookie/ReturnUrlParameter | ReturnUrlParameter は、401 未承認ステータス コードがサインイン パス上に 302 リダイレクトに変更されるときの、ミドルウェアが追加するクエリ文字列パラメーターの名前を決定します。 |
Authentication/ApplicationCookie/SecurityStampValidator/ValidateInterval | セキュリティ スタンプ検証間の期間。 既定値: 30 分 |
Authentication/TwoFactorCookie/AuthenticationType | 二段階認証 cookie の種類です。 既定値: TwoFactorCookie |
Authentication/TwoFactorCookie/ExpireTimeSpan | 二段階 cookie が作成された時点から有効状態にとどまる時間をコントロールします。 値は 6 分を超えてはいけません。 既定値: 5 分 |
次の手順
アイデンティティ プロバイダを Azure AD B2Cへ移行する
関連項目
Power Apps ポータルにおける認証の概要
ポータルの OAuth 2.0 プロバイダーを構成する
ポータルの OpenID Connect プロバイダーを構成する
ポータルの SAML 2.0 プロバイダーを構成する
ポータルの WS-Federation プロバイダーを構成する
Power Apps ポータルの認証設定
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。