Skip To Content

Active Directory フェデレーション サービスの構成

Microsoft Windows Server オペレーティング システムで、Active Directory フェデレーション サービス (AD FS) 2.0 ロールアップ パッチ 3 および AD FS 3.0 を Portal for ArcGIS でのエンタープライズ ログイン用の ID プロバイダーとして構成することができます。構成プロセスでは、主に次の 2 つの手順を実行します。まず、エンタープライズ ID プロバイダーを Portal for ArcGIS に登録し、次に、Portal for ArcGIS をエンタープライズ ID プロバイダーに登録します。

または、Windows Active Directory でエンタープライズ グループに関するポータルにメタデータを提供することもできます。これにより、アイデンティティ ストア内の既存のエンタープライズ グループを利用する、ポータル内のグループを作成することができます。メンバーがポータルにログインすると、コンテンツ、アイテム、およびデータへのアクセスは、エンタープライズ グループで定義されているメンバーシップ ルールで管理されます。必要なエンタープライズ グループ メタデータを指定しなくても、グループは作成できます。しかし、メンバーシップ ルールは Windows Active Directory ではなく、Portal for ArcGIS で管理されます。

必要な情報

Portal for ArcGIS は、ユーザーがエンタープライズ ログインを使用してログインするときに、特定の属性情報を ID プロバイダーから受信する必要があります。NameID は、Portal for ArcGIS とのフェデレーションが機能するように、ID プロバイダーが SAML レスポンスで送信しなければならない必須の属性です。IDP からユーザーがログインすると、NameID というユーザー名の新しいユーザーが、Portal for ArcGIS によってユーザー ストアに作成されます。NameID 属性によって送信される値に使用できる文字は、英数字、_ (アンダースコア)、 . (ドット) および @ (アット マーク) です。その他の文字はエスケープされ、Portal for ArcGIS によってアンダースコアが付加されたユーザー名が作成されます。

Portal for ArcGIS は、エンタープライズ ログインの givenName 属性と email address 属性を、エンタープライズ ID プロバイダーから取得して入力することをサポートしています。ユーザーがエンタープライズ ログイン アカウントを使用してサイン インし、Portal for ArcGISgivennameemail または mail という名前の属性を取得した場合、Portal for ArcGIS はユーザー アカウントのフル ネームと電子メール アドレスに ID プロバイダーから取得した値を入力します。ユーザーが通知を受信できるようにするために、エンタープライズ ID プロバイダーから取得した email address を渡すことをお勧めします。

