認証設定
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
この記事では、Content Hub で認証や外部認証プロバイダーを設定する方法について説明します。
[!注] 認証設定
Authenticationは、カテゴリPortalConfigurationの下に保存されます。
構造
構造
完成した設定は次のようになります。
[!注] これらの値は既定値を表すものではありません。既定値を確認するには、「[オプション] セクション」を参照してください。
[!警告] この設定例は使用しないでください。 これは単なる例であり、その値は要件に合わせて変更する必要があります。
[!警告] ログイン画面の
messages設定で提供される変換キーは、T_プレフィックスなしで提供する必要があります。 たとえば、"signIn": "T_translationKey"は"signIn": "translationKey"にする必要があります。
オプション
オプション
次のオプションを設定できますが、必須ではありません。 オプションを省略すると、既定値が設定されます。
| オプション | 説明 | 既定値 | 推奨値 |
|---|---|---|---|
| AttemptsBeforeLockout | システムからロックアウトされるまでに失敗したログイン試行の回数。 これは EnableLockout/MinutesToLockout に関連しています。 | 既定値: 5 (ログインに5回失敗すると、自動的にロックアウトされます) | 推奨値: 3 |
| AutoCreateUsers | 「true」に設定されている場合に外部認証プロバイダーを使用してログインすると、まだシステムにアカウントがないときは自動的にアカウントが作成されます。 これは EnableCredentialless に関連しています。 | 既定値: * true* | 推奨値: false |
| AutoRestrict | 「true」に設定されている場合、新しく作成されたユーザーは自動的に制限されます。 この制限は、管理者がそのアカウントを確認するまで、特別なランディング ページにしかアクセスできないことを意味します。 これはアカウントの制限に関連しています。 | 既定値: * false* | 推奨値: true |
| CookieDomain | 認証 Cookie に使用されるドメイン。 | 既定値: null | |
| CookieName | 認証 Cookie の名前。 | 既定値: null | |
| DefaultUserGroups | システムに新しいユーザーが作成されると、そのユーザーは 1 つ以上のユーザー グループに自動的に追加されます。 このコレクションの値は、既存のユーザー グループと存在しないユーザー グループの両方を参照できます。存在しないユーザー グループは自動的に作成されます。 このオプションが含まれていない場合、ユーザーはどのユーザー グループにも追加されません。 | 既定値: 空 | 推奨値: 空 |
| EnableBasicAuthentication | 「true」に設定されている場合、ログイン ページでユーザー名とパスワードを使用してログインできます。 それ以外の場合は、外部認証プロバイダーを使用してのみログインできます。 | 既定値: * true* | 推奨値: false |
| EnableConfirmationMail | 「true」に設定されている場合、システムにアクセスするにはメールによる確認が必要です。 新しいアカウントを作成すると、確認メールが送信されます。 そのメール内のリンクをクリックした場合にのみ、アプリケーションにログインできます。 | 既定値: * false* | 推奨値: true |
| EnableCredentialless | 「true」に設定されている場合、システムにアカウントを作成しなくても、外部認証プロバイダーを使用してログインできます。 ユーザーのメール アドレスがシステムにすでに存在する場合、ログインは既存のユーザー アカウントにリンクされます。 これは AutoCreateUsers に関連しています。 | 既定値: * true* | 推奨値: false |
| EnableEmailWhiteList | 「true」に設定されている場合、設定されたパターンの 1 つに一致するメール アドレスを持つユーザーのみが、システムでアカウントを作成できます。 これは WhiteListedEmailPatterns に関連しています。 | 既定値: * false* | 推奨値: true |
| EnableExternalAuthentication | 「true」に設定されている場合、外部認証が有効になり、設定済みの外部認証プロバイダーの 1 つを使用してログインできます。 | 既定値: * false* | 推奨値: true |
| EnableForgotPassword | 「true」に設定されている場合、パスワードを忘れたユーザーは「パスワードを忘れた場合」のメールをリクエストし、自分のメール アドレスを使用してパスワードをリセットできます。 これは ShowForgotPassword に関連しています。 | 既定値: * false* | 推奨値: false |
| EnableLockout | 「true」に設定されている場合、ログイン試行の失敗が設定された回数を超えると、ユーザー アカウントは自動的にロックアウトされます。 これは AttemptsBeforeLockout/MinutesToLockout に関連しています。 | 既定値: * true* | 推奨値: true |
| EnableRegister | 「true」に設定されている場合、登録ページを使用して新しいアカウントを作成できます。 これは ShowRegister に関連しています。 | 既定値: * false* | 推奨値: false |
| ExpireTimeSpan | 認証 Cookie の有効期限が切れるまでの時間 (分単位)。 注意: ログイン ページで [ログイン状態を保つ] オプションを使用する場合にのみ適用されます。 | 既定値: 5 日 | 推奨値: 15 〜 30 分 |
| MinutesToLockout | システムからロックアウトされる分数。 これは AttemptsBeforeLockout/EnableLockout に関連しています。 | 既定値: 5 分 | 推奨値: 5分 |
| PasswordExpiration | パスワードの有効期限が切れるまでの時間 (分単位)。 パスワードの有効期限が切れると、パスワードを変更するように求められます。 | 既定値: 90 日 | 推奨値: 90 日 |
| PasswordRules | パスワードの検証に使用されるルール。 - RequireDigit: パスワードには数字を含める必要があります。- RequireLowercase: パスワードには小文字を含める必要があります。- RequireNonLetterOrDigit: パスワードには英数字以外の文字を含める必要があります。- RequireUppercase: パスワードには大文字を含める必要があります。- RequiredLength: パスワードの最小の長さ。 | - RequireDigit: true - RequireLowercase: true- RequireNonLetterOrDigit: true- RequireUppercase: false- RequiredLength: 6 | - RequireDigit: true - RequireLowercase: true- RequireNonLetterOrDigit: true- RequireUppercase: true- RequiredLength: 15 |
-
RequireDigit: true - RequireLowercase: true- RequireNonLetterOrDigit: true- RequireUppercase: false- RequiredLength: 6
| PostSignOutRedirectUrl | アプリケーションからサインアウトした後、指定された URL にリダイレクトされます。 このオプションが指定されていない場合、ログイン ページにリダイレクトされます。 | 既定値: null | |
| ReCaptcha |
KeyとSecretの両方の値が存在する場合、reCAPTCHA ウィジェットが登録ページに表示されます。 | 既定値: null | 推奨値: true | | RegistrationLink | 指定した場合、ログイン ページの登録リンクをクリックすると、指定した URL にリダイレクトされます。 | 既定値: null | | | ShowForgotPassword | 「true」に設定されている場合、[パスワードを忘れた場合] ページへのリンクがログイン ページに表示されます。
これは EnableForgotPassword に関連しています。 | 既定値: * false* | 推奨値: false | | ShowRegister | 「true」に設定されている場合、登録ページへのリンクがログイン ページに表示されます。
これは EnableRegister に関連しています。 | 既定値: * false* | 推奨値: false | | SlidingExpiration | 「true」に設定されている場合、認証 Cookie は、リクエストが処理されるたびに新しい有効期限で再発行されます。これは有効期限の半分以上です。 | 既定値: * false* | 推奨値: true | | TokenLifespan | パスワードがリセットされるか、メール確認トークンが無効になるまでの時間 (分単位)。 | 既定値: 1 日 | 推奨値: 10 時間 | | WhiteListedEmailPatterns | このオプションは、EnableEmailWhiteList が「true」に設定されている場合にのみ関連します。 コレクションの各値には、正規表現が含まれています。 メール アドレスがこれらの正規表現の少なくとも 1 つと一致する場合にのみ、システムにアカウントを作成できます。 | 既定値: 空 | |
外部認証プロバイダー
外部認証プロバイダー
シングル サインオン (SSO) を使用すると、外部認証プロバイダーを使用してシステムにログインできます。
次の外部認証プロバイダーを使用できます。
- Microsoft
- SAML
- Sitecore
- WS-Federation
- Yandex
プロバイダーは、ExternalAuthenticationProviders プロパティの下で設定できます。
global_email_claim_type と global_username_claim_type プロパティでは、すべてのプロバイダーのメール アドレスとユーザー名をそれぞれ解決するようにクレーム タイプを設定します。 ただし、これらは特定のプロバイダーに対して上書きできます。
基本のプロバイダー設定
すべてのプロバイダーの基本設定は次のとおりです。
認証モード
認証モードは Active や Passive に設定できますが、「Active」として設定できるプロバイダーは一度に 1 つのみです。
「Active」に設定すると、ユーザーが認証されていない場合に、システムは自動的にプロバイダーのログイン ページにリダイレクトします。 それ以外の場合、ログイン ページに表示されているプロバイダーのボタンをクリックする必要があります。
[!注] プロバイダーが「Active」に設定されている場合、ログイン ページを参照することができなくなります。 この動作を上書きするには、
/en-US/Account?forcePassive=trueを参照してください。
既定値: Passive
外部ユーザー作成ページ
AutoCreateUsers が「true」に設定されている場合、新しいユーザー アカウントが自動的に作成されます。 ただし、「false」に設定すると、既定でエラー ページにリダイレクトされます。 代わりに、プロバイダー設定の external_user_creation_url パラメーターを使用し、この動作を上書きして、外部ユーザー作成ページにリダイレクトすることもできます。
既定値: null
Is enabled
is_enabled プロパティを使用して、プロバイダーを有効または無効にします。 有効になっているプロバイダーのみが表示され、認証パイプラインに登録されます。
既定値: false
メッセージ
既定では、外部認証プロバイダーを設定すると、ログイン ページに [<provider name>でサインイン] というラベルの付いた新しいボタンが自動的に表示されます。 このラベルはカスタマイズおよびローカライズできます。 また、ボタンにカーソルを合わせたときのメッセージのカスタマイズや、プロバイダーを説明する小さなヘルプ テキストの追加もできます。
これは、任意のプロバイダーの設定内の messages オブジェクトを追加することで実行できます。 このオブジェクトには、次の 3 つのキーを含めることができます。
- signIn: ボタンのメッセージ。
- signInTitle: ボタンにカーソルを合わせたときのメッセージ。
- signInDescription: ボタンの横にある小さな説明。
値は、既存の変換エンティティ キーの名前である必要があります (例: MyOwnCustomKey)。
既定値: 空
クレーム タイプの上書き
global_email_claim_type と global_username_claim_type は、email_claim_type と username_claim_type をそれぞれ使用して特定のプロバイダーに対して上書きできます。
既定値: null
プロバイダー名
外部認証プロバイダーの provider_name は、必須の一意識別子です。
[!警告] プロバイダー名は、同じタイプの複数の外部認証プロバイダーをサポートするために、一意の REST API コールバックの設定に使用されます。 通常、このコールバックは外部認証プロバイダー自体で設定する必要があります。 したがって、プロバイダー名を変更する場合は、外部認証プロバイダーにも変更を加える必要があります。 既定で、コールバック URL は
/signin-{provider-name}の形式です。
プロバイダー名は一意 (大文字と小文字を区別しない) の英数字で、最大 50 文字までにする必要があります。
プロバイダー固有のプロパティは次のとおりです。
- client_id (必須): OAuth クライアント ID。
- client_secret (必須): OAuth クライアント シークレット。
Microsoft
プロバイダー固有のプロパティは次のとおりです。
- client_id (必須): OAuth クライアント ID。
- client_secret (必須): OAuth クライアント シークレット。
- authorization_endpoint (オプション): オプションで承認エンドポイントを上書きします。
- token_endpoint (オプション): オプションでトークン エンドポイントを上書きします。
- user_information_endpoint (オプション): オプションでユーザー情報エンドポイントを上書きします。
SAML
プロバイダー固有のプロパティは次のとおりです。
- certificate (オプション、既定 = null): ID プロバイダーがメッセージに署名するために使用する証明書へのパス。 証明書は、SAML プロバイダーが署名済みの認証リクエストを予期している場合にのみ必要です。
- idp_entity_id (必須): ID プロバイダーのエンティティ ID。
- metadata_location (必須): SAML サービス プロバイダーの XML メタデータを指す URL。
- エンドポイント
/AuthServices-{providerNameInTheAuthenticationSettings}を使用して、SP_metadata.xml ファイルを自動的に生成できます。
- エンドポイント
- password (オプション): 証明書へのアクセスに使用されるパスワード。
- sp_entity_id (必須): サービス プロバイダーのエンティティ ID。
- module_path (オプション、既定 = null): SAML エンドポイントのアプリケーション ルート相対パス。 既定で
/AuthServices-(大文字と小文字が区別されます) の後に小文字のプロバイダー名が続きます。 これは一意である必要があります。 - binding (オプション、既定 = HttpRedirect): AuthnRequest を ID プロバイダーに送信するときに使用されるバインディング。 受け入れられる値は
HttpRedirect、HttpPost、Artifactです。 - authn_request_protocol_binding (オプション、既定 = null): 応答時に ID プロバイダーに使用をリクエストするバインディング タイプ。 これは、AuthnRequest の ProtocolBinding 属性に含まれます。 受け入れられる値は
HttpPostとArtifactです。
SAML プロバイダーが署名済みの認証リクエストを予測しているかどうかを判断するには、メタデータ ファイルを検査する必要があります。 メタデータ ファイルの AuthnRequestsSigned 属性が「true」に設定されている場合、署名済みのリクエストが予測され、証明書ファイルを提供する必要があります。 それ以外の場合、署名済みのリクエストは要求されず、証明書が提供されません。
ほとんどの SAML プロバイダーは、コールバック URL (大文字と小文字を区別します) を必要とします。 ユーザーが認証されると、この URL に SAML トークンを渡します。 コールバック URLは module_path によって異なります。 このコールバック URL は、他の外部認証タイプからのコールバック URL と一致しません。
Sitecore
プロバイダー固有のプロパティは次のとおりです。
- identity_server_url (必須): Sitecore は認証に IdentityServer を使用します。 この URL は、サインイン プロセス中にリダイレクトされる ID サーバー インスタンスを指す必要があります。
- client_id (必須): IdentityServer インスタンスによって認識される OAuth クライアント ID。
- client_secret (必須): IdentityServer インスタンスによって認識される OAuth クライアント シークレット。
例では、username_claim_type と email_claim_type を上書きします。 これは、Sitecore の IdentityServer の既定設定では、名前とパスワードに標準化されたクレーム タイプを使用していないためです。 代わりに、「名前」と「メール」を使用します。
WsFederation
プロバイダー固有のプロパティは次のとおりです。
- metadata_address (必須): WsFederation サービス プロバイダーの XML メタデータを公開する URL。
- wtrealm (必須): リクエストしている領域の URL。
Yandex
プロバイダー固有のプロパティは次のとおりです。
- client_id (必須): OAuth クライアント ID。
- client_secret (必須): OAuth クライアント シークレット。
アカウントの制限
アカウントの制限
ユーザーは「制限付き」としてマークできます。 これは、「特別な」ランディング ページにしかアクセスできないことを意味します。 管理者がアカウントを確認するまで、アプリケーション全体にアクセスすることはできません。
スキーマ
ユーザー定義には、「IsRestricted」というプロパティが含まれます。 このプロパティが「True」に設定されている場合、ユーザーは制限されます。 プロパティに値がないか、明示的に「False」に設定されている場合、ユーザーはアプリケーション全体にアクセスできます。
設定
アカウント制限の設定は、「portalconfiguration」カテゴリの「accountrestrictionconfiguration」設定にあります。
- enable_user_restrictions: ユーザー制限が有効かどうかを示します。 「False」に設定すると、「IsRestricted」プロパティの値は無視され、すべてのユーザーがアプリケーション全体にアクセスできます。
- restricted_landing_page: 制限されたユーザーがリダイレクトされるランディング ページの名前。
拡張性
拡張性
認証システムは、既定の実装を拡張またはカスタマイズするいくつかの方法を提供します。
メール テンプレート
システムは、次に説明するように、いくつかの状況でメールを送信します。
次のメール テンプレートが使用されます。
- ConfirmAccount: 新規アカウントの作成後、メール アドレスを確認する必要がある場合に送信されます。 次の変数を使用できます。
- CallbackUrl: パスワードの確認ページへのリンク。
- ForgotPassword: ユーザーが [パスワードを忘れた場合] ボタンをクリックしたとき、または管理者がユーザーのパスワードをリセットしたときに送信されます。 次の変数を使用できます。
- CallbackUrl: [パスワードを忘れた場合] ページへのリンク。
これらのテンプレートは、外観を変えるために変更できます。
メール ビルダー
メール ビルダーのカスタム実装は、IConfirmEmailBuilder および/または IPasswordResetEmailBuilder インターフェイスを実装することでシステムに登録できます。
M スクリプト
ユーザー登録とサインインをきめ細かく制御するには、次の M スクリプトを使用できます。
- ユーザー登録前
- ユーザー登録後
- ユーザー サインイン
詳細については、スクリプトのドキュメントを参照してください。