Apigee Developer Services ポータル(略して「ポータル」)は、Apigee Edge のクライアントとして機能します。つまり、ポータルがスタンドアロンのシステムとしては機能しません。その代わりに、ポータルで使用される情報の多くは、実際に Edge に保存されます。ポータルは、必要に応じて Edge から情報を取得したり、Edge に情報を送信したりするためのリクエストを行います。
ポータルは常に 1 つの Edge 組織に関連付けられます。ポータルを構成するときに、ポータルが Edge との通信に使用する組織内のアカウントの基本認証情報(ユーザー名とパスワード)を指定できます。
Edge 認証で SAML や LDAP などの外部 IDP を有効にする場合は、Edge へのリクエスト時にその認証を使用するようにポータルを構成できます。外部 IDP を使用するようにポータルを構成すると、新しいマシン ユーザー アカウントが Edge 組織に自動的に作成され、ポータルはこのアカウントを使用して Edge へのリクエストを行います。マシンユーザーの詳細については、外部 IDP のタスクを自動化するをご覧ください。
ポータルで外部 IDP をサポートするには、Edge Management Server ノードに Apigee SSO モジュールをインストールして構成する必要があります。ポータルで外部 IDP を有効にする一般的なプロセスは次のとおりです。
- Apigee SSO をインストールして構成するの説明に従って、Apigee SSO モジュールをインストールします。
- ポータルをインストールし、インストールが適切に動作していることを確認します。ポータルをインストールするをご覧ください。
- このセクションの説明に従って、ポータルで SAML または LDAP を構成します。
- (省略可)Edge で Basic 認証を無効にするの説明に従って、Edge で Basic 認証を無効にします。
ポータルのマシンユーザーを作成する
外部 IDP が有効になっている場合、Edge では、マシンユーザーを使用した OAuth2 トークンの自動生成がサポートされます。マシンユーザーは、パスコードを指定しなくても OAuth2 トークンを取得できます。つまり、OAuth2 トークンの取得と更新のプロセスを完全に自動化できます。
ポータルの IDP 構成プロセスでは、ポータルに関連付けられた組織にマシンユーザーが自動的に作成されます。ポータルは、このマシン ユーザー アカウントを使用して Edge に接続します。マシンユーザーの詳細については、外部 IDP のタスクを自動化するをご覧ください。
ポータル デベロッパー アカウントの認証について
外部 IDP を使用するようにポータルを構成する場合、ポータルが Edge にリクエストを送信できるように、SAML または LDAP のいずれかを使用して Edge で認証できるようにします。ただし、ポータルでは「デベロッパー」というタイプのユーザーもサポートされています。
開発者は、API を使用してアプリを構築するユーザーのコミュニティを構成します。アプリ デベロッパーはポータルを使用して、API の確認、API を使用するアプリの登録、デベロッパー コミュニティとの交流、アプリの使用状況に関する統計情報のダッシュボードの確認を行います。
デベロッパーがポータルにログインすると、ポータルが、デベロッパーの認証とロールベースの権限の適用を担います。ポータルと Edge 間で IDP 認証を有効にした後も、ポータルではデベロッパーによる Basic 認証が引き続き使用されます。詳細については、ポータルと Edge とのやり取りをご覧ください。
SAML または LDAP を使用してデベロッパーを認証するようにポータルを構成することもできます。サードパーティの Drupal モジュールを使用して SAML を有効にする例については、SAML によるデベロッパー ポータルとの SSO 統合をご覧ください。
ポータルの IDP 構成ファイル
ポータルの外部 IDP を構成するには、ポータルの設定を定義する構成ファイルを作成する必要があります。
次の例は、IDP サポートを含むポータル構成ファイルを示しています。
# IP address of Edge Management Server and the node on which the Apigee SSO module is installed. IP1=22.222.22.222 # URL of Edge management API. MGMT_URL=http://$IP1:8080/v1 # Organization associated with the portal. EDGE_ORG=myorg # Information about the Apigee SSO module (apigee-sso). # Externally accessible IP or DNS of apigee-sso. SSO_PUBLIC_URL_HOSTNAME=$IP1 SSO_PUBLIC_URL_PORT=9099 # Default is http. Set to https if you enabled TLS on apigee-sso. SSO_PUBLIC_URL_SCHEME=http # SSO admin credentials as set when you installed apigee-sso. SSO_ADMIN_NAME=ssoadmin SSO_ADMIN_SECRET=Secret123 # Enables or disables external IDP support. # Default is "n", which disables external IDP support. # Change it to "y" to enable external IDs support. DEVPORTAL_SSO_ENABLED=y # The name of the OAuth2 client used to connect to apigee-sso. # The default client name is portalcli. PORTALCLI_SSO_CLIENT_NAME=portalcli # OAuth client password using uppercase, lowercase, number, and special characters. PORTALCLI_SSO_CLIENT_SECRET=Abcdefg@1 # Email address and user info for the machine user created in the Edge org specified # above by EDGE_ORG. # This account is used by the portal to make requests to Edge. # Add this email as an org admin before configuring the portal to use an external IDP. DEVPORTAL_ADMIN_EMAIL=DevPortal_SAML@google.com DEVPORTAL_ADMIN_FIRSTNAME=DevPortal DEVPORTAL_ADMIN_LASTNAME=SAMLAdmin DEVPORTAL_ADMIN_PWD=Abcdefg@1 # If set, the existing portal OAuth client is deleted and a new one is created. # The default value is "n". # Set to "y" when you configure the external IDP and change the value of # any of the PORTALCLI_* properties. PORTALCLI_SSO_CLIENT_OVERWRITE=y
ポータルで外部 IDP のサポートを有効にするには:
- Edge UI で、
DEVPORTAL_ADMIN_EMAIL
で指定されたマシンユーザーを、ポータルに関連付けられている組織に組織管理者として追加します。 - 次のコマンドを実行して、ポータルで外部 IDP を構成します。
/opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile
ここで、configFile は上記の構成ファイルです。
- ポータル管理者としてポータルにログインします。
- Drupal のメインメニューで、[Configuration] > [Dev Portal] を選択します。外部 IDP の設定を含むポータルの構成画面が表示されます。
次の点にご注意ください。
- [この組織は SAML に対応しています] チェックボックスがオンになっている
- Apigee SSO モジュールのエンドポイントが入力されています。
- ポータル OAuth クライアントの [API キー] フィールドと [コンシューマ シークレット] フィールドに値が入力されています。
- [Test Connection] ボタンの下に「Connection 正常に」というメッセージが表示されます。
- [Test Connection] ボタンをクリックして、いつでも接続を再テストできます。
後でこれらの値を変更するには、構成ファイルを更新して、この手順を再度実行します。
ポータルで外部 IDP を無効にする
ポータルと Edge 間の通信に外部 IDP を無効にすると、ポータルから Edge にリクエストを送信できなくなります。デベロッパーはポータルにログインできますが、プロダクトの表示やアプリの作成はできません。
ポータルで外部 IDP 認証を無効にするには:
- 前に外部 IDP を有効にするときに使用した構成ファイルを開きます。
- 次の例のように、
DEVPORTAL_SSO_ENABLED
プロパティの値をn
に設定します。DEVPORTAL_SSO_ENABLED=n
- 次のコマンドを実行してポータルを構成します。
/opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile