Okta を Portal for ArcGIS のエンタープライズ ログイン アカウントの ID プロバイダー (IDP) として構成できます。構成プロセスでは、主に次の 2 つの手順を実行します。まず、エンタープライズ IDP を Portal for ArcGIS に登録し、次に、Portal for ArcGIS をエンタープライズ IDP に登録します。
必要に応じて、アイデンティティ ストア内のエンタープライズ グループに関するメタデータをポータルに提供することもできます。これにより、ポータルに、アイデンティティ ストア内の既存のエンタープライズ グループを利用するグループを作成することができます。メンバーがポータルにログインすると、コンテンツ、アイテム、およびデータへのアクセスは、エンタープライズ グループで定義されているメンバーシップ ルールで管理されます。必要なエンタープライズ グループ メタデータを指定しなくても、グループは作成できます。しかし、メンバーシップ ルールはアイデンティティ ストアではなく、Portal for ArcGIS で管理されます。
必要な情報
Portal for ArcGIS は、ユーザーがエンタープライズ ログインを使用してログインするときに、特定の属性情報を IDP から受信する必要があります。NameID は、Portal for ArcGIS とのフェデレーションが機能するように、IDP が SAML レスポンスで送信しなければならない必須の属性です。IDP からユーザーがログインすると、NameID というユーザー名の新しいユーザーが、Portal for ArcGIS によってユーザー ストアに作成されます。NameID 属性によって送信される値に使用できる文字は、英数字、_ (アンダースコア)、 . (ドット) および @ (アット マーク) です。その他の文字はエスケープされ、Portal for ArcGIS によってアンダースコアが付加されたユーザー名が作成されます。
Portal for ArcGIS は、エンタープライズ ログインの givenName 属性と email address 属性を、エンタープライズ IDP から取得して入力することをサポートしています。ユーザーがエンタープライズ ログイン アカウントを使用してサイン インし、Portal for ArcGIS が givenname と email または mail という名前の属性を取得した場合、Portal for ArcGIS はユーザー アカウントのフル ネームと電子メール アドレスに IDP から取得した値を入力します。ユーザーが通知を受信できるようにするために、エンタープライズ IDP から取得した email address を渡すことをお勧めします。
Okta をエンタープライズ IDP として Portal for ArcGIS に登録する
- 組織サイトの管理者としてポータル Web サイトにサイン インし、[組織] > [サイト設定] > [セキュリティ] の順にクリックします。
- [SAML を使用したエンタープライズ ログイン] セクションで、[ID プロバイダーの設定] ボタンをクリックし、表示されたウィンドウに組織名 (たとえば、「City of Redlands」) を入力します。ユーザーがポータル Web サイトにアクセスすると、このテキストが SAML サイン イン オプションの一部に表示されます (たとえば、「City of Redlands アカウントを使用」)。
注意:
ポータル用に登録できるエンタープライズ IDP は 1 つだけです。
- ユーザーが [自動] または [アカウントをポータルに追加した後] のどちらで組織に加入できるかを選択します。1 番目のオプションを選択すると、ユーザーは、管理者から招待されなくても、自分のエンタープライズ ログインを使用して組織サイトにサイン インできます。ユーザーのアカウントは、最初にサイン インしたときに自動的に組織サイトに登録されます。2 番目のオプションを選択すると、管理者は、コマンド ライン ユーティリティまたはサンプル Python スクリプトを使用して必要なアカウントを組織サイトに登録する必要があります。ユーザーは、アカウントが登録された時点で、組織サイトにサイン インできるようになります。
ヒント:
少なくとも 1 つのエンタープライズ アカウントをポータルの管理者として指定し、最初の管理者アカウントを降格するか削除することをお勧めします。また、[アカウントの作成] ボタンと、ポータル Web サイトのサインアップ ページ (signup.html) を無効化することで、ユーザーが自分のアカウントを作成できないようにしておくこともお勧めします。詳細な手順については、「ポータルでの SAML 準拠のアイデンティティ プロバイダーの構成」をご参照ください。
- 以下のオプションのいずれかを使用して、IDP のメタデータ情報を入力します。
- [ファイル] - Okta からフェデレーション メタデータ ファイルのコピーをダウンロードまたは取得し、[ファイル] オプションを使用して、そのファイルを Portal for ArcGIS にアップロードします。
注意:
初めてサービス プロバイダーを Okta に登録する場合は、Portal for ArcGIS を Okta に登録した後にメタデータ ファイルを取得する必要があります。 - [パラメーター] - フェデレーション メタデータ ファイルにアクセスできない場合は、このオプションを選択します。値を手動で入力して、要求されたパラメーター (ログイン URL および証明書) を指定します。これらの情報については、Okta 管理者にお問い合わせください。
- [ファイル] - Okta からフェデレーション メタデータ ファイルのコピーをダウンロードまたは取得し、[ファイル] オプションを使用して、そのファイルを Portal for ArcGIS にアップロードします。
- 必要に応じて高度な設定を構成します。
- [暗号化アサーション] - Okta の SAML アサーションのレスポンスを暗号化する場合は、このオプションを選択します。
- [署名付きリクエストの有効化] - Okta に送信される SAML の認証リクエストに Portal for ArcGIS が署名する場合は、このオプションを選択します。
- [ID プロバイダーへのログアウトの反映] - ユーザーが Okta からサイン アウトするログアウト URL を Portal for ArcGIS で使用する場合は、このオプションを選択します。使用する URL を [ログアウト URL] 設定に入力します。IDP がログアウト URL を署名する必要がある場合、[署名付きリクエストの有効化] をオンにする必要があります。
- [ログアウト URL] - 現在サイン インしているユーザーがサイン アウトするのに使用する IDP の URL。
- [エンティティ ID] - 新しいエンティティ ID を使用してポータルを Okta に対して一意に識別する場合は、この値を更新します。
[暗号化アサーション] 設定と [署名付きリクエストの有効化] 設定では、ポータル キーストア内の samlcert 証明書が使用されます。新しい証明書を使用するには、samlcert 証明書を削除してから、「ポータルへの証明書のインポート」に記載の手順に従って、同じエイリアス (samlcert) を使用して新しい証明書を作成し、ポータルを再起動します。
- 完了したら、[ID プロバイダーの更新] をクリックします。
- [サービス プロバイダーの取得] をクリックして、ポータルのメタデータ ファイルをダウンロードします。このファイル内の情報は、信頼できるサービス プロバイダーとしてポータルを Okta に登録するために使用されます。
- 必要に応じて、アイデンティティ ストア内のエンタープライズ グループに関するメタデータをポータルに提供します。
- 組織の管理者として ArcGIS Portal Directory にサイン インします。URL の形式は https://webadaptorhost.domain.com/webadaptorname/portaladmin です。
- [Security] > [Config] > [Update Identity Store] の順にクリックします。
- [Group store configuration (in JSON format)] テキスト ボックスにグループ構成の JSON を入力します。
アイデンティティ ストアが Windows Active Directory の場合、次のテキストをコピーして、サイト固有の情報を含むよう変更します。
{ "type": "WINDOWS", "properties": { "isPasswordEncrypted": "false", "userPassword": "secret", "user": "mydomain\\winaccount" } }
ほとんどの場合、user パラメーターと userPassword パラメーターの値を変更するだけで済みます。パスワードをプレーン テキストで入力しても、ポータルの構成ディレクトリに保存または表示される際には暗号化されます。user パラメーターに使用するアカウントには、ネットワーク上で Windows グループの名前を検索するための権限のみが必要です。可能な限り、パスワードに有効期限のないアカウントを使用します。
アイデンティティ ストアが LDAP の場合、次のテキストをコピーして、サイト固有の情報を含むよう変更します。
{ "type": "LDAP", "properties": { "userPassword": "secret", "isPasswordEncrypted": "false", "user": "uid=admin,ou=system", "ldapURLForUsers": "ldaps://bar2:10636/ou=users,ou=ags,dc=example,dc=com", "ldapURLForRoles": "ldaps://bar2:10636/dc=example,dc=com", "usernameAttribute": "cn", "caseSensitive": "false", "userSearchAttribute": "cn", "memberAttributeInRoles": "member", "rolenameAttribute":"cn" } }
ほとんどの場合、[user]、[userPassword]、[ldapURLForUsers]、および [ldapURLForRoles] パラメーターの値を変更するだけで済みます。LDAP の URL は、LDAP 管理者が提供する必要があります。
上記の例では、LDAP URL は特定の OU (ou = ユーザー グループ) 内のユーザーを参照します。ユーザーが複数の OU に存在する場合、LDAP URL では、より上位の OU を指定するか、必要であればルート OU を指定します。その場合は、URL は以下のようになります。
"ldapURLForUsers": "ldaps://bar2:10636/dc=example,dc=com",
user パラメーターに使用するアカウントは、組織サイト内のグループ名を検索する権限を持つ必要があります。パスワードをプレーン テキストで入力しても、ポータルの構成ディレクトリに保存または表示される際には暗号化されます。
LDAP が大文字と小文字を区別しないように構成されている場合は、caseSensitive パラメーターを false に設定します。
- ユーザー ストア構成に JSON を入力したら、[Update Configuration] をクリックして変更を保存し、ポータルを再起動します。
Portal for ArcGIS を信頼できるサービス プロバイダーとして Okta に登録する
- 管理者権限のあるメンバーとして Okta 組織にログインします。
- [Applications] タブの [Add Application] ボタンをクリックします。
- [Create New App] をクリックして、[SAML 2.0] オプションを選択します。[Create] をクリックします。
- [General Settings] で、ポータルの配置に使用する [App Name] を入力して、[Next] をクリックします。
- [Configure SAML] タブで、次の手順を実行します。
- [Single sign on URL] の値 (https://portalhostname.domain.com/portalcontext/sharing/rest/oauth2/saml/signin など) を入力します。この値は、ポータルからダウンロードされたサービス プロバイダーのメタデータ ファイルからコピーできます。
- [Audience URI] の値を入力します。デフォルト値は portalhostname.domain.com.portalcontext に設定されています。この値は、ポータルからダウンロードされたサービス プロバイダーのメタデータ ファイルからコピーできます。
- [Name ID format] は [Unspecified] のままにしておきます。
- [Advanced Settings] で、[Assertion Signature] オプションを [Unsigned] に変更します。
- [Attribute Statements] セクションで、次の属性ステートメントを追加します。
givenName を user.firstName + " " + user.lastName に設定
email を user.email に設定
- [Next] をクリックして [Finish] をクリックします。
- 新規に作成した SAML アプリケーションの [Sign On] セクションが表示されます。Okta IDP メタデータを取得するには、[Sign On] タブをクリックし、[Identity Provider metadata] リンクをクリックします。
- [People] タブを右クリックして、ポータル内でアクセス権を持つ Okta 認証済みユーザーを構成します。