SAML を有効にする(ベータ版)

このセクションでは、Apigee Edge の SAML を有効にして、組織のメンバーの認証を独自の ID サービスに委任する方法について説明します。SAML の概要と Edge での ID ゾーン管理については、SAML の概要をご覧ください。

統合ポータルに SAML を使用して SSO を有効にするには、SAML ID プロバイダを構成するをご覧ください。

zoneadmin の役割について

Edge で ID ゾーンを管理するには、zoneadmin になる必要があります。zoneadmin の役割では、ID ゾーンの管理のみを行うための完全な CRUD 手順が提供されます。

Apigee Edge アカウントに zoneadmin の役割を割り当てるには、Apigee のサポートにお問い合わせください。

始める前に

始める前に、サードパーティの SAML ID プロバイダから次の情報を取得します。

  • 証明書(PEM 形式または PKCSS 形式)
    必要であれば、x509 証明書を PEM 形式に変換してください
  • 構成情報(次の表に定義)

    構成 説明
    ログイン URL SAML ID プロバイダにログインするためにユーザーがリダイレクトされる URL。
    ログアウト URL SAML ID プロバイダからログアウトするためにユーザーがリダイレクトされる URL。
    IDP エンティティ ID この ID プロバイダの一意の URL。たとえば、https://idp.example.com/saml です。

Edge SSO Zone Administration ページを調べる

[Edge SSO Zone Administration] ページを使用して、ID ゾーンを管理します。[Edge SSO Zone Administration] ページは組織外に存在し、複数の組織に同じ ID ゾーンを割り当てることが可能です。

[Edge SSO Zone Administration] ページにアクセスするには、次の手順を行います。

  1. zoneadmin 特権を持つアカウントを使用して https://apigee.com/edge にログインします。
  2. 左側のナビゲーション バーで [Admin] > [SSO] を選択します。

[Edge SSO Zone Administration] ページが表示されます(組織外)。

図でハイライト表示されているように、[Edge SSO Zone Administration] ページでは次のことを行えます。

ID ゾーンを追加する

ID ゾーンを追加するには、次の手順を行います。

  1. [Edge SSO Zone Administration] ページにアクセスします
  2. [Identity zones] セクションで、[+] をクリックします。
  3. ID ゾーンの名前と説明を入力します。
    ゾーン名はすべての Edge 組織にまたがって一意にする必要があります。

    : Apigee は不適切とみなされるゾーン名を削除する権利を有します。

  4. 必要に応じて、サブドメインに追加する文字列を入力します。
    たとえば、acme がゾーン名の場合、本番環境ゾーン acme-prod とテストゾーン acme-test を定義します。
    本番環境を作成するには、サブドメイン接尾辞として prod と入力します。この場合、ID ゾーンを使用して組織にアクセスするで説明しているように、Edge UI にアクセスするために使用される URL が acme-prod.apigee.com になります。

  5. [OK] をクリックします。

  6. SAML ID プロバイダを構成します

SAML ID プロバイダを構成する

SAML ID プロバイダを構成するには、次の手順に従います。

  1. SAML 設定を構成します
  2. 新しい証明書をアップロードします
    必要であれば、x509 証明書を PEM 形式に変換してください

SAML 設定を構成する