AD FS をエンタープライズ ID プロバイダーとして Portal for ArcGIS に登録する

  1. 組織サイトの管理者としてポータル Web サイトにサイン インし、[組織] > [サイト設定] > [セキュリティ] の順にクリックします。
  2. [エンタープライズ ログイン] セクションで、[ID プロバイダーの設定] ボタンをクリックし、表示されたウィンドウに組織名 (たとえば、「City of Redlands」) を入力します。ユーザーがポータル Web サイトにアクセスすると、このテキストが SAML サイン イン オプションの一部に表示されます (たとえば、City of Redlands アカウントを使用)。
    注意:

    ポータルに登録できるエンタープライズ ID プロバイダーは 1 つだけです。

  3. ユーザーが [自動] または [アカウントをポータルに追加した後] のどちらで組織に加入できるかを選択します。1 番目のオプションを選択すると、ユーザーは、管理者から招待されなくても、自分のエンタープライズ ログインを使用して組織サイトにサイン インできます。ユーザーのアカウントは、最初にサイン インしたときに自動的に組織サイトに登録されます。2 番目のオプションを選択すると、管理者は、コマンド ライン ユーティリティまたはサンプル Python スクリプトを使用して必要なアカウントを組織サイトに登録する必要があります。ユーザーは、アカウントが登録された時点で、組織サイトにサイン インできるようになります。
    ヒント:

    少なくとも 1 つのエンタープライズ アカウントをポータルの管理者として指定し、最初の管理者アカウントを降格するか削除することをお勧めします。また、[アカウントの作成] ボタンと、ポータル Web サイトのサインアップ ページ (signup.html) を無効化することで、ユーザーが自分のアカウントを作成できないようにしておくこともお勧めします。詳細な手順については、「ポータルでの SAML 準拠のアイデンティティ プロバイダーの構成」をご参照ください。

  4. 以下のオプションのいずれかを使用して、ID プロバイダーのメタデータ情報を入力します。
    • [URL] - AD FS フェデレーション メタデータの URL にアクセスできる場合は、このオプションを選択して URL (たとえば、https://<adfs-server>/federationmetadata/2007-06/federationmetadata.xml) を入力します。
      注意:

      エンタープライズ ID プロバイダーに自己署名証明書が含まれている場合、メタデータの HTTPS URL を指定しようとしたときに、エラーが発生することがあります。このエラーは、Portal for ArcGIS が ID プロバイダーの自己署名証明書を確認できないために発生します。代わりに、URL 内で HTTP を使用するか、下記の他のオプションのいずれかを使用するか、信頼できる証明書を使用して ID プロバイダーを構成してください。

    • [ファイル] - URL にアクセスできない場合は、このオプションを選択します。AD FS からフェデレーション メタデータ ファイルのコピーをダウンロードまたは取得し、[ファイル] オプションを使用して、そのファイルを Portal for ArcGIS にアップロードします。
    • [パラメーター] - URL にもフェデレーション メタデータ ファイルにもアクセスできない場合は、このオプションを選択します。値を手動で入力して、要求されたパラメーター (ログイン URL および証明書) を指定します。これらの情報については、AD FS 管理者にお問い合わせください。
  5. 必要に応じて高度な設定を構成します。
    • [暗号化アサーション] - AD FS の SAML アサーションのレスポンスを暗号化する場合は、このオプションを選択します。
    • [署名付きリクエストの有効化] - AD FS に送信される SAML の認証リクエストに Portal for ArcGIS が署名する場合は、このオプションを選択します。
    • [ID プロバイダーへのログアウトの反映] - ユーザーが AD FS からサイン アウトするログアウト URL を Portal for ArcGIS で使用する場合は、このオプションを選択します。使用する URL を [ログアウト URL] 設定に入力します。ID プロバイダーがログアウト URL を署名する必要がある場合、[署名付きリクエストの有効化] をオンにする必要があります。
      注意:

      デフォルトでは、AD FS は、SHA-256 を使用してログアウト リクエストを署名する必要があるため、[署名付きリクエストの有効化] および [SHA256 を使用した署名] のチェックボックスをオンにする必要があります。

    • [ログアウト URL] - 現在サイン インしているユーザーがサイン アウトするのに使用する ID プロバイダーの URL。
    • [エンティティ ID] - 新しいエンティティ ID を使用してポータルを AD FS に対して一意に識別する場合は、この値を更新します。

    [暗号化アサーション][署名付きリクエストの有効化] 設定では、ポータル キーストアの samlcert 証明書を使用します。新しい証明書を使用するには、「ポータルへの証明書のインポート」の手順に従って samlcert 証明書を削除し、同じエイリアス (samlcert) の新しい証明書を作成し、ポータルを再起動します。

  6. 必要に応じて、Windows Active Directory でエンタープライズ グループに関するメタデータをポータルに提供します。
    1. 組織の管理者として ArcGIS Portal Directory にサイン インします。URL の形式は https://webadaptorhost.domain.com/webadaptorname/portaladmin です。
    2. [Security] > [Config] > [Update Identity Store] の順にクリックします。
    3. [Group store configuration (in JSON format)] テキスト ボックスに IWA グループ構成の JSON を入力します。

      次のテキスト ボックスをコピーして、サイト固有の情報を含むよう変更します。

      {
        "type": "WINDOWS",
        "properties": {
          "isPasswordEncrypted": "false",
          "userPassword": "secret",
          "user": "mydomain\\winaccount"
        }
      }

      ほとんどの場合、user パラメーターと userPassword パラメーターの値を変更するだけで済みます。パスワードをプレーン テキストで入力しても、ポータルの構成ディレクトリに保存または表示される際には暗号化されます。user パラメーターに使用するアカウントには、ネットワーク上で Windows グループの名前を検索するための権限のみが必要です。可能な限り、パスワードに有効期限のないアカウントを使用します。

    4. ユーザー ストア構成に JSON を入力したら、[Update Configuration] をクリックして変更を保存し、ポータルを再起動します。

Portal for ArcGIS を信頼できるサービス プロバイダーとして AD FS に登録する

  1. AD FS 管理コンソールを開きます。
  2. [Relying Party Trusts] > [Add Relying Party Trust] の順に選択します。
    AD FS 管理コンソール
  3. [Add Relying Party Trust Wizard] で、[Start] ボタンをクリックします。
    ようこそ
  4. [Select Data Source] で、証明書利用者に関するデータを取得するためのオプション (URL からインポート、ファイルからインポート、手動入力) を選択します。URL およびファイル オプションからインポートする場合は、組織のメタデータを取得する必要があります。メタデータ URL またはファイルにアクセスできない場合、手動で情報を入力できます。場合によっては、手動で入力する方法が最も簡単です。
    • オンラインまたはローカル ネットワークで公開されている証明書利用者に関するデータのインポート

      このオプションは、Portal for ArcGIS の組織サイトの URL メタデータを使用します。この 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] フィールドで AD FS サーバーの完全修飾ドメイン名を指定します。[IP Address][IP Address of this request's origin] などの他のオプションはサポートされていません。これらのオプションを選択すると、無効なトークンが生成される場合があります。

      注意:

      上のサンプル URL の arcgis の部分は、Web アダプター アプリのデフォルト名です。Web アダプターの名前が arcgis 以外の場合は、URL のこの部分を使用している Web アダプターの名前に置き換えてください。

    • 証明書利用者についてのデータをファイルからインポートする
      ファイルからインポート

      このオプションは、Portal for ArcGIS の組織サイトにある metadata.xml ファイルを使用します。 メタデータの XML ファイルを取得するには、次の 2 つの方法があります。

      • 組織サイトの [サイト設定] ページの [セキュリティ] セクションで、[サービス プロバイダーの取得] ボタンをクリックします。組織のメタデータが表示されるので、XML ファイルとしてコンピューターに保存できます。
      • Portal for ArcGIS の組織サイトにあるメタデータの 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] フィールドで AD FS サーバーの完全修飾ドメイン名を指定します。[IP Address][IP Address of this request's origin] などの他のオプションはサポートされていません。これらのオプションを選択すると、無効なトークンが生成される場合があります。
        注意:

        上のサンプル URL の arcgis の部分は、Web アダプター アプリのデフォルト名です。Web アダプターの名前が arcgis 以外の場合は、URL のこの部分を使用している Web アダプターの名前に置き換えてください。

    • 証明書利用者についてのデータを手動で入力する
      手動入力

      このオプションを使用すると、[Add Relying Party Trust Wizard] によって、データを手動で入力するためのウィンドウが表示されます。これについては、以下のステップ 6 〜 8 で説明します。

  5. [Specify Display Name] に、表示名を入力します。
    URL またはファイル データ ソースの表示名の例

    表示名は、AD FS 内で証明書利用者を識別するために使用されます。AD FS の外部では、識別されません。これには、ArcGIS または ArcGIS 内の組織名 (ArcGIS—SamlTest など) のいずれかを設定する必要があります。

    ヒント:

    上の画像は、URL またはファイルからデータ ソースをインポートする手順における [Specify Display Name] ウィンドウを示しています。データ ソース情報を手動で入力する場合、ウィザードの左側に追加手順が表示されます。これは、以下のステップ 6 〜 8 で説明します。URL またはファイルを選択した場合、ステップ 9 までスキップできます。

  6. (手動によるデータ ソースのみ) [プロファイルの選択] で、[AD FS 2.0 profile] (または、使用している環境に適用できる場合、これ以降のバーションの AD FS) を選択します。
    プロファイルの選択
  7. (手動によるデータ ソースのみ) [URL の構成] で、[SAML 2.0 WebSSO プロトコルのサポートを有効にする] の横にあるチェックボックスをオンにして、証明書利用者の SAML 2.0 SSO サービスの URL を入力します。

    証明書利用者の URL は、ユーザーを認証した後に AD FS が SAML レスポンスを送信する URL である必要があります。これは、HTTPS URL: https://webadaptorhost.domain.com/webadaptorname/sharing/rest/oauth2/saml/signin です。

    注意:

    上のサンプル URL の arcgis の部分は、Web アダプター アプリのデフォルト名です。Web アダプターの名前が arcgis 以外の場合は、URL のこの部分を使用している Web アダプターの名前に置き換えてください。

  8. (手動によるデータ ソースのみ) [識別子の構成] で、証明書利用者の信頼の識別子の URL を入力します。

    これは、portal.domain.com.arcgis です。

  9. [Choose Issuance Authorization Rules] で、[Permit all users to access this relying party] を選択します。
    発行承認規則の選択
    ヒント:

    上の画像は、URL またはファイルからデータ ソースをインポートする手順における [Choose Issuance Authorization Rules] ウィンドウを示しています。データ ソース情報を手動で入力する場合、ウィザードの左側に追加手順が表示されます。

  10. [Ready to Add Trust] で、証明書利用者のすべての設定を確認します。メタデータの URL は、URL からデータ ソースをインポートする場合のみ指定されます。下の画像は、データ ソース情報を手動で入力する場合の [Ready to Add Trust] ウィンドウを示しています。
    信頼の追加の準備完了の例

    [次へ] をクリックします。

    ヒント:

    [Monitor relying party] オプションを有効にすると、AD FS は、定期的にフェデレーション メタデータ URL をチェックし、それを証明書利用者の信頼の現在の状態と比較します。ただし、フェデレーション メタデータ URL 内のトークンの有効期限が切れると、この監視は失敗します。この失敗は、AD FS のイベント ログに記録されます。失敗に関するメッセージを抑制するには、監視を無効にするか、トークンを更新することをお勧めします。

  11. [Finish] のチェックボックスをオンにした場合、[Close] ボタンをクリックすると、[Edit Claim Rules] ダイアログ ボックスが自動的に開きます。
    完了
    ヒント:

    上の画像は、URL またはファイルからデータ ソースをインポートする手順における [Finish] ウィンドウを示しています。データ ソース情報を手動で入力する場合、ウィザードの左側に追加手順が表示されます。

  12. 要求規則を設定するには、[Edit Claim Rules] ウィザードを開いて、[Add Rule] をクリックします。
    要求規則の編集
  13. [Select Rule Template] から、作成する要求規則の [Send LDAP Attributes as Claims] テンプレートを選択して、[Next] をクリックします。
    規則の種類の選択
  14. [Configure Claim Rule] で、規則の名前 (たとえば、「DefaultClaims」) を指定します。
    1. [Attribute store] で、[Active Directory] を選択します。
    2. [Mapping of LDAP attributes to outgoing claim types] で、[LDAP Attribute] にユーザー名を含む LDAP 属性 ([SAM-Account-Name] など)、[Outgoing Claim Type][NameID] を選択します。
      注意:

      [NameID] は、ArcGIS とのフェデレーションが機能するように、AD FS が SAML レスポンスで送信する必要のある属性です。IDP からユーザーがログインすると、NameID というユーザー名の新しいユーザーが、Portal for ArcGIS によってユーザー ストアに作成されます。 NameID 属性によって送信される値に使用できる文字は、英数字、_ (アンダースコア)、 . (ドット) および @ (アット マーク) です。その他の文字はエスケープされ、Portal for ArcGIS によってアンダースコアが付加されたユーザー名が作成されます。

  15. Portal for ArcGIS は、エンタープライズ ログインの givenName 属性と email address 属性を、エンタープライズ ID プロバイダーから取得して入力することをサポートしています。ユーザーがエンタープライズ ログイン アカウントを使用してサイン インし、Portal for ArcGISgivennameemail または mail という名前の属性を取得した場合、Portal for ArcGIS はユーザー アカウントのフル ネームと電子メール アドレスに ID プロバイダーから取得した値を入力します。

    要求規則を編集するには、次の手順を実行します。

    規則の編集 - デフォルトの要求
    • [LDAP Attribute] 列で、[DisplayName](または 2 行目のリストの別の属性) を選択し、それを [Outgoing Claim Type] 列の [Given Name] にマッピングします。
    • [LDAP Attribute] 列で、[E·Mail-Addresses] を選択し、それを [Outgoing Claim Type] 列の [E·Mail Address] にマッピングします。

    この規則の場合、AD FS は、ユーザーを認証した後、givenname および email という名前の属性を Portal for ArcGIS に送信します。次に Portal for ArcGIS は、givenname 属性および email 属性で受信した値を使用して、ユーザー アカウントのフル ネームおよび電子メール アドレスを入力します。

    エンタープライズ ID プロバイダーから Portal for ArcGIS に電子メール アドレスを渡すことをお勧めします。 そうすると、ユーザーが後で管理者になる場合に役立ちます。アカウントに電子メール アドレスが登録されていると、管理アクティビティに関する通知を受信したり、他のユーザーが組織に加入できるように招待を送信したりできます。

  16. [Finish] をクリックすると、Portal for ArcGIS が証明書利用者として含まれるように AD FS の ID プロバイダーを構成する手順が完了します。

IDP が開始するログイン

AD FS を組織サイトの ID プロバイダーとして構成したら、IDP が開始するエンタープライズ ログインを利用できます。AD FS および Portal for ArcGIS で IDP ログインを開始できるように、IDP ログインを有効にしておく必要があります。 IDP ログインを AD FS でまだ有効化していない場合は、以下の手順に従って有効化してください。Portal for ArcGIS は、デフォルトで IDP ログインをサポートしているため、Portal for ArcGIS で別途必要となる構成手順はなく、AD FS を構成するだけで済みます。

  1. AD FS が web.config ファイル内の RelayState パラメーターを送信できるようにします。このパラメーターは、ユーザーがサイン イン後にアクセスする特定のリソースを識別するために使用されます。
    1. web.config ファイルを開きます。デフォルトでは、このファイルは C:\inetpub\adfs\ls\ にあります。
    2. 以下のエントリを web.config ファイルの microsoft.identityServer.web セクションに追加します。

      <microsoft.identityServer.web>
          ...
          <useRelayStateForIdpInitiatedSignOn enabled="true" />
      </microsoft.identityServer.web>

  2. RelayState パラメーターを生成します。AD FS が RelayState を生成するには、以下の 2 つの情報が必要です。
    1. 証明書利用者 ID (RPID) - これは、AD FS で構成されている Portal for ArcGIS 組織サイトの証明書利用者 ID を示します。これを取得するには、Portal for ArcGIS の証明書利用者のプロパティを AD FS 管理コンソール (たとえば、webadaptorhost.domain.com) から開きます。
      AD FS 管理コンソール
    2. RelayState - これは、ユーザーが AD FS サイトに正常にログインした後でリダイレクトされるポータルの URL です (たとえば、https://webadaptorhost.domain.com/webadaptorname/)。
  3. RPID と RelayState の値を定義して RelayState パラメーターを生成します。
  4. RPID と RelayState の値をエンコードします。以下に例を示します。
    • RPID: webadaptorhost.domain.com.webadaptorname
    • RelayState: https%3A%2F%2Fwebadaptorhost.domain.com%2Fwebadaptorname%2F
  5. 前のステップでエンコードした値を 1 つの文字列にマージします (たとえば、RPID=webadaptorhost.domain.com.webadaptorname&RelayState=https%3A%2F%2Fwebadaptor.domain.com%2Farcgis%2F)。
  6. マージした文字列をエンコードします (たとえば、RPID%3Dwebadaptorhost.domain.com.webadaptorname%26RelayState%3D%20https%253A%252F%252Fwebadaptorhost.domain.com%252Fwebadaptorname%252F)。
  7. RelayState パラメーターを文字列に追加し、その文字列を IDP が開始する AD FS の SSO URL に追加します (たとえば、https://idphost.test.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=RPID%3Dwebadaptorhost.domain.com.webadaptorname%26RelayState%3D%20https%253A%252F%252Fwebadaptorhost.domain.com%252Fwebadaptorname%252F)。これは、AD FS サイトでのログインの開始に使用される URL です。

ユーザーがログインして正常に認証されると、AD FS は SAML レスポンスを生成し、組織サイトの URL を含む RelayStatePortal for ArcGIS に渡します。Portal for ArcGIS は、SAML レスポンスの整合チェックを実施した上で、ユーザーを組織サイトとそのリソースにリダイレクトします。