IDaaS EIAM インスタンスのシステム生成ドメインを、ログインページやユーザーポータルなどのページで独自のドメインに置き換えることができます。これにより、ブランドの一貫性を維持し、プロキシ経由でアクセスを制御できます (たとえば、特定の IP アドレスへのログインを制限するなど)。
概要
カスタムドメイン機能を使用すると、IDaaS EIAM のページ (ログインページやユーザーポータルなど) の URL を所有するドメインに置き換えることができ、ブランドの一貫性を維持できます。
プロキシサービスを設定することで、IDaaS EIAM にアクセスできるユーザーを制御することもできます。たとえば、アプリケーションポータルへのアクセスを特定の IP アドレスからに制限できます。
基本概念
|
用語 |
説明 |
|
初期ドメイン |
IDaaS EIAM インスタンスを作成する際に割り当てられるシステム生成ドメインで、形式は |
|
カスタムドメイン |
お客様が所有し、IDaaS EIAM インスタンスに追加するドメインです。たとえば |
|
デフォルトドメイン |
IDaaS EIAM インスタンスがデフォルトで使用するドメインです。初期ドメインまたはカスタムドメインのいずれかを選択する必要があります。自動リダイレクトが有効な場合、初期ドメインにアクセスすると、ユーザーはデフォルトドメインにリダイレクトされます。 |
潜在的リスク
カスタムドメインの設定は、以下の機能に影響します。カスタムドメインを有効化する前後で、これらの影響を確認し、設定を調整してください。
|
影響を受けるオブジェクト |
機能 |
説明 |
|
ユーザーポータル |
ログインページ |
ログインページの URL にはドメインが含まれます。 |
|
アプリケーションポータル |
アプリケーションポータルの URL にはドメインが含まれます。 |
|
|
DingTalk ID プロバイダー - アウトバウンド |
QR コードログイン / Workbench SSO |
DingTalk のコールバックドメインは、常に初期ドメインを使用する必要があります。 |
|
IDaaS アプリケーションポータルまたはアプリケーションへの SSO |
アプリケーションのホームページ URL にはドメインが含まれます。 |
|
|
WeCom ID プロバイダー - インバウンド |
QR コードログイン |
ユーザーがアクセスするドメイン (ユーザーポータルや、カスタム、OIDC、SAML アプリケーションへの直接アクセスなど) は、WeCom の認可コールバックドメインと一致する必要があります。そうしないと、ユーザーは WeCom QR コードを使用してログインできません。 |
|
Web ページ認可ログイン (Workbench SSO) および機密データ同期 |
ユーザーがアクセスするドメイン (ユーザーポータルや、カスタム、OIDC、SAML アプリケーションへの直接アクセスなど) は、WeCom の信頼できるドメインと一致する必要があります。そうしないと、ユーザーは WeCom Web ページ認可ログインまたは機密データ同期を使用できません。 |
|
|
OIDC アプリケーション、カスタムアプリケーション |
認可エンドポイント |
インスタンスが 1 つのカスタムドメインのみを使用する場合、カスタムドメインをデフォルトドメインとして設定し、自動リダイレクトを有効にすることを推奨します。そうしないと、SSO 中にユーザーが再度ログインする必要がある場合があります。 インスタンスに複数のカスタムドメインが必要な場合、認可エンドポイントはユーザーのログインページのドメインと一致する必要があります。そうしないと、SSO 中にユーザーが再度ログインする必要がある場合があります。 |
|
ログアウトエンドポイント |
||
|
SAML アプリケーション |
IdP メタデータ URL |
インスタンスが 1 つのカスタムドメインのみを使用する場合、カスタムドメインをデフォルトドメインとして設定し、自動リダイレクトを有効にすることを推奨します。そうしないと、SSO 中にユーザーが再度ログインする必要がある場合があります。 インスタンスに複数のカスタムドメインが必要な場合、IdP メタデータ URL はユーザーのログインページのドメインと一致する必要があります。そうしないと、SSO 中にユーザーが再度ログインする必要がある場合があります。 |
|
SSO URL |
||
|
WebAuthn |
認証器の登録 |
WebAuthn 認証器は、登録されたドメインでのみ機能します。たとえば、ユーザーがドメイン A で認証器 A1 を登録した場合、ドメイン B からログインする際に A1 を使用することはできません。ドメイン B で新しい認証器を登録する必要があります。ユーザーは、異なるドメインに対して複数の認証器を持つことができます。 |
前提条件
|
項目 |
説明 |
|
ドメイン |
IDaaS EIAM 専用のドメイン。第 1 レベルまたは第 2 レベルのドメインを使用することを推奨します。 |
|
DNS レコードを管理する権限 |
DNS プロバイダーのコンソール (たとえば、Alibaba Cloud DNS) で 1 つまたは 2 つの DNS レコードを追加してドメインの所有権を検証し、その後ドメインを Nginx プロキシサーバーに解決する必要があります。 |
|
ICP 登録番号 |
Web サイトが中国本土でホストされている場合は、ドメインの ICP 登録番号を提供する必要があります。 |
|
Alibaba Cloud Edge Security Acceleration (ESA) の有効化 |
ESA サービスを有効化する必要があります。 |
|
プロキシサービスを管理する権限 |
プロキシサービス (たとえば、Alibaba Cloud Dynamic Content Delivery Network (DCDN) や ESA) で、ドメインの HTTPS 証明書、オリジンホスト、その他の設定を構成する必要があります。 |
|
トライアルまたはアップグレードされたインスタンス |
トライアルインスタンスと Enterprise Edition インスタンスのみがカスタムドメインをサポートします。インスタンスを試すか、既存のインスタンスをアップグレードしてください。 |
カスタムドメイン機能自体に追加料金は発生しません。ただし、プロキシサービス (ESA または DCDN) は使用量に基づいて課金されます。料金の詳細については、対応する課金ドキュメントをご参照ください。
カスタムドメインの追加
左側メニューで、カスタマイズ > [Custom Domains] をクリックし、次に カスタムドメインの追加 をクリックします。
カスタムドメインは、ログイン、SSO、データ同期に影響を与える可能性があります。業務の中断を避けるため、続行する前に潜在的リスクを確認してください。
ステップ 1:ドメインの入力
カスタムドメイン (例: login.example.com) を入力します。このドメインは、すべての IDaaS EIAM インスタンスでグローバルに一意である必要があります。ドメインのみを入力し、パスやパラメーターは含めないでください。ドメインには、小文字、数字、ハイフン (-)、ピリオド (.) を含めることができ、最大長は 128 文字です。
カスタムドメインのプロトコルは HTTPS を使用する必要があります。追加が成功すると、ユーザーはこのドメインを通じて IDaaS アプリケーションポータルにアクセスできます。
IDaaS EIAM チームがインスタンスを保護しますが、理論上、IDaaS EIAM インスタンスに対するクロスサイトスクリプティング (XSS) 攻撃が成功すると、同じ親ドメイン下の他のサブドメインに対してクロスサイトリクエストフォージェリ (CSRF) 攻撃が可能になる可能性があります。カスタムドメインからのクロスオリジンリソース共有 (CORS) リクエストをブロックするか、別の親ドメインをカスタムドメインとして使用することを推奨します。
ステップ 2:DNS レコードの追加
DNS プロバイダー (例: Alibaba Cloud DNS) に移動して、DNS レコードを追加します。これにより、ドメインの所有権が検証されます。特定の IDaaS EIAM インスタンスとカスタムドメインに対して、レコードタイプ、名前、値は静的です。DNS 管理権限がない場合は、他の人にレコードの追加を依頼することができます。
以下のドキュメントは、特定のプロバイダーで DNS レコードを追加する手順を示しています。
ステップ 3:ICP 登録番号の入力
インターネット情報サービス管理弁法によると、Web サイトが中国本土でホストされている場合、エンティティまたは Web サイトの ICP 登録番号を提供する必要があります。現地の規制を遵守するため、カスタムドメイン機能を使用する中国本土内の Alibaba Cloud リージョンにあるすべての IDaaS EIAM インスタンスに対して、ICP 登録番号の提供は必須です。登録番号は、インスタンスのログインページに表示されます。
ステップ 4:プロセスの完了
情報が正しいことを確認した後、完了 をクリックしてカスタムドメインを追加します。カスタムドメインが使用可能になる前に、プロキシ設定も完了させる必要があります。
プロキシサービスの設定
ユーザーまたはアプリケーションがカスタムドメインを介して IDaaS EIAM にアクセスすると、プロキシサービスがリクエストを転送します。プロキシの高可用性を確保する責任はユーザーにあります。ニーズに応じて、以下のプロキシオプションのいずれかを選択してください。
3 つのプロキシオプションの比較:
-
ESA:エッジセキュリティアクセラレーション。CDN アクセラレーションと WAF 保護が必要なシナリオに最適です。
-
DCDN:動的 CDN アクセラレーション。設定が簡単です。迅速なセットアップシナリオに最適です。
-
Nginx:自己管理型プロキシ。柔軟で完全に制御できます。すでに Nginx インフラストラクチャを使用しているシナリオに最適です。
迅速かつ簡単なセットアップには、DCDN を推奨します。CDN アクセラレーションと WAF 保護には、ESA を使用してください。完全な制御が必要な既存の Nginx インフラストラクチャには、Nginx を使用してください。
Alibaba Cloud ESA
ステップ 1:ESA サイトの追加
ESA コンソールに移動します。左側メニューで、 をクリックします。コンソールウィザードに従って、 の設定を完了し、次に お支払いへ進む をクリックします。
ステップ 2:DNS レコードの追加 (プロキシアクセラレーション)
-
ナビゲーションバーで、 をクリックし、ターゲットサイトをクリックします。
-
を選択し、レコードの追加 をクリックします。
詳細については、「DNS レコードを手動で追加する」をご参照ください。
ステップ 3:HTTPS 証明書の設定
-
ナビゲーションバーで、 をクリックし、ターゲットサイトをクリックします。
-
を選択し、カスタム証明書のアップロード をクリックします。
詳細については、「エッジ証明書を設定する」をご参照ください。
ステップ 4:オリジンホストの設定
-
ナビゲーションバーで、 をクリックし、ターゲットサイトをクリックします。
-
を選択し、ルールを追加 をクリックします。
詳細については、「オリジンホストをカスタマイズする」をご参照ください。
ステップ 5:オリジンリクエストヘッダーの設定
-
ナビゲーションバーで、 をクリックし、ターゲットサイトをクリックします。
-
を選択します。 リクエストヘッダーの変更 タブで、リクエストタイプ を選択し、リクエストヘッダーの変更 をクリックし、適用可能なリソースの タイプ と 操作 を選択して、リクエストヘッダー名 と リクエストヘッダー値を入力 を入力します。
-
X-IDaaS-Host:値はカスタムドメイン名です。
-
2 番目のレコード: タイプ: 静的、アクション: 追加、ヘッダー名: X-IDaaS-Proxy-Token、ヘッダー値: カスタムドメイン名。
-
X-IDaaS-Proxy-Token:値は IDaaS EIAM コンソールから取得した
proxy_tokenです。
必要な値を見つけるには、IDaaS EIAM コンソールに移動し、左側メニューで をクリックし、カスタムドメインを見つけて 操作 をクリックして プロキシ設定 タブを開きます。
プロキシ設定 ダイアログには、アクセラレーションドメインとオリジン情報 (タイプ:オリジンドメイン、ポート 443、重み 10)、HTTPS 設定、オリジンホスト (ドメインタイプ:オリジンドメイン)、およびオリジン HTTP ヘッダー (上記の 3 つのリクエストヘッダーとその値) の 4 つのセクションが表示されます。下部には
proxy_token(PTHT で始まる) とそのステータスが表示されます。[Test Connection] をクリックしてプロキシ設定を検証します。 -
詳細については、「送信リクエストヘッダーを変更する」をご参照ください。
Alibaba Cloud DCDN
ステップ 1:ドメインの追加
DCDN コンソールの [Domain Names] ページでドメインを追加します。
[Business Type] を [Dynamic Route for CDN (DCDN)] に、[Acceleration Region] を [Chinese Mainland Only] に設定します。
-
[Accelerated Domain Name]:カスタムドメイン。
-
[Origin Info]:
-
[Origin Type] を [Origin Domain] に設定します。
-
IDaaS EIAM インスタンスの初期ドメインを入力します (
https://プレフィックスなし)。 -
ポート 443 を選択します。
-
ドメインを追加した後、DCDN から CNAME レコードをコピーし、DNS プロバイダーの設定に追加します。詳細については、「CNAME レコードを設定する」をご参照ください。
ステップ 2:HTTPS 証明書の設定
DCDN コンソールで、[Domain Names] ページに移動し、[domain details page] を開き、[HTTPS] 設定で HTTPS 証明書を構成します。詳細については、「HTTPS 証明書を設定する」をご参照ください。
左側メニューで、[HTTPS] を選択し、[HTTPS Certificate] セクションを見つけて、[Modify] をクリックします。
ステップ 3:オリジンホストの有効化
引き続きドメイン詳細ページで、オリジン設定 設定に移動し、オリジン HOST を有効にします。
ドメインタイプを [Origin Domain] に設定します。これにより、IDaaS EIAM インスタンスの初期ドメインが自動的に選択されます。
ステップ 4:オリジン HTTP ヘッダーの追加
引き続きドメイン詳細ページで、オリジン設定 設定に移動し、[Custom Back-to-Origin HTTPS Header] をクリックして、IP、ホスト、トークン情報を追加します。これらのヘッダーは、IP アドレスのなりすましを防ぎ、アクセスセキュリティを向上させるのに役立ちます。
[Custom Back-to-Origin HTTP Header] タブをクリックし、[Add] をクリックして、次のオリジン HTTP ヘッダーパラメーターを追加します: X-IDaaS-Client-IP、X-IDaaS-Host、X-IDaaS-Proxy-Token。
Nginx の設定
ステップ 1:Nginx のインストール
ソースからのインストール
# インストールパッケージのダウンロード
wget http://nginx.org/download/nginx-1.18.0.tar.gz
# アーカイブの展開
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
# Nginx のインストールディレクトリを設定および指定
./configure --prefix=/usr/local/nginx
# コンパイルとインストール
make && make install
# インストールの確認
cd /usr/local/nginx/sbin
./nginx -t
インストールが成功すると、以下の出力が返されます。
nginx: the configuration file /usr/local/nginx//conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx//conf/nginx.conf test is successful
CentOS/AlmaLinux/RHEL
# EPEL リポジトリのインストール (一部のシステムで必要)
sudo yum install epel-release -y
# Nginx のインストール
sudo yum install nginx -y
# Nginx サービスの開始
sudo systemctl start nginx
# 起動時の自動起動を有効化
sudo systemctl enable nginx
# サービスステータスの確認
sudo systemctl status nginx
Ubuntu/Debian
# パッケージリストの更新
sudo apt update
# Nginx のインストール
sudo apt install nginx -y
# Nginx サービスの開始
sudo systemctl start nginx
# 起動時の自動起動を有効化
sudo systemctl enable nginx
# サービスステータスの確認
sudo systemctl status nginx
ステップ 2:Nginx 設定の変更
-
Nginx 設定ファイルのパスを見つけます。
nginx -t -
ドメインプロキシを設定します。
-
nginx.confファイルの http ブロック内の server ブロックを編集します。 -
リバースプロキシを設定して、カスタムドメイン (例:
www.example.com) からのリクエストを IDaaS ドメイン*****.aliyunidaas.comに転送します。server { # HTTPS ポートをリッスンし、SSL を有効化 listen 443 ssl; # 転送するドメインを設定 (カスタムドメイン) server_name www.example.com; location / { # リバースプロキシのターゲット (IDaaS インスタンスドメイン) proxy_pass https://*****.aliyunidaas.com; } }
-
-
HTTP から HTTPS へのリダイレクト。
カスタムドメインの HTTP トラフィックを HTTPS にリダイレクトして、セキュリティと SEO を向上させます。
# HTTP サーバーブロック (ポート 80 をリッスン) server { listen 80; server_name www.example.com; # HTTP リクエストを HTTPS にリダイレクト location / { return 301 https://$host$request_uri; } } -
SSL 証明書の設定。
-
証明書ファイルを準備し、Nginx サーバーにアップロードします。
-
Nginx 設定ファイルを編集します。
server { # HTTPS サーバーブロック (ポート 443 をリッスン) listen 443 ssl; server_name www.example.com; # SSL 証明書のパス (実際のパスに置き換えてください) ssl_certificate /usr/local/nginx/ssl/www.example.com.crt; ssl_certificate_key /usr/local/nginx/ssl/www.example.com.key; # SSL 設定 (オプションの最適化) ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; }
-
-
IDaaS オリジンリクエストヘッダーの設定。
-
nginx.confファイルの http ブロック内の server ブロックを編集します。 -
proxy_set_headerを使用して、オリジンリクエストヘッダーを設定します。# IDaaS オリジンリクエストヘッダーの設定 location / { proxy_pass https://***.aliyunidaas.com; # クライアントの実際の IP アドレスを渡す proxy_set_header X-IDaaS-Client-IP $remote_addr; # ホストヘッダーを渡す (この値はカスタムドメインと一致する必要があります) proxy_set_header X-IDaaS-Host www.example.com; # プロキシ認証トークン (IDaaS コンソールから取得した値に置き換えてください) proxy_set_header X-IDaaS-Proxy-Token <your-proxy-token>; # 元のホストヘッダーを保持 (オプション) proxy_set_header Host $host; }
-
ステップ 3:Nginx の再起動
ソースインストール
sudo /usr/local/nginx/sbin/nginx -s reload
CentOS/AlmaLinux/RHEL
sudo service nginx restart
Ubuntu/Debian
sudo systemctl restart nginx
プロキシ設定の検証
IDaaS EIAM コンソールで、左側メニューにある をクリックします。カスタムドメインを見つけ、操作 をクリックし、次に プロキシ設定 をクリックします。設定したプロキシのタブに切り替え、接続のテスト をクリックして、IDaaS EIAM インスタンスからカスタムドメインへのアクセスをシミュレートします。ドメイン自体にアクセスポリシー (たとえば、オフィスネットワークの IP のみを許可) がある場合があるため、テスト結果は参考用です。最も信頼性の高い結果を得るには、シミュレートされたユーザー環境からテストすることを推奨します。
プロキシ設定 ダイアログの [Add Back-to-Origin HTTP Headers] セクションでは、3 つのカスタムヘッダーが必要です。
-
X-IDaaS-Client-IP、値:クライアントの IP アドレス (例:
$remote_addr) -
X-IDaaS-Host、値:対応するカスタムドメイン
-
X-IDaaS-Proxy-Token、値:ダイアログ下部の [proxy_token] エリアから取得
テストが成功した後、潜在的リスクに基づいて関連する設定を確認および調整し、カスタムドメインをユーザーに提供します。ユーザーが引き続き初期ドメインを使用する場合は、自動リダイレクトを有効にします。
ドメインのステータス
ドメインには独自のアクセスポリシー (オフィスネットワークの IP からのアクセスのみを許可するなど) がある場合があるため、IDaaS EIAM はカスタムドメインが正しく動作しているかどうかを確認できません。可用性ステータスは、インスタンスでカスタムドメイン機能が有効になっていることを示すだけであり、ドメインがアクセス可能であることを保証するものではありません。カスタムドメインが正しく動作していることを確認する必要があります。
デフォルトドメインの変更
デフォルトドメインには 2 つの目的があります。
-
自動遷移 機能が有効になっている場合、初期ドメインにアクセスするユーザーまたはアプリケーションは、自動的にデフォルトドメインにリダイレクトされます。
-
ユーザーポータルの URL やログイン URL など、コンソールの複数の場所に表示されます。
[Redirect Configuration] セクションで、[Modify Default Domain] をクリックしてデフォルトドメインを変更します。[Automatic Redirect] を有効にする前に、まず SSO 設定を調整してください。
カスタムドメインをデフォルトドメインとして選択し、自動リダイレクトを有効にした場合、カスタムドメインが利用できなくなった場合 (たとえば、インスタンスの有効期限が切れた場合など) は、手動でデフォルトドメインを変更する必要があります。そうしないと、ユーザーまたはアプリケーションがインスタンスにアクセスできなくなる可能性があります。
自動リダイレクトの有効化
自動リダイレクトは、ユーザーとアプリケーションをインスタンスの初期ドメインからデフォルトドメインにリダイレクトします。カスタムドメインへのアクセスではリダイレクトはトリガーされません。1 つのカスタムドメインのみを使用する場合は、それをデフォルトドメインとして設定し、自動リダイレクトを有効にします。これにより、ユーザーは初期ドメインまたはカスタムドメインのどちらにアクセスしてもシームレスに SSO を実行でき、SSO 設定の変更は不要です。
自動リダイレクトを有効にしない場合や、複数のカスタムドメインが必要な場合は、アプリケーションの SSO やその他の設定を調整する必要があります (潜在的リスクをご参照ください)。そうしないと、ユーザーは SSO 中に再度ログインする必要があったり、WeCom QR コードを使用してログインできなくなったりする可能性があります。
カスタムドメインの削除
カスタムドメインを削除する前に、それがまだ使用中 (たとえば、ID プロバイダーやアプリケーションの SSO 設定など) でないかを確認してください。確認ダイアログに表示される最終使用時刻は参考用です。これは proxy_token の最終使用も反映しており、プロキシ設定で直接確認できます。
IDaaS EIAM コンソールで、左側メニューにある をクリックします。カスタムドメインを見つけ、操作 をクリックし、次に 削除 をクリックします。
削除後、カスタムドメインは IDaaS EIAM インスタンスにアクセスできなくなります。誤ったドメイン転送を防ぐため、DNS プロバイダーとプロキシサービスから対応する設定を削除してください。