SAML 設定を構成するには:

  1. [Edge SSO Zone Administration] ページにアクセスします
  2. SAML ID プロバイダを構成する ID ゾーンの行をクリックします。
  3. [SAML Settings] セクションで、 をクリックします。
  4. [SP metadata URL] の横の [Copy] をクリックします。

  5. サービス プロバイダ(SP)メタデータ ファイルの情報を使用して、ご利用の SAML ID プロバイダを構成します。

    一部の SAML ID プロバイダでは、メタデータの URL のみを指定するように求められます。その他の SAML ID プロバイダでは、メタデータ ファイルから特定の情報を抽出し、フォームに入力する必要があります。

    後者の場合、URL をブラウザに貼り付けて、SP メタデータ ファイルをダウンロードし、必要な情報を抽出します。たとえば、SP メタデータ ファイル内の次の要素からエンティティ ID またはログイン URL を抽出できます。

    : SP メタデータ ファイルでは、ログイン URL は AssertionConsumerService(ACS)URL とされています。

    • <md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" ID="diyyaumzqchrbui-a5vnmu1sp8qzekbd.apigee-saml-login" entityID="diyyaumzqchrbui-a5vnmu1sp8qzekbd.apigee-saml-login">
    • <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://diyyaumzqchrbui-a5vnmu1sp8qzekbd.portal-login.apigee.com/saml/SSO/alias/diyyaumzqchrbui-a5vnmu1sp8qzekbd.apigee-saml-login" index="0" isDefault="true"/>
  6. SAML ID プロバイダの SAML 設定を構成します。

    [SAML Settings] セクションで、次のフィールドを SAML ID プロバイダのメタデータ ファイルから取得した値に設定します。

    SAML 設定説明
    ログイン URLSAML ポータル ID プロバイダにログインするためにユーザーがリダイレクトされる URL。
    たとえば、https://dev-431871.oktapreview.com/app/googledev431871_devportalsaml_1/exkhgdyponHIp97po0h7/sso/saml です。
    ログアウト URLSAML ポータル ID プロバイダからログアウトするためにユーザーがリダイレクトされる URL。
    : ご利用の SAML ID プロバイダでログアウト URL が提供されていない場合は、このフィールドを空白のままにしてください。その場合、このフィールドはログイン URL と同じ値に設定されます。
    IDP エンティティ IDSAML ID プロバイダの一意の ID。
    たとえば、http://www.okta.com/exkhgdyponHIp97po0h7 です。
  7. [保存] をクリックします。

次に、次のセクションで説明するように、PEM 形式または PKCSS 形式で証明書をアップロードします。

新しい証明書をアップロードする

新しい証明書をアップロードするには:

  1. SAML ID プロバイダから証明書をダウンロードします。

    : 証明書は PEM または PKCSS 形式にする必要があります。必要であれば、x509 証明書を PEM 形式に変換してください。

  2. [Edge SSO Zone Administration] ページにアクセスします

  3. 新しい証明書をアップロードする ID ゾーンの行をクリックします。

  4. [Certificate] セクションで、 をクリックします。

  5. [Browse] をクリックし、ローカル ディレクトリにある証明書を選択します。

  6. [Open] をクリックして新しい証明書をアップロードします。
    [Certificate] の各フィールドが更新され、選択した証明書の情報が反映されます。

  7. 証明書が有効で、期限切れになっていないことを確認します。

  8. [Save] をクリックします。

x509 証明書を PEM 形式に変換する

x509 証明書をダウンロードした場合は、PEM 形式に変換する必要があります。

x509 証明書を PEM 形式に変換するには:

  1. SAML ID プロバイダのメタデータ ファイルから ds:X509Certificate element の内容をコピーし、任意のテキスト エディタに貼り付けます。
  2. ファイルの先頭に次の行を追加します。
    -----BEGIN CERTIFICATE-----
  3. ファイルの末尾に次の行を追加します。
    -----END CERTIFICATE-----
  4. .pem 拡張子を使用してファイルを保存します。

次に、PEM ファイルの内容の例を示します。

-----BEGIN CERTIFICATE-----
    MIICMzCCAZygAwIBAgIJALiPnVsvq8dsMA0GCSqGSIb3DQEBBQUAMFMxCzAJBgNV
    BAYTAlVTMQwwCgYDVQQIEwNmb28xDDAKBgNVBAcTA2ZvbzEMMAoGA1UEChMDZm9v
    MQwwCgYDVQQLEwNmb28xDDAKBgNVBAMTA2ZvbzAeFw0xMzAzMTkxNTQwMTlaFw0x
    ODAzMTgxNTQwMTlaMFMxCzAJBgNVBAYTAlVTMQwwCgYDVQQIEwNmb28xDDAKBgNV
    BAcTA2ZvbzEMMAoGA1UEChMDZm9vMQwwCgYDVQQLEwNmb28xDDAKBgNVBAMTA2Zv
    bzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAzdGfxi9CNbMf1UUcvDQh7MYB
    OveIHyc0E0KIbhjK5FkCBU4CiZrbfHagaW7ZEcN0tt3EvpbOMxxc/ZQU2WN/s/wP
    xph0pSfsfFsTKM4RhTWD2v4fgk+xZiKd1p0+L4hTtpwnEw0uXRVd0ki6muwV5y/P
    +5FHUeldq+pgTcgzuK8CAwEAAaMPMA0wCwYDVR0PBAQDAgLkMA0GCSqGSIb3DQEB
    BQUAA4GBAJiDAAtY0mQQeuxWdzLRzXmjvdSuL9GoyT3BF/jSnpxz5/58dba8pWen
    v3pj4P3w5DoOso0rzkZy2jEsEitlVM2mLSbQpMM+MUVQCQoiG6W9xuCFuxSrwPIS
    pAqEAuV4DNoxQKKWmhVv+J0ptMWD25Pnpxeq5sXzghfJnslJlQND
    -----END CERTIFICATE-----
    

Edge 組織を ID ゾーンに接続する

Edge 組織を ID ゾーンに接続するには:

  1. [Edge SSO Zone Administration] ページにアクセスします
  2. [Organization mapping] セクションで、ゾーンに割り当てる組織に関連付けられた [ID ゾーン] プルダウン メニューから、ID ゾーンを選択します。
    組織に対して基本認証を有効にするには、[None(Apigee default)] を選択します。
  3. [Confirm] をクリックして変更を確定します。

ID ゾーンを使用して組織にアクセスする

Edge UI へのアクセスに使用する URL は、ID ゾーンの名前で定義されます。

https://zonename.apigee.com

同様に、次に示す URL を使用して Classic Edge UI にアクセスします。

https://zonename.enterprise.apigee.com

たとえば、Acme Inc. が SAML を使用し、ゾーン名として「acme」を選択したとします。この場合、Acme Inc. の顧客は次の URL で Edge UI にアクセスします。

https://acme.apigee.com

ゾーンにより、SAML をサポートする Edge 組織が識別されます。たとえば、Acme Inc. に OrgA、OrgB、OrgC という 3 つの組織があるとします。Acme では、すべての組織を SAML ゾーンに追加することも、サブセットのみを追加することもできます。追加しなかった組織は、引き続き Basic 認証を使用するか、Basic 認証の認証情報から生成された OAuth2 トークンを使用します。

複数の ID ゾーンを定義できます。すべてのゾーンが同じ ID プロバイダを使用するように構成できます。

たとえば、Acme では、OrgAProd と OrgBProd を含む本番環境ゾーン「acme-prod」と、OrgATest、OrgBTest、OrgADev、OrgBDev を含むテストゾーン「acme-test」を定義できます。

そうすれば、次の URL を使用して異なるゾーンにアクセスできます。

https://acme-prod.apigee.com
    https://acme-test.apigee.com

Edge ユーザーを SAML 認証に登録する

組織に対して SAML を有効にしたら、組織に登録されていない SAML ユーザーを登録する必要があります。詳しくは、組織ユーザーを管理するをご覧ください。

OAuth2 のアクセス トークンを渡すようにスクリプトを更新する

SAML を有効にした後は、Edge API に対して Basic 認証が無効になります。Basic 認証をサポートする Edge API 呼び出しに依存するすべてのスクリプト(Maven スクリプト、シェル スクリプト、apigeetool など)は機能しなくなります。そのため、Basic 認証を使用して署名なしヘッダーで OAuth2 アクセス トークンを渡す API 呼び出しとスクリプトをすべて更新する必要があります。詳しくは、SAML を Edge API で使用するをご覧ください。

ID ゾーンを削除する

ID ゾーンを削除するには:

  1. [Edge SSO Zone Administration] ページにアクセスします
  2. 削除する ID ゾーンの行にカーソルを合わせて、操作メニューを表示します。
  3. をクリックします。
  4. [Delete] をクリックして削除操作を確認します。

Edge SSO Zone Administration ページからログアウトする

組織外の Edge ID ゾーンを管理するために、[Edge SSO Zone Administration] ページからログアウトして、Apigee Edge のその他の機能にアクセスできるようにする組織にログインします。