4.6. SAML 認証 - クラウド¶
4.6.1. SAML 認証と Ericom Shield¶
Ericom Shieldは、ユーザー認証にSAMLをサポートしています。 管理者ポータル、Shield Proxyモード、Proxyless(リダイレクト)モードはすべてサポートされています。 お客様のドメイン(例:company.com)をテナントに設定する必要がありますので、Ericomのテクニカルサポートにお問い合わせください。
SAMLによる認証時にユーザを特定し、SAMLプロバイダからの情報に基づいてセッションプロファイルを割り当てることができます。
SAML を介して Shield にログインする場合、エンドユーザは IDP(Identity Provider)にログインするよう促されます。エンドユーザが IdP から適切な SAML アサーションを既に受け取っている場合は、再ログインする必要はありません。
SAML認証を使用するには、以下の基本的な手順に従います。
ID プロバイダ(IdP)での手順
- Shield 用の SAML アプリケーションを作成します
- アプリケーションをユーザに割り当てます
- 属性値を設定します
Ericom Shield 管理コンソールで IdP 設定を定義します:
- ログイン URL
- 署名証明書
- 復号化鍵
- Audience
注意
サードパーティのプロキシを使用して Shield にトラフィックを転送している場合は、転送ポリシーで shield.ericomcloud.net が Shield に送信されることを確認してください。 このドメインが転送ポリシーになく、インターネットに直接送信された場合、SAML ログインは失敗します。
SAML インポート IDP メタデータ¶
多くの場合、「IDPメタデータのインポート」ボタンを使って、IDプロバイダのメタデータをインポートします。
SAML メタデータ URL - メタデータ情報への URL を貼り付けます。
SAML Metadata XML File - メタデータ情報をファイルからアップロードします。
インポートが完了したら、インポートした設定がフィールドに入力されていることを確認し、「IDP Audience」がない場合は追加してください。 IDP Audience’はShieldとそれぞれのIDP設定の間で同じである必要があります。
SAMLプロバイダー別の詳しい説明は、左のメニューからご覧ください。
注意
SAMLは、管理者ポータルに接続する管理者ユーザーを認証するために使用することができます。詳細は こちら を参照してください。
テナントログイン¶
エンドユーザがEricomに初めて接続すると、テナントログインのプロンプトが表示されます。
ユーザーのメールアドレスを入力すると、設定されているテナントが選択されます。
注意
メールドメイン(例:contoso.com)がテナントに設定されている必要があります。設定されていない場合は、テクニカルサポートにお問い合わせください。
電子メールアドレスを入力すると、SAML IDプロバイダのログイン画面が表示されます。
テナントログインに電子メールアドレスを入力した後のIDログインプロンプトのサンプル):
注意
クッキーがブラウザに保存されるので、次回以降のログイン時にテナントログイン画面に入る必要はありません(クッキーをクリアするまで)
ログイン時にエラーが発生した場合は、SAMLエラーコードの表を参照してトラブルシューティングを行ってください。
4.6.2. Microsoft Azure¶
Azure でアプリケーションを公開するには、Azure サブスクリプションに対するグローバル管理者権限が必要です。
グローバル管理者の資格情報を使用して こちら から Azure Portal にログインします。
SAML アプリケーションを作成する¶
「Azure Active Directory」に移動し、次に「Enterprise applications」(エンタープライズアプリケーション)に移動します。
「New application」(新しいアプリケーション)を選択します。
「Create your own application」(独自のアプリケーションを作成する)を選択します。
アプリケーション名を入力し、「Create」(作成)をクリックします。
アプリケーションが正常に作成されたら、「Single sign-on」(シングルサインオン)を選択します。
サインオン方法として、「SAML」を選択します。
「Edit」(編集)(ペンアイコン)をクリックして、「Basic SAML Configuration」(基本的な SAML 設定)を編集します。
以下のフィールドに入力を行います:
- Identifier(識別子): 任意の文字列(大文字と小文字が区別されます)
- Reply URL(応答 URL): 次の値とする必要があります: https://shield.ericomcloud.net/saml/assert/
例:
「Save」(保存)と「Close」(閉じる)をクリックします。
「Edit」(編集)(ペンアイコン)をクリックして、「User Attributes & Claims」(ユーザ属性と要求)を編集します。
「新規グループ申請の追加」をクリックします。
Shield属性を追加する(オプション)例)
名前は "Shield-Groups"、属性は "Group ID"に設定する必要があります。
注意
Shieldプロファイルは、グループ名ではなく、グループ ID と関連付ける必要があります。AzureAD のグループ ID は、Azure AD の「グループ」画面で確認することができます。
「保存」と「閉じる」をクリックします。
アプリケーションへのユーザの割り当て¶
「Users and groups」(ユーザとグループ)をクリックして、「Add user」(ユーザの追加)をクリックします。
割り当てるユーザまたはグループを選択し、「Select」(選択)と「Assign」(割り当て)を選択して確認します。
Shield の設定¶
管理コンソールの「認証 | SAML 認証」に移動します。以下のフィールドに入力を行います(その他のフィールドはオプションです):
IdP ログイン URL¶
このフィールドでは Azure のログイン URL を指定します。Azure Application | Single Sign-On(Azure アプリケーション | シングルサインオン)タブに移動して、Login URL の値をコピーし、Shield のこのフィールドにペーストします。
IdP 署名証明書¶
このフィールドでは Azure の証明書を指定します。Azure Application | Single Sign-On | SAML Signing Certificate(Azure アプリケーション | シングルサインオン | SAML 署名証明書)に移動してCertificate(Base64)(証明書 Base 64)を見つけてダウンロードします。
そのファイルを開き、base 64 でエンコードされた文字列(BEGIN CERTIFICATE と END CERTIFICATEの間にあります)をコピーします。Shield の IdP 署名証明書フィールドにペーストします。
最終的な結果の例:
IdP Audience(IdP オーディエンス)¶
Azure アプリケーションの識別子(Entity ID)文字列として使用したものと同じ文字列を使用します(大文字と小文字が区別されます)。
4.6.3. ADFS¶
ADFS を Shield IdP として使用するには、以下の手順が必要です:
- ドメインコントローラで ADFS 証明書利用者を構成する
- ADFS を IdP として使用するように Shield を構成する
- Shield プロキシを使用するようにブラウザを構成する
ドメインコントローラで ADFS 証明書利用者を構成する¶
Active Directory フェデレーションサービス(ADFS)をインストールする
ドメインコントローラで、「管理 | 役割と機能の追加」を選択して、「次へ」をクリックします。
「サーバーの役割の選択」を選択し、「Active Directory フェデレーション サービス (ADFS)」のチェックボックスをオン(有効)にします。
「次へ」をクリックします。
以下のようにサービスを構成します:
証明書利用者信頼を作成する¶
ADFS は、Shield を「証明書利用者」(セキュリティ保護されたリソースへのアクセスを許可するサービスプロバイダ)として許可するよう構成する必要があります。
ドメインコントローラで、「ADFS の管理」を選択します。
左側ペインで、「証明書利用者信頼」を右クリックし、「証明書利用者信頼の追加」をクリックします。
証明書利用者を以下のように構成します:
暗号化証明書の構成はオプションです:
サービス URLを構成します - https://shield.ericomcloud.net/saml/assert/
証明書使用者信頼 IDを構成します。ADFS において一意の文字列を使用します。
重要
管理コンソールの「認証 | SAML 認証 | IdP Audience」でこの値を使用します。これらの値は一致する必要があります。これらの値は一致しなければなりません。
ADFS はこの文字列を元に使用する証明書利用者を識別します。
証明書利用者信頼の要求発行規則を編集する¶
要求は、ユーザが認証されると ADFS から証明書利用者に送信される属性です。要求は、LDAP 属性またはカスタム属性にすることができます。
「証明書利用者」を右クリックし、「要求発行規則の編集」を選択します。
「規則の追加」をクリックします。
「LDAP 属性を要求として送信する」を選択します。
ユーザ LDAP グループ属性を追加する¶
LDAP ユーザグループごとに異なる Shield プロファイルを設定するには、グループ情報を Shield に送信するための要求を作成する必要があります。
注意
Shield で使用を目的としたグループを Active Directory に作成することをお勧めします。これらのグループには、Shield_構文を使用する必要があります。例: (Shield_Marketing)
- 新しいカスタムルールを追加する
![]()
- ルールに名前を付けます: AdGroups
- 以下のテキストをカスタムルールとして追加します:
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => add(store = "Active Directory", types =("Shield-Groups"), query = ";tokenGroups;{0}", param = c.Value);
- 2 番目のカスタムルールを追加する
- ルールに名前を付けます: ShieldGroups
- 以下のテキストをカスタムルールとして追加します:
- 上記で作成した適切なグループを見つけるために、SHIELD を他の正規表現に置き換えることができます。
c:[Type == "Shield-Groups", Value =~ "^(?i)SHIELD"] => issue(claim = c);
ADFS を IdP として使用するように Shield を構成する¶
ADFS メタデータの取得¶
構成に使用するデータを取得するには、ADFS メタデータを取得します。ブラウザで次のURL に移動します:
https://<ADFSServiceURL>/FederationMetadata/2007-06/FederationMetadata.xml
FederationMetadata.xml という名前のファイルがダウンロードされます。そのファイルを表示し、以下の説明に従ってテナント管理 UI の各フィールドに値をコピーします。
テナント管理 UI¶
テナント管理の「認証 | SAML 認証」に移動し、以下の設定を行います:
有効 | True |
IdP ログイン URL | この値は FederationMetadata.xml に表示されます。「Location=」を検索します。例: https://<ADFSServiceURL>/adfs/ls |
IdP 署名証明書 | FederationMetadata.xml から X509Certificate をコピーします。「use = 「signing」」を検索し、証明書の内容をコピーして、このフィールドにペーストします。 |
IdP 復号化鍵 | 下記の手順を参照してください。 |
IdP Audience(IdP オーディエンス) | 証明書利用者信頼 ID として使用したものと同じ文字列を使用します。 |
暗号化された SAML を構成する¶
注意
このステップはオプションです。暗号化された通信で ADFS と Shield を構成する場合のみに必要です。
秘密鍵を使用して証明書を作成する¶
以下のコマンドを使用します:
openssl req -nodes -sha256 -newkey rsa:2048 -keyout encr.key -out request.csr
openssl x509 -req -days 365 -sha256 -in request.csr -signkey encr.key -out encr.cer
暗号化用に ADFS を構成する¶
ADFS 管理コンソールで「証明書利用者」を右クリックし、「プロパティ」を選択します。
「暗号化」タブで「参照」をクリックして、さきほど作成したencr.cer ファイルをインポートします。
復号用に Shield を構成する¶
テナント管理画面の「認証 | SAML」に移動し、さきほど作成したencr.keyを使用してIdP 復号化鍵を構成します。
4.6.4. Okta¶
SAML アプリケーションを作成する¶
Okta のユーザアカウントに接続するか、開発/プレビューアカウントを作成します。新しいプレビューアカウントの場合は、こちら に移動して指示されたプロセスに従います。
「Partner Integration」(パートナー統合)と「Single Sign On」(シングルサインオン)を選択します。
新しいアカウントをアクティブ化します(メールで送信されます)。指定された資格情報(一時的なパスワードを使用)でログインします。ログインしたら、最初のページで「Classic Ui」(クラシック」(クラシック UI)に切り替えます。
「Admin」(管理者)をクリックします。
「Applications」(アプリケーション)をクリックします。
「Add Application」(アプリケーションの追加)、「Create New App」(新しいアプリの作成)の順にクリックします。
プラットフォームのタイプとして「Web」を選択します。「SAML 2.0サインオン方法を選択します。
「Create」(作成)をクリックし、次のフォームにアプリケーション名、ロゴなどを入力します。
「次へ」をクリックします。
SAML の設定(フィールド名と割り当てる値)を構成します。
シングルサインオン URL を構成します - https://shield.ericomcloud.net/saml/assert/
Single Sign-on URL (シングルサインオン URL) | https://shield.ericomcloud.net/saml/assert/ |
Use this for Recipient URL and Destination URL (受信者 URL と 宛先 URL にこれを使用する) | チェックボックスをオン(有効)のままにします |
Audience URI(オーディエンス URI) | 任意の文字列(管理コンソールの「認証 | SAML 認証 | IdP Audience」と一致する必要があります) |
Default Relay State(デフォルトのリレー状態) | https://shield.ericomcloud.net/saml/assert/ |
Group Attribute Statements(グループ属性ステートメントを定義する方法については、以下を参照してください。
ユーザグループにアプリケーションを割り当てる¶
グループを作成する¶
「Directory」(ディレクトリ)メニューに移動し、「Groups」(グループ)をクリックします。
「Add Group」(グループの追加)をクリックし、グループの名前を入力して、「Add Group」ボタンをクリックします。
そのグループで「Manage People」(ユーザの管理)をクリックし、このグループにユーザを追加します。
アプリケーションをこのグループに割り当てる¶
作成した SAML アプリケーションにもどります。「Assignment」(割り当て)タブに移動し、「Assign」(割り当て)、「Assign to Groups」(グループへの割り当て)の順にクリックします。
割り当てる人/グループを選択し、「Assign」(割り当て)をクリックします。
グループ属性を設定する¶
次の手順を使用して、SAML レスポンスでグループ名を送信するようにアプリケーションを構成します: 「General」(一般)タブの「SAML Settings」(SAML の設定)で、「Edit」(編集)をクリックします。次のページに移動します。「Group Attribute Statements」(グループ属性ステートメント)の下にグループを追加します:
属性名「Shield-Groups」を追加します。
グループ名を追加するためのフィルタを定義します。
例えば、この例では、「Shield」という単語を含むグループ名を加えるようにアプリケーションに指示します。これは、ユーザがグループ「Shield」のメンバである場合、このグループ名が SAML 応答に含まれることを意味します。
ユーザのグループリストを取得するには、正規表現 .* とマッチします。
この場合、Shield は SAML 応答で読み取られる最初のグループと一致します。
「Next」(次へ)と「Finish」(完了)をクリックします。
Shield の設定¶
管理コンソールの「認証 | SAML 認証(エンドユーザ)」に移動して、下図のフィールドを以下のように設定します:
IdP ログイン URL(必須)¶
Okta の「Sign On」(サインオン)タブで、「Identity Provider metadata」(ID プロバイダのメタデータ)リンクを見つけます。XML ドキュメントが表示されます
タグ「md:SingleSignOnService」を見つけて、「Location」(ロケーション)属性の値をコピーします。
Shield の IdP ログイン URLフィールドにペーストします。
IdP 署名証明書 (必須)¶
同じ XML でタグ「ds:X509Certificate」を見つけ、このタグの値をコピーします(この値はエンコードされた文字列です。
Shield の IdP 署名証明書フィールドにペーストします。
IdP 復号化(オプション)¶
Oktaは、セキュリティ向上のために暗号化された SAML レスポンスを送信するように構成できます。これを行うには、Okta で証明書を構成し、その秘密鍵を Shield に提供して、SAML レスポンスを復号できるようにします。
- 証明書署名リクエスト(CSR)を生成する
コマンドシェルから、次を実行します:
openssl req -nodes -sha256 -newkey rsa:2048 -keyout PrivateKey.pem -out CertificateRequest.csr
証明書の属性に関する質問に答えます。すべてのデフォルト値を受け入れるには、「Enter」と入力します。
- 証明書を作成する
作成された CSR を使用、秘密鍵で署名し、公開証明書を作成します。
openssl x509 -req -days 365 -sha256 -in CertificateRequest.csr -signkey PrivateKey.pem -out idp.crt
- Okta を構成する
「SAML Settings」(SAML 設定)で、「Show Advanced Settings」(詳細設定を表示)をクリックします。
詳細設定で、アサーションを暗号化するように設定し、証明書(上図の例では idp.crt)をアップロードします。
PrivateKey.Pem から base 64 値をコピーします。
その文字列を Shield の IdP 復号化鍵にペーストします。
IdP Audience (必須)¶
Okta の Audience URI(オーディエンス URL)フィールドに入力したものと同じ文字列を使用します。
Shield プロキシを構成して SAML サービスの URL を除外する¶
詳細は`こちら <./saml.html#id22>`_ を参照してください。
4.6.5. Ping Identity¶
Ping で SAML アプリケーションを作成する¶
新しい Web App SAML アプリケーションを作成します。
「Provide App Metadata」(アプリのメタデータの提供)を「Manually Enter」(手動で入力)に変更します。
ACS URL には次を入力します: https://shield.ericomcloud.net/saml/assert/
Entity Id(エンティティ ID)まで下にスクロールして、Shield を入力します。
バインディングがHTTP POSTを使用していることを確認します。
Attribute Mapping(属性マッピング)で、有効な PING 属性を Name ID(名前属性)属性に渡します。
PING 属性が空の場合 1009 エラーが返されます。
設定を保存すると、アプリケーションが作成されます。
次に、「Configulation」(構成)に移動し、METADATA ファイルをダウンロードします。これは Shield の構成に必要になるためです。
Shield の設定¶
管理ポータルにログインし、「認証 | SAML 認証(エンドユーザ)」に移動します。
Ping METADATA ファイルを開きます。
X509Certificates のコンテンツをコピーします:
Shield IdP 署名証明書に貼り付けます:
HTTP-POST SSO ロケーション の URL をコピーします:
Shield IdP ログイン URL に貼り付けます:
最後に、Idp Audience に「Shield」と入力して設定を保存します。
この状態で Shield との接続をテストすると、Ping ログインページが表示されます。
4.6.6. Shield 管理者ユーザの SAML 認証¶
SAML を使用して、管理コンソールにログインする管理者の識別および認証を行うことができます。
以下の手順を実行します:
SAML アプリケーションを作成する¶
注意
ユーザ認証の場合と同様に、すべての IdP がサポートされます。 以下は ADFS での例を示していますが、他のすべてのプロバイダも非常によく似ています。
アプリケーションを作成します。ユーザ認証の場合と同じ手順に従います(選択した IdP に応じて、左側のメニューの該当するセクションを参照してください)。
- 表示名は、Shield 管理者に関連していることを示す必要があります。
- Shield adminを使用している場合、サービス/返信/シングルサインオン URL(名称は IdP によって異なります)は、この値を使用してください: https://admin.ericomcloud.net/api/auth/samlLoginRes_API
- Forcepoint を使用している場合、URL: https://forcepoint.ericomcloud.net/api/auth/samlLoginRes_API を使用します。
- Netskopeを使用している場合、URL: https://netskope.ericomcloud.net/api/auth/samlLoginRes_API を使用します。
- ZT管理ポータルを使用している場合、URL: https://ztadmin.ericomcloud.net/api/v1/saml/acs を使用します。
注意
Shield 管理者用の既存の SAML アプリがあり、ZT 管理者ポータルを使用したい場合は、既存の SAML アプリに別の Reply/ACS URL として ztadmin URL を追加してください。
- 証明書利用者信頼 ID には、この IdP ごとに一意のテキストを使用してください。このテキストは、後ほど Shield テナント管理画面でIdP Audience(IdP オーディエンス)を構成するために使用します。
- プロセスを完了します。
名前 ID 要求を追加する¶
注意
この手順は ADFS のために必要です。
「証明書利用者」を右クリックし、「要求発行規則の編集」を選択します。
「規則の追加 | 要求規則テンプレート」で「LDAP 属性を要求として送信」を指定します。「次へ」をクリックします。
下図のようにリストから選択し、プロセスを完了します。
Shield の設定¶
管理コンソールの「認証 | SAML 認証 | SAML 認証(Adminコンソール)」に移動します。以下のフィールドに入力を行います(その他のフィールドはオプションです):
- IdP ログイン URL
- IdP 署名証明書
- IdP Audience(IdP オーディエンス)
これらのフィールドは、特定の IdP ごとに、SAML 認証(エンドユーザ)の設定と同じ方法で入力する必要があります。
必ず「保存」をクリックしてください。
管理者ユーザの SAML 認証のアクティブ化¶
これらのフィールドを設定した後、Ericom サポートに連絡してテナントの SAML 認証をアクティブ化する必要があります。
Ericom のサポート担当者がテナントに対してこの機能を有効にすると、ページを更新して「有効 | Yes」を選択できるようになります。
「保存」をクリックしてから、管理コンソールから「サインアウト」します。
SAML 資格情報を使用したログインの手順については、下記を参照してください。
4.6.7. miniOrange Xecurify¶
SAML アプリケーションを作成する¶
新しい SAML アプリケーションを作成します。
Custom Application Name(カスタムアプリケーション名): Shield
SP Entity ID(SP エンティティ ID): shield(これは一時的なもので、アプリの作成後に置換されます)
ACS URL: https://shield.ericomcloud.net/saml/assert
「Advanced」(詳細)をクリックします。
「Sign Response」(サイン応答)を有効にします。
「Save」(保存)をクリックし、設定を完了します。
アプリの作成後、Metadata ファイルを開き、「IdP Entity ID or Issuer」文字列をコピーします。
アプリのプロパティに移動し、SP Entity ID をこの値に設定します(Audience ID も自動入力されます):
Shield の設定¶
管理ポータルにログインし、「認証 | SAML 認証(エンドユーザ)」に移動します。
有効: はい(Yes)
IdP ログイン URL: Xecurify Metadata ファイルから URL を取得します。
署名証明書: Xecurify Metadata ファイルから証明書文字列を取得します。
IdP Audience: Xecurify から URL を取得します
4.6.8. Cisco Duo Access Gateway¶
SAML アプリケーションを作成する¶
Duo Access Gateway にログインし、新しい SAML アプリケーションを追加します。
「Service Provider」(サービスプロバイダ)セクションに移動して、以下のように入力します:
Entity ID: ericom
ACS URL: https://shield.ericomcloud.net/saml/assert/
「Save」(保存)をクリックします。
Ericom Shield の構成に使用する Metadata URLを開きます
注意
ACSのURLの末尾に「/」がないことを確認すると、このようなエラーメッセージが表示されることがあります。
Shield の設定¶
Duo METADATA ファイルを開いて、コンテンツを準備します。
管理ポータルにログインし、「認証 | SAML 認証(エンドユーザ)」に移動します。
有効を「はい」に設定します
Shield IdP ログイン URL: 「<md:SingleSignOnService Binding=」urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST」 Location=」に続く値をコピーします(引用符なし)
IdP 署名証明書: X509Certificates のコンテンツ(<ds:X509Certificate>と</ds:X509Certificate>の間の文字列のみ)をコピーします。
IdP Audience: Entity ID の値を入力します。
プロキシ例外リストの設定¶
各エンドユーザーシステムで、プロキシが設定されているプロキシ例外リストに*.duosecurity.comを追加します。
たとえば、プロキシがWindowsプロキシ設定で構成されている場合、ここに例外を追加します。
4.6.9. トラブルシューティング¶
401 エラー¶
IDプロバイダにログインした後、401エラーが返される。
可能な解決策:
- Shield 管理ポータルで、証明書文字列内のスペースをすべて削除します(これらは非表示の文字です)。
- Shiled 管理ポータルで、IdP ログイン URL が正しいことを確認します(https と http の間違いなど)
- Audience ID が両側で正しいことを確認します。
テナント認証が成功しない¶
テナントログインにメールアドレスを入力すると、リフレッシュされる
プロキシ回避リストにIdPのドメインを追加します。 例えば、Windowsの場合、例外リストに*.duosecurity.comを追加します。
IdP認証が循環し続ける¶
ACS の URL が正しいことを確認します( 例: https://shield.ericomcloud.net/saml/assert/)
認証に失敗し不正なSAML ACSが表示される¶
SAML IDプロバイダへのログインは成功しましたが、Shieldの起動に失敗し、エラーメッセージ(またはログエントリ)に不正なACSが使用されていることが表示されます。
考えられる解決策サードパーティのプロキシを使用してShieldにトラフィックを転送している場合、転送ポリシーでshield.ericomcloud.netがShieldに送信されていることを確認します。 このドメインが転送ポリシーになく、インターネットに直接送信された場合、SAMLログインは失敗します。
Prisma AccessからEricomのドメインをEricomに転送するポリシー例)
Google SAML¶
Shield SAML の設定:
- IdPログインURL:<GoogleのURLを入力>(例:https://accounts.google.com/o/saml2/idp?idpid=C047zbvk7)
- オーディエンス:<マッチングオーディエンスID>を入力(例:shield)
- 署名証明書:<一致する署名証明書を入力>(例:MIID…)
ポリシーに google.com の項目を追加し、Inherit White Cookies を Enabled に設定します。
エンドユーザーがブラウジングを始めると、まずGoogleのログインにリダイレクトされます。