Security Assertion Markup Language (SAML) は、組織固有の ID プロバイダーとサービス プロバイダー (この場合は Portal for ArcGIS) との間で認証/認可データを安全に交換するために使用されるオープン規格です。 この方法は、SAML Web シングル サインオンと呼ばれます。
ポータルは SAML 2.0 に準拠し、SAML 2 Web シングル サイン オンをサポートする ID プロバイダーと一体化しています。 SAML を設定するメリットは、ユーザーが ArcGIS Enterprise ポータルにアクセスする際に追加のログイン アカウントを作成する必要がなくなるということです。代わりにユーザーは、アイデンティティ ストア内ですでに設定されているログイン アカウントを使用します。 この手順は、「組織固有のログインの設定」ドキュメントで説明されています。
必要に応じて、アイデンティティ ストア内のエンタープライズ グループに関するメタデータをポータルに提供することもできます。 これにより、ポータル内に、アイデンティティ ストア内の既存のエンタープライズ グループを使用するグループを作成することができます。
メンバーがポータルにサイン インすると、コンテンツ、アイテム、およびデータへのアクセスは、エンタープライズ グループで定義されているメンバーシップ ルールで管理されます。 必要なエンタープライズ グループ メタデータを指定しなくても、グループは作成できます。 しかし、メンバーシップ ルールはアイデンティティ ストアではなく、ArcGIS Enterprise ポータルで管理されます。
注意:
10.6.1 では、SAML ベースの ID プロバイダーとポータルとのフェデレーションを構成することもできます。
ArcGIS Enterprise ポータル内の ArcGIS Online ユーザー名の一致
ArcGIS Online 組織とポータルで同じ SAML 対応の ID プロバイダーを使用している場合は、同じ組織固有のユーザー名を設定することができます。 ArcGIS Online のすべての組織固有のユーザー名の末尾には、組織のショート ネームが付加されます。 同じ組織固有のユーザー名をポータルで使用するには、defaultIDPUsernameSuffix プロパティを ArcGIS Enterprise ポータルのセキュリティ構成内に定義し、組織のショート ネームと同じになるように設定します。 この操作は、ArcGIS Online とポータルの両方で組織固有のユーザーが編集したフィーチャ サービスに対して編集情報の記録が有効になっている場合に必要となります。
SAML サイン イン
Portal for ArcGIS は、サービス プロバイダー (SP) で開始される組織固有のログインと ID プロバイダー (IDP) で開始される組織固有のログインのどちらもサポートしています。 これらのサイン イン操作は、それぞれ異なります。
サービス プロバイダーが開始するログイン
サービス プロバイダーが開始するログインでは、ユーザーがポータルに直接アクセスすると、(ポータルで管理されている) 組み込みアカウントまたは SAML 準拠の ID プロバイダーで管理されているアカウントを使用してサイン インするオプションが表示されます。 ユーザーは、SAML ID プロバイダー オプションを選択すると、Web ページ (ログイン マネージャーと呼ばれる) にリダイレクトされ、SAML のユーザー名とパスワードを入力するよう求められます。 ユーザーのログイン認証情報の確認時に、SAML 準拠 ID プロバイダーはサイン インしようとしているユーザーの確認済み ID を Portal for ArcGIS に通知し、ユーザーがポータルの Web サイトにもう一度リダイレクトされます。
ユーザーが組み込みアカウント オプションを選択した場合は、ArcGIS Enterprise ポータルの Web サイトのサイン イン ページが表示されます。 その後、ユーザーは、組み込みのユーザー名とパスワードを入力して Web サイトにアクセスします。 SAML 準拠 ID プロバイダーを利用できない場合、ArcGIS アカウントによるサイン インのオプションが無効化されていなければ、組み込みアカウント オプションをフェイルセーフとして使用できます。
ID プロバイダーが開始するログイン
ID プロバイダーが開始するログインでは、ユーザーはログイン マネージャーに直接アクセスし、自分のアカウントを使用してサイン インします。 ユーザーが自分のアカウント情報を送信すると、ID プロバイダーは SAML レスポンスを直接 Portal for ArcGIS に送信します。 その後、ユーザーはサイン インし、ポータルの Web サイトにリダイレクトされ、再び組織にサイン インしなくても直ちにリソースにアクセスできます。
組み込みアカウントを使用してサイン インするオプションは、ログイン マネージャーからは使用できません。 組み込みアカウントを使用して組織サイトにサイン インするには、メンバーは、ポータルの Web サイトに直接アクセスする必要があります。
注意:
ID プロバイダーの問題で SAML ログインが機能せず、組み込みアカウント オプションが無効化されている場合、このオプションを再び有効にするまで ArcGIS Enterprise ポータルにはアクセスできません。 手順については、「[よくある問題と解決策] の次の質問」をご参照ください。
SAML ID プロバイダー
Portal for ArcGIS は、すべての SAML 準拠 ID プロバイダーをサポートしています。 いくつかの一般的な SAML 準拠 ID プロバイダーの構成に関する詳細な手順については、「ArcGIS/idp GitHub リポジトリ」をご参照ください。
ArcGIS Enterprise を使用して ID プロバイダーを構成する手順を次に示します。 開始する前に、SAML ID プロバイダーの管理者に問い合わせて、構成に必要なパラメーターを取得することをお勧めします。 たとえば、組織で Microsoft Active Directory を使用している場合、組織固有の ID プロバイダー側で SAML を構成または有効化し、ポータル側での構成に必要なパラメーターを取得するための連絡先は、Microsoft Active Directory の管理者になります。
必要な情報
Portal for ArcGIS は、ユーザーが SAML ログインを使用してサイン インするときに、特定の属性情報を IDP から受信する必要があります。 NameID は、Portal for ArcGIS とのフェデレーションが機能するように、IDP が SAML レスポンスで送信しなければならない必須の属性です。 Portal for ArcGIS は NameID の値を使用して指定ユーザーを一意に識別するため、ユーザーを一意に識別する定数値を使用することをお勧めします。 IDP からユーザーがサイン インすると、Portal for ArcGIS によってユーザー名が NameID の新しいユーザーがユーザー ストアに作成されます。 NameID によって送信される値に使用できる文字は、英数字、_ (アンダースコア)、. (ドット) および @ (アット マーク) です。 その他の文字はエスケープされ、Portal for ArcGIS によってアンダースコアが付加されたユーザー名が作成されます。
Portal for ArcGIS は、ユーザーの電子メール アドレス、グループ メンバー、名と姓を、SAML ID プロバイダーから取得して入力することをサポートしています。
SAML ID プロバイダーでのポータルの構成
ユーザーが既存のオンプレミスのシステムと同じユーザー名とパスワードを使用してサイン インできるようにポータルを構成できます。 組織固有のログインを設定する前に、組織のデフォルトのユーザー タイプを構成する必要があります。
- 組織サイトの管理者としてポータル Web サイトにサイン インし、[組織] > [設定] > [セキュリティ] の順にクリックします。
- [ログイン] セクションの [新しい SAML ログイン] ボタンをクリックし、[1 つの ID プロバイダー] オプションを選択します。 [プロパティの指定] ページで、組織名 (たとえば「City of Redlands」) を入力します。
ユーザーがポータル Web サイトにアクセスすると、このテキストが SAML サイン イン オプションの一部に表示されます (たとえば、「City of Redlands アカウントを使用」)。
- [自動] または [管理者から招待されたとき] のいずれかを選択して、ユーザーが組織に自動的に加入できるか、招待されたときに加入できるかを指定します。1 番目のオプションを使用すると、ユーザーは、管理者から招待されなくても、組織固有のログインを使用して組織サイトにサイン インできます。 ユーザーのアカウントは、最初にサイン インしたときに自動的に組織サイトに登録されます。 2 番目のオプションを選択すると、管理者は、コマンド ライン ユーティリティまたはサンプル Python スクリプトを使用して必要なアカウントを組織サイトに登録する必要があります。 ユーザーは、アカウントが登録された時点で、組織サイトにサイン インできるようになります。
ヒント:
少なくとも 1 つの SAML アカウントをポータルの管理者として指定し、最初の管理者アカウントを降格するか削除することをお勧めします。 また、ポータル Web サイトの [アカウントの作成] ボタンを無効化することで、ユーザーが自分のアカウントを作成できないようにしておくこともお勧めします。 手順については、下記の「組織固有のアカウントを管理者として指定」セクションをご参照ください。
- ポータルがアクセスしてメタデータ情報を取得するためのソースを指定します。 これにより、SAML 準拠 ID プロバイダーに関する必要なメタデータ情報が得られます。 認定プロバイダーからメタデータを取得する手順については、「ArcGIS/idp GitHub リポジトリ」をご参照ください。 メタデータ情報のソースとして、次の 3 つを指定できます。
- [URL] - ID プロバイダーに関するメタデータ情報を返す URL を入力します。
注意:
ID プロバイダーに自己署名証明書が含まれている場合、メタデータの HTTPS URL を指定するとエラーが発生することがあります。 このエラーは、Portal for ArcGIS が ID プロバイダーの自己署名証明書を確認できないために発生します。 代わりに、URL 内で HTTP を使用するか、下記の他のオプションのいずれかを使用するか、信頼できる証明書を使用して ID プロバイダーを構成してください。
- [ファイル] - ID プロバイダーに関するメタデータ情報を含むファイルをアップロードします。
- [設定パラメーター] - 以下を指定することによって、ID プロバイダーに関するメタデータ情報を直接入力します。
- [ログイン URL (リダイレクト)] - Portal for ArcGIS がメンバーのサイン インに使用する ID プロバイダーの URL (HTTP リダイレクト バインドをサポートする) を指定します。
- [ログイン URL (POST)] - Portal for ArcGIS がメンバーのサイン インに使用する ID プロバイダーの URL (HTTP POST バインドをサポートする) を指定します。
- [証明書] - BASE 64 形式でエンコードされた、ID プロバイダーに対する証明書を指定します。 この証明書により、Portal for ArcGIS は、ID プロバイダーから送信された SAML レスポンスのデジタル署名を検証することができます。
注意:
指定する必要のあるメタデータ情報のソースがわからない場合は、ID プロバイダーの管理者に問い合わせてください。
- [URL] - ID プロバイダーに関するメタデータ情報を返す URL を入力します。
- ポータルのサービス プロバイダーのメタデータを ID プロバイダーに登録して、構成手順を実行し、ID プロバイダーとの信頼を構築します。 ポータルからメタデータを取得するには、次のいずれかを実行します。
- 組織の [設定] タブの [セキュリティ] セクションで、[サービス プロバイダーのメタデータのダウンロード] ボタンをクリックして、組織のメタデータ ファイルをダウンロードします。
- メタデータの URL を開き、*.xml ファイルとしてコンピューターに保存します。 この URL は、https://webadaptorhost.domain.com/webadaptorname/sharing/rest/portals/self/sp/metadata?token=<token> (例: https://samltest.domain.com/arcgis/sharing/rest/portals/self/sp/metadata?token=G6943LMReKj_kqdAVrAiPbpRloAfE1fqp0eVAJ-IChQcV-kv3gW-gBAzWztBEdFY) です。 https://webadaptorhost.domain.com/webadaptorname/sharing/rest/generateToken を使用して、トークンを生成できます。 [Generate Token] ページに URL を入力する場合は、[Webapp URL] テキスト ボックスに ID プロバイダー サーバーの完全修飾ドメイン名を指定します。 [IP Address] や [IP Address of this request's origin] などのその他のオプションはサポートされておらず、無効なトークンが生成される場合があります。
認定プロバイダーにポータルのサービス プロバイダーのメタデータを登録する手順については、「ArcGIS/idp GitHub リポジトリ」をご参照ください。
- 必要に応じて高度な設定を構成します。
- [暗号化アサーション] - SAML ID プロバイダーに Portal for ArcGIS が暗号化された SAML アサーションの応答をサポートしていることを示します。 このオプションが選択されていると、ID プロバイダーは SAML 応答のアサーション セクションを暗号化します。 HTTPS を利用して Portal for ArcGIS との間のすべての SAML トラフィックがすでに暗号化されていますが、このオプションにより別の暗号化レイヤーが追加されます。
- [署名付きリクエストの有効化] - ID プロバイダーに送信される SAML の認証リクエストに Portal for ArcGIS が署名します。 Portal for ArcGIS から送信された初回ログイン リクエストに署名すると、ID プロバイダーはすべてのログイン リクエストが信頼されたサービス プロバイダーから発信されていることを検証できます。
ヒント:
この設定を有効にすると、SAML リクエストの整合性が確保されます。 このオプションは、ポータルの初期構成中に省略した場合でも、高度な設定でいつでも有効にすることができます。
- [ID プロバイダーへのログアウトの反映] - ユーザーが ID プロバイダーからサイン アウトするログアウト URL を Portal for ArcGIS で使用します。 使用する URL を [ログアウト URL] 設定に入力します。 ID プロバイダーがログアウト URL を署名する必要がある場合、[署名付きリクエストの有効化] 設定も有効にする必要があります。 この設定がオンになっていない場合、Portal for ArcGIS で [サイン アウト] をクリックするとユーザーは Portal for ArcGIS からサイン アウトされますが、ID プロバイダーからはサイン アウトされません。 ユーザーの Web ブラウザーのキャッシュがクリアされていない場合は、組織固有のログイン オプションを使って Portal for ArcGIS にすぐにサイン インし直すと、SAML ID プロバイダーにユーザー認証情報を提供せずにログインされます。 これはセキュリティの脆弱性で、権限のないユーザーまたは一般ユーザーがアクセスできるコンピューターを使用したときに悪用される可能性があります。
- [サイン イン時にプロフィールを更新] - ユーザーの givenName および email address 属性が前回のログイン以降に変更された場合に Portal for ArcGIS によって更新します。 これはデフォルトで有効になっています。
- [SAML ベースのグループのメンバーシップを有効化] - ポータル管理者が SAML ID プロバイダー内のグループを ArcGIS Enterprise ポータルで作成されたグループにリンクできるようにします。 この設定が有効な場合、Portal for ArcGIS は、SAML アサーションの応答を解析して、メンバーが属しているグループを識別します。 その後、[グループに参加できる人] に対して、ポータルに新しいグループを作成するときに、ID プロバイダーが提供するエンタープライズ グループを 1 つまたは複数指定できます。 この機能はデフォルトで無効化されています。
- ログアウト URL - 現在サイン インしているユーザーがサイン アウトするのに使用する ID プロバイダーの URL を入力します。 このプロパティが ID プロバイダーのメタデータ ファイルで指定されている場合、自動的に設定されます。
- [エンティティ ID] - 新しいエンティティ ID を使用して Portal for ArcGIS 組織を SAML ID プロバイダーに対して一意に識別する場合は、この値を更新します。
可用性の高いポータルの SAML 準拠 IDP の構成
Portal for ArcGIS は、(ログイン/ログアウトの) 署名付きリクエストを IDP に送信するとき、および IDP からの暗号化された応答を暗号解除するときに、エイリアス samlcert を含む証明書を使用します。 可用性の高い ArcGIS Enterprise ポータルを構成し、SAML 準拠の IDP を使用している場合、IDP と通信する際に、Portal for ArcGIS の各インスタンスが同じ証明書を必ず使用するようにする必要があります。
すべてのインスタンスが SAML に同一の証明書を使用するようにする最適な方法は、エイリアス samlcert で新しい証明書を生成し、可用性の高い配置で Portal for ArcGIS の各インスタンスにその証明書をインポートすることです。
- https://example.domain.com:7443/arcgis/portaladmin で Portal Administrator Directory にサイン インします。
- [Security] > [sslcertificates] の順に参照して、既存の samlcert 証明書をクリックします。
- [delete] をクリックします。
- ステップ 1 ~ 3 を繰り返し、可用性の高いポータルのすべてのインスタンス内にある既存の samlcert 証明書を削除します。
- ArcGIS Portal Administrator Directory から新しい自己署名証明書を作成します。
- 証明書を構成するとき、samlcert をエイリアスとして指定し、[Common Name] の名前と [Subject Alternative Name] フィールドの DNS エイリアスの両方に配置のロード バランサーのホスト名を指定します。
- 証明書が生成されたら、その証明書を .pfx ファイルにエクスポートします。
- Portal for ArcGIS がインストールされているコンピューターにサイン インします。
- [管理者として実行] オプションを使用して、コンピューターでコマンド プロンプトを開きます。
- ディレクトリをポータルの SSL フォルダー cd <Portal installation directory>\etc\ssl に変更します。
- 次のコマンドを入力して、samlcert を *.pfx ファイル形式でエクスポートします。
....\framework\runtime\jre\bin\keytool.exe -importkeystore -srckeystore portal.ks -destkeystore samlcert.pfx -srcstoretype JKS -deststoretype PKCS12 -srcstorepass portal.secret -deststorepass password -srcalias samlcert -destalias samlcert -destkeypass password
- [Security] > [sslcertificates] > [Import Existing Server Certificate] ページから Portal for ArcGIS の各インスタンスに新しい証明書をインポートします。
- 可用性の高いポータルの各インスタンスで Portal for ArcGIS を再起動します。
ArcGIS Enterprise ポータルにあるサービス プロバイダーのメタデータ ファイルを使用して、SAML IDP との通信に使用されている証明書が、可用性の高い配置全体で同じであるかどうかを確認できます。
- [組織] タブで [サイト設定] > [セキュリティ] の順に参照します。
- [セキュリティ] ページの [SAML を使用したエンタープライズ ログイン] アイテムで [ID プロバイダーの編集] をクリックします。 [高度な設定を表示] メニューを開き、[暗号化アサーション] オプションが選択されていることを確認します。 選択されていない場合は選択して、[ID プロバイダーの更新] をクリックして、変更内容を保存します。
- [SAML を使用したエンタープライズ ログイン] アイテムに戻り、[サービス プロバイダーの取得] を選択します。 これにより、サービス プロバイダーのメタデータが *.xml ファイルとしてコンピューターにエクスポートされます。
- ダウンロードされた *.xml ファイルを開きます。 「<md:KeyDescriptor use="encryption">」というフレーズが存在することを確認します。 これは、暗号化の証明書が存在することを示しています。
- <ds:KeyInfo> サブセクションの値を書き留めておきます。
- 配置内の Portal for ArcGIS のインスタンスごとに、この手順を繰り返して、各インスタンスからサービス プロバイダーのメタデータを取得します。
エクスポートされたすべてのメタデータ ファイルで <ds:KeyInfo> サブセクションの情報が同じである必要があります。これは、SAML 準拠の IDP と通信する際に Portal for ArcGIS の各インスタンスにより同じ証明書が使用されていることを示しています。
組織固有のアカウントを管理者として指定
組織固有のアカウントをポータルの管理者として指定する方法は、ユーザーが組織に自動的に加入できるか、管理者から招待されたときに加入できるかによって決まります。
自動的に組織に加入する
ユーザーが自動的に組織に加入することを許可する [自動] オプションを選択した場合は、ポータル管理者として使用する組織固有のアカウントでサイン インして、ポータル Web サイトのホーム ページを開きます。
アカウントが最初に自動的にポータルに追加されるときに、新しいメンバー用に構成されたデフォルト ロールが割り当てられます。 アカウントのロールを変更できるのは、組織サイトの管理者のみです。初期管理者アカウントを使用してポータルにサイン インし、管理者ロールに組織固有のアカウントを割り当てる必要があります。
- ポータルの Web サイトを開き、SAML ID プロバイダーを使用してサイン インするオプションをクリックし、管理者として使用する SAML アカウントの認証情報を入力します。 このアカウントが別のユーザーのアカウントである場合、そのユーザーにポータルにサイン インさせて、アカウントがポータルに登録されるようにします。
- アカウントがポータルに追加されたことを確認して、[サイン アウト] をクリックします。 ブラウザーのキャッシュと cookie を消去します。
- ブラウザーでポータルの Web サイトを開き、組み込みポータル アカウントを使用してサイン インするオプションをクリックし、Portal for ArcGIS を設定したときに作成した初期管理者アカウントの認証情報を入力します。
- ポータルの管理に使用する SAML アカウントを検索し、そのロールを [管理者] に変更します。 [サイン アウト] をクリックします。
これで、選択した SAML アカウントがポータルの管理者になりました。
組織固有のアカウントをポータルに手動で追加する
招待でのみユーザーが組織に加入することを許可する [管理者から招待されたとき] オプションを選択した場合は、コマンド ライン ユーティリティまたはサンプル Python スクリプトを使用して、必要なアカウントを組織に登録する必要があります。 ポータルの管理に使用する SAML アカウントに [管理者] ロールを選択します。
初期管理者アカウントの権限の降格または削除
代わりのポータル管理者アカウントができたため、初期管理者アカウントに別のロールを割り当てたり、このアカウントを削除したりできます。 詳細については、「初期管理者アカウントについて」をご参照ください。
ユーザーが自分のアカウントを作成できないようにする
ユーザーが独自の組み込みアカウントを作成できないようにするには、組織の設定でユーザーが新しい組み込みカウントを作成する機能を無効にします。
ユーザーが ArcGIS アカウントを使用してサイン インできないようにする
ユーザーが ArcGIS アカウントを使用してポータルにサイン インできないようにするには、サイン イン ページの [ArcGIS ログイン] 切り替えボタンをオフにします。
- 組織サイトの管理者としてポータル Web サイトにサイン インし、[組織] > [設定] > [セキュリティ] の順にクリックします。
- [ログイン] セクションで、[ArcGIS ログイン] 切り替えボタンをオフにします。
サイン イン ページには、ID プロバイダー アカウントを使用してポータルにログインするためのボタンが表示され、[ArcGIS ログイン] ボタンは使用不可になります。 ArcGIS アカウントを使用したメンバー ログインを再度有効化するには、[ログイン] セクションで [ArcGIS ログイン] 切り替えボタンをオンにします。
SAML IDP の変更または削除
SAML IDP を設定した場合、現在登録されている SAML IDP の横にある [編集] ボタン をクリックして、その設定を更新できます。 [SAML ログインの編集] ウィンドウで設定を更新します。
現在登録されている IDP を削除するには、IDP の横にある [編集] ボタン をクリックし、[SAML ログインの編集] ウィンドウで [ログインの削除] をクリックします。 IDP を削除した後は、必要に応じて新しい IDP または IDP のフェデレーションを設定できます。
SAML セキュリティのベスト プラクティス
SAML ログインを有効にするには、ArcGIS Enterprise を SAML IDP の SP として構成します。 セキュリティを堅牢にするためには、以下に説明するベスト プラクティスを検討してください。
SAML ログイン/ログアウト リクエストおよび SAML アサーションの応答へのデジタル署名
シグネチャは SAML メッセージの整合性を確保するために使用され、中間者 (MITM) 攻撃に対する保護措置として機能します。 SAML リクエストにデジタル署名することによって、そのリクエストが信頼できる SP から送信されることが保証され、IDP はサービス拒否 (DOS) 攻撃をより適切に扱うことができます。 SAML ログインを構成するときに、高度な設定の [署名付きリクエストの有効化] オプションをオンにします。
注意:
署名付きリクエストを有効化するには、SP が使用する署名証明書が更新されるか置き換えられるたびに、IDP を更新する必要があります。
SAML アサーションの応答が送信中に変更されないようにするために、SAML 応答に署名するように SAML IDP を構成します。
注意:
署名付きリクエストを有効化するには、IDP が使用する署名証明書が更新されるか置き換えられるたびに、SP (ArcGIS Enterprise) を更新する必要があります。
IDP の HTTPS エンドポイントの使用
SP、IDP、ユーザーのブラウザー間で、内部ネットワークまたはインターネット上で送信される暗号化されていない形式の通信は、悪意のあるアクターによって傍受される可能性があります。 SAML IDP が HTTPS をサポートしている場合は、HTTPS エンドポイントを使用して、SAML ログイン時に送信されるデータの機密性を確保することをお勧めします。
SAML アサーションの応答の暗号化
SAML 通信に HTTPS を使用すると、IDP と SP の間で送信される SAML メッセージがセキュリティ保護されます。ただし、サイン インしたユーザーはこれまでどおり Web ブラウザーで SAML メッセージをデコードし表示できます。 アサーションの応答の暗号化を有効にすると、IDP と SP の間でやり取りされる重要な情報や機密情報をユーザーが表示できないようにすることができます。
注意:
暗号化アサーションを有効化するには、SP (ArcGIS Enterprise) が使用する暗号化証明書が更新されるか置き換えられるたびに、IDP を更新する必要があります。
署名証明書と暗号化証明書の安全な管理
SAML メッセージにデジタル署名するか暗号化するための強力な暗号化鍵で証明書を使用し、3 ~ 5 年ごとに証明書を更新または置き換えてください。