シングルサインオン(SSO)をセットアップして非公開コンテンツにアクセスする
更新日時 2023年 9月 13日
以下の 製品でご利用いただけます(別途記載されている場合を除きます)。
|
|
シングルサインオン(SSO)は、1つのユーザー名とパスワードで異なるアプリケーションに安全にログインする方法です。
非公開コンテンツのSSOでは、管理者がGoogleやOktaなどのIDプロバイダーアカウントにHubSpotアプリケーションを設定することができます。IDプロバイダーアカウント内でHubSpotアプリケーションにアクセスできる組織のメンバーは、SSOでログインして非公開コンテンツを閲覧することができます。
HubSpotアカウントのリストメンバーシップに基づいて、特定のコンテンツにアクセスできる個人をさらに絞り込むことができます。リストメンバーシップに基づいてコンテンツへのアクセスを許可するチームメンバーには、HubSpotアカウント内にコンタクトレコードがなければなりません。
非公開コンテンツのSSOは、次のサブスクリプションでご利用いただけます。
- Marketing Hubと CMS Hub Enterpriseアカウントは、ブログ、ランディングページ、ウェブサイトページのSSOをセットアップできます .
- Service HubProfessional およびEnterpriseアカウントは、ナレッジベース記事およびカスタマーポータルの SSO を設定することができます。
始める前に
- この設定作業は、IDプロバイダーアカウントでアプリケーションを作成した経験があり、HubSpotでウェブサイト設定を編集する権限があるIT管理者が行う必要があります。
- IDプロバイダーアカウントごとに、HubSpotでホスティングされている1つのサブドメインについてSSOを設定できます。最適な結果を得るためには、1つのサブドメインをSSOメンバーシップ専用にすることをおすすめします。
- SSOを必要とする非公開コンテンツの通知Eメールとログインページは、HubSpotの非公開コンテンツ設定ではなく、ご利用のIDプロバイダーアカウントで処理されます。
- SSOを必要とする非公開コンテンツは、検索エンジンにクロールされず、アクセス権を持ち、ログインしているコンタクトのみが閲覧できるようになります。
- 画像やフォームなどのページアセットは、ページの一部としてアクセスするためにのみSSOを必要とします。アセット自体のURLが別途提供されている場合は、アクセスにSSOは必要ありません。ファイルツールのアセットにURLの可視性を設定する方法について詳しくはこちら .
- 以前はメンバー登録が必要だったドメインでSSOをオンにした場合、SSOは元のメンバーリストを使用します。再度SSOをオフにすると、同じリストに対してメンバー登録が必要なコンテンツに戻ります。
IDプロバイダーアカウントでHubSpot非公開コンテンツに対するSSOをセットアップする
HubSpotでホスティングされる非公開コンテンツに対するSSOをセットアップするために、IT管理者はHubSpotコンテンツアクセスのための新しいアプリを作成することになります。このプロセスを完了するには、IT管理者がHubSpotの非公開コンテンツ設定に含まれている値を参照します。
注:メンバー登録のある非公開コンテンツをすでにホスティングしているサブドメインにSSOを要求した場合、そのコンテンツは登録コンタクトがアクセスできなくなります。
IDプロバイダーで新しいアプリケーションを追加するために必要な手順やフィールドは、異なる場合があります。非公開コンテンツのSSOをセットアップするための一般的な手順は、以下のとおりです。
SAMLベースのアプリケーションにSSOを設定する
IDプロバイダーアカウントでHubSpot非公開コンテンツの新しいSAMLアプリを作成するには、次の手順に従います。
- IDプロバイダーアカウントにログインします。
- IDプロバイダーアカウント内のアプリに移動します。
- HubSpotアカウントで、新しいHubSpotアプリに必要な値を収集します。
- HubSpotアカウントにて、メインのナビゲーションバーに表示される設定アイコンsettingsをクリックします。
- 左のサイドバーメニューで、[ウェブサイト]>[非公開コンテンツ]の順に進みます。
- ページの上部にある[編集するドメインを選択]ドロップダウンメニューをクリックし、サブドメインを選択します。
- [シングルサインオン(SSO)]セクションで、[SSOセットアップ]をクリックします。
- 右側のパネルで、[セキュリティートークンの形式]ドロップダウンメニューをクリックし、[SAML]を選択します。
- [オーディエンスURL]と[サインオンURL]の値をコピーします。
- IDプロバイダーアカウントで、次の操作を行います。
- HubSpotからコピーしたオーディエンスURLとサインオンURLを、対応するフィールドに貼り付けます。
-
- [発行者URL]、[シングルサインオンURL]、[証明書]のIDをコピーします。
- HubSpotアカウントで、次の操作を行います。
- 発行者URL、シングルサインオンURL、および証明書の値を、[シングルサインオンを設定]パネル内の対応するフィールドに貼り付けます。
- [認証]をクリックします。
認証プロセスが完了したら、[非公開コンテンツ]設定で、ドメインでシングルサインオンが有効になっていることを確認します。
JWTベースのアプリケーションにSSOを設定する
- IDプロバイダーアカウントで、次の操作を行います。
- IDプロバイダーアカウント内のアプリに移動します。
- [リモートログインURL]と[シークレットキー]のIDをコピーします。署名アルゴリズムを見つけます。
- セキュリティーを強化するために、[問題]、[件名]、[オーディエンス]の値をコピーします。
- HubSpotアカウントで、これらの値をSSO設定に入力します。
- HubSpotアカウントにて、メインのナビゲーションバーに表示される設定アイコンsettingsをクリックします。
- 左のサイドバーメニューで、[ウェブサイト]>[非公開コンテンツ]の順に進みます。
- ページの上部にある[編集するドメインを選択]ドロップダウンメニューをクリックし、サブドメインを選択します。
- [シングルサインオン(SSO)]セクションで、[SSOセットアップ]をクリックします。
- 右側のパネルで、[セキュリティートークンの形式]ドロップダウンメニューをクリックし、[JWT]を選択します。
- リモートログインURLを貼り付けます。
- [署名アルゴリズム]ドロップダウンメニューをクリックし、IDプロバイダーアカウントの値を選択します。
- シークレットキーを貼り付けます。公開鍵と非公開鍵の両方で非対称署名アルゴリズムを使用する場合、秘密鍵は公開鍵となる。
-
- セキュリティーを強化するために、[問題]、[件名]、[オーディエンス]の値を貼り付けます。
- [認証]をクリックします。
SSO設定内で指定された「リモートログインURL」へのウィンドウが開きます。ウィンドウで開いたURLには、クエリーパラメーター「redirect_url」の値として、設定するドメイン上のURLとパス「_hcms/mem/jwt/verify」を指定します。
検証のためには、「リモートログインURL」で認証情報を入力した後、「redirect_url」パラメーターで指定したURLにリクエストする必要があります。このリクエストは、JWT/ハッシュ値でなければならない、サポートされているクエリーパラメーターを含まなければならない。このクエリーパラメーターは、いったん復号化されると、そのペイロードに有効なEメールアドレスを含む'email'フィールドを含む。サポートされるクエリーパラメーターは 'jwt'、'code'、'id_token' および 'access_token' です。
JWT/ハッシュは、SSO設定内で提供された署名アルゴリズムと秘密鍵を使ってHubSpotによって復号化されます。リモートログインURL」ページで有効な認証情報が入力された後に行われるこの後続リクエストの送信は、IDプロバイダーのアカウント内で設定される必要があります。
認証プロセスが完了したら、[非公開コンテンツ]設定で、ドメインでシングルサインオンが有効になっていることを確認します。
検証が完了したら、「リモートログインURL」での検証をパスした訪問者は、2つのクエリーパラメーターで「_hcms/mem/jwt」に送信されるはずです。
- 'jwt'、'code'、'id_token'、または'access_token'クエリーパラメーターにハッシュを指定し、このハッシュを復号化すると、訪問者のEメールアドレスがEメールフィールドに格納されます。
- 'redirect_url' クエリーパラメーターで、訪問者を誘導するページを指定します。このURLは、「リモートログインURL」に送信されるリクエストの「redirect_url」クエリーパラメーターの値と同じである必要があります。
一般的なJWTエラーのトラブルシューティング
JWTベースのアプリケーションのSSO設定に問題がある場合、JWTのデバッガを使ってJSONウェブトークンを検証することをお勧めします。
JWTを確認したら、以下のエラーに対処してください:
- NO_SETTINGS : ポータルとドメインの組み合わせが JWT 設定を返さない。
- COULD_NOT_PARSE_HEADER : JWT ヘッダが存在し、かつ base64 エンコードされていなければならない。
- WRONG_TYPE_IN_HEADER : JWTトークン・ヘッダに "typ "フィールドがあり、それが "jwt "と等しくない。
- ALGORITHM_MISSING_IN_HEADER : JWTトークン・ヘッダにアルゴリズム用の "alg "フィールドがない。
- NONE_ALGORITHM_PROVIDED : "alg "フィールドが "none "に等しく、安全ではなく、サポートされていない。
- TOKEN_VERIFICATION_FAILED:トークンが空、NULL、不正、またはクエリーパラメーターがサポートされていない可能性があります。jwt"、"code"、"id_token"、"access_token "のクエリーパラメーターをサポートしています。
- MISSING_EMAIL_IN_TOKEN : デコードされたトークンにEメールフィールドがないか、NULLまたは空です。
- INVALID_KEY : 秘密鍵がないか、無効である。
- INVALID_KEY_LENGTH : 秘密鍵の長さが、選択した署名アルゴリズムの要件と一致しない。
- PRIVATE_KEY_PROVIDED : 選択された署名アルゴリズムは秘密鍵として公開鍵を必要とするが、非公開鍵が提供された。
- INVALID_LOGIN_URL : 指定されたリモート・ログイン URL が有効ではありません。
- JTI_CLAIM_INVALID : JWT チェックは再生できません。
コンテンツのSSOを有効にする
非公開コンテンツに対してSSOを必須にするには、次の2つのオプションがあります。
- 非公開 - シングルサインオン(SSO)必須:IDプロバイダー組織の中でHubSpotアプリにアクセスできるすべてのユーザーは、SSOでログインして非公開コンテンツを表示できます。
- 非公開 - シングルサインオン(SSO)必須、リスト絞り込みあり:IDプロバイダー組織のユーザーであり、特定のHubSpotリストメンバーシップにも登録されているユーザーは、SSOでログインして非公開コンテンツを表示できます。これらのユーザーはIDプロバイダーアカウント内のHubSpotアプリケーションに対するアクセス権を持っている必要がありますが、HubSpotアカウント内のユーザーである必要はありません。
ブログに対してSSOを必須にする
IDプロバイダーアカウント内で接続したサブドメインでホスティングされているブログに対してSSOを必須にすることができます。特定のブログに対してSSOを有効にすると、そのブログで公開されるすべてのブログ記事が影響を受けます。特定のブログ記事に対してSSOを必須にすることはできません。
注:会員登録のある非公開コンテンツをすでにホスティングしているブログにSSOを要求した場合、そのブログには、そのコンタクトがアクセスできなくなります。
ブログに対するSSOをセットアップするには、次の手順に従います。
- HubSpotアカウントにて、メインのナビゲーションバーに表示される設定アイコンsettingsをクリックします。
- 左のサイドバーメニューで、[ウェブサイト]>[ブログ]の順に進みます。
- 左上の[修正するブログを選択]ドロップダウンメニューをクリックし、IDプロバイダーで設定されているサブドメインでホスティングされているブログを選択します。
- [オーディエンスアクセスを制御]セクションで、SSOをセットアップします。
- IDプロバイダー組織の中でHubSpotアプリにアクセスできるすべてのユーザーに対して、HubSpotアプリにアクセスするためのアクセス権を付与する場合は、[非公開 - シングルサインオン(SSO)必須]を選択します。
- IDプロバイダー組織の中でHubSpotアプリにアクセスできて、かつ特定のリストメンバーシップを持つすべての個人ユーザーに対してアクセス権を付与する場合は、[非公開 - シングルサインオン(SSO)必須、リスト絞り込みあり]を選択します。次に、このコンテンツへのアクセス権を付与するリストを選択します。
- 左下の[保存]をクリックします。
ランディングページまたはウェブサイトページに対してSSOを必須にする
IDプロバイダーアカウント内で接続したサブドメインでホスティングされているランディングページまたはウェブサイトページに対してSSOを必須にすることができます。
ランディングページやウェブサイトのページでSSOが必要な場合、すでに 会員登録が必要な非公開コンテンツに設定されている 、そのページには、そのコンタクトがアクセスできなくなります。
特定のページに対してSSOを設定する場合:-
コンテンツを開きます。
- ウェブサイトページ:HubSpotアカウントにて、[マーケティング]>[ウェブサイト]>[ウェブサイトページ]の順に進みます。
- ランディングページ:HubSpotアカウントにて、[マーケティング]>[ランディングページ]の順に進みます。
- SSOを必須にするページの横にあるチェックボックスを選択してオンにします。
- テーブルの上部にある「More」ドロップダウンメニューをクリックし、「Control audience access」を選択します。
- 右側のパネルで、選択したページに対してSSOを設定し、[ 保存 ]をクリックします。
- IDプロバイダー組織の中でHubSpotアプリにアクセスできるすべてのユーザーに対して、HubSpotアプリにアクセスするためのアクセス権を付与する場合は、[非公開 - シングルサインオン(SSO)必須]を選択します。
- IDプロバイダー組織の中でHubSpotアプリにアクセスできて、かつ特定のリストメンバーシップを持つすべての個人ユーザーに対してアクセス権を付与する場合は、[非公開 - シングルサインオン(SSO)必須、リスト絞り込みあり]を選択します。次に、このコンテンツへのアクセス権を付与する特定のリストを選択します。
- また、コンテンツエディターの「設定」タブで、特定のページに対するオーディエンスのアクセスを制御することができます。
特定のナレッジベース記事に対してSSOを必須にする
IDプロバイダーアカウント内で接続したサブドメインでホスティングされているナレッジベース記事に対してSSOをセットアップすることができます。現在、ナレッジベース全体でSSOを必須にすることはできません。
ナレッジベースの記事でSSOが必要な場合、すでに 会員登録が必要な非公開コンテンツに設定されています 、その記事には、そのコンタクトがアクセスできなくなります。
特定のナレッジベース記事に対してSSOをセットアップするには、次の手順に従います。
- HubSpotアカウントにて、[サービス]>[ナレッジベース]の順に進みます。
- 記事タブをクリックします。
- SSOを必須とする記事の横にあるチェックボックスを選択してオンにします。
- テーブルの上部にある[オーディエンスアクセスを制御]をクリックします。
- 右側のパネルで、これらの記事に対してSSOを設定し、[ 保存 ]をクリックします。
- IDプロバイダー組織の中でHubSpotアプリにアクセスできるすべてのユーザーに対して、HubSpotアプリにアクセスするためのアクセス権を付与する場合は、[非公開 - シングルサインオン(SSO)必須]を選択します。
- IDプロバイダー組織の中でHubSpotアプリにアクセスできて、かつ特定のリストメンバーシップを持つすべての個人ユーザーに対してアクセス権を付与する場合は、[非公開 - シングルサインオン(SSO)必須、リスト絞り込みあり]を選択します。次に、このコンテンツへのアクセス権を付与する特定のリストを選択します。
特定記事へのオーディエンスアクセスの管理は、記事エディターの[設定]タブでも可能です。
非公開コンテンツのSSOを無効にする
非公開コンテンツのSSOを無効にした場合のコンテンツへの影響は、選択した設定に応じて異なる場合があります。
- [非公開 - シングルサインオン必須]に設定されたコンテンツは公開されます。
- [非公開 - シングルサインオン必須、リスト絞り込みあり]に設定されたコンテンツはアクセス不可になります。
SSOを無効にしてもコンテンツを非公開のままにするには、その非公開コンテンツのオーディエンスアクセスを、[非公開 - シングルサインオン必須、リスト絞り込みあり]に変更することをおすすめします。このコンテンツのオーディエンスアクセスは、代わりにCMS会員登録を必要とするように変更することができます。
非公開コンテンツのSSOを無効にするには、次の手順に従います。
- HubSpotアカウントにて、メインのナビゲーションバーに表示される設定アイコンsettingsをクリックします。
- 左のサイドバーメニューで、[ウェブサイト]>[非公開コンテンツ]の順に進みます。
- 設定の上部にある[編集するドメインを選択]ドロップダウンメニューをクリックし、ドメインを選択します。
- [シングルサインオン(SSO)]セクションで、[SSOを管理]をクリックします。
- パネル下部にある[SSOが有効]スイッチをクリックしてオフにします。