OpenID Connect(OIDC)プロトコルと企業認証システムの統合により、内部サービスの統合認証と承認管理を実現できます。これにより、調整作業の繰り返しを減らし、認証プロセスを簡素化できます。クラウドネイティブ ゲートウェイは、統合認証を提供し、システム セキュリティを強化し、より柔軟なセキュリティ ポリシー設定を提供します。 OIDC プロトコルとの統合に基づいて、シングルサインオン(SSO)もサポートされています。 SSO を使用して複数のサービスにアクセスできます。
前提条件
標準 OIDC プロトコルをサポートする統合認証サービスが作成されていること。
背景情報
内部サービスへの外部アクセスを制御するために、ゲートウェイは外部リクエストを認証してサービス セキュリティを確保します。通常、企業は自己管理型の統合認証システムを持っています。クラウドネイティブ ゲートウェイは、OIDC プロトコルに基づいて自己管理型認証システムに接続し、接続された内部サービスに統合認証を提供できます。この方法では、各サービスを認証システムに個別に接続する必要はありません。
OIDC 認証
OIDC は認証プロトコルです。このプロトコルに基づいて、サードパーティ アプリケーションは ID プロバイダーに接続してユーザー情報を取得し、ID プロバイダーはアプリケーションに安全に応答を送信します。 OIDC は OAuth2.0 プロトコルを拡張し、拡張 ID トークン フィールドを使用して基本的なユーザー ID 情報を提供します。 ID トークンは JSON Web トークン(JWT)形式でカプセル化され、自己完結型で改ざん防止のメカニズムを提供します。これにより、ID トークンをサードパーティ アプリケーションに安全に送信し、簡単に検証できるようになります。
OIDC では、次のロールが正式に定義されています。
クライアント:エンドユーザーに直接サービスを提供します。
認証サーバー:OpenID プロバイダー。通常は OpenID 認証サーバーです。認証サーバーは、サードパーティに ID トークンを発行します。 ID トークンは認証に使用されます。
ビジネスサーバー:ビジネスサービスを提供します。
エンドユーザー:リソースの所有者。
プロセス:
クライアントは認証リクエストを認証サーバーに送信します。
エンドユーザーはユーザー名とパスワードを使用して認証ページにログインし、認証リクエストを確認します。
認証サーバーは認証リクエストを検証し、クライアントに認証コードを送信します。
クライアントは、認証コードを含むコールバック リクエストをビジネスサーバーに送信します。
ビジネスサーバーは認証サーバーにリクエストを送信します。リクエストには、認証コード、クライアント ID、およびクライアント シークレットが含まれています。
認証サーバーはリクエストを検証し、ID トークンを返します。
認証が成功すると、ビジネスサーバーはクライアントに ID トークンを送信します。
クライアントは ID トークンを含むビジネス リクエストを作成し、ビジネスサーバーに送信します。
ビジネスサーバーは ID トークンを検証し、クライアントにビジネス レスポンスを返します。
クラウドネイティブ ゲートウェイにおける OIDC 認証
上記の OIDC 認証プロセスでは、ユーザーサーバーや注文サーバーなど、複数のビジネスサーバーが存在する場合、各ビジネスサーバーに対して個別に認証を実装する必要があります。たとえば、リクエストを個別に検証する必要があり、各ビジネスサーバーを認証サーバーに接続する必要があります。クラウドネイティブ ゲートウェイの OIDC 認証機能を使用して、統合認証を実装できます。
プロセス:
クライアントは認証リクエストをゲートウェイに送信します。
ゲートウェイはリクエストを認証サーバーに転送します。
認証サーバーは、認証リクエスト内のユーザー名やパスワードなどの認証情報を読み取ってリクエストを検証します。リクエストが検証されると、認証サーバーはゲートウェイに認証コードを返します。
ゲートウェイは、認証コードを含むレスポンスをクライアントに送信します。
クライアントは、認証コードを含むコールバック リクエストをゲートウェイに送信します。
ゲートウェイは認証サーバーにリクエストを送信します。リクエストには、認証コード、クライアント ID、およびクライアント シークレットが含まれています。
認証サーバーはリクエストを検証し、ID トークンを返します。
認証が成功すると、ゲートウェイはクライアントに ID トークンを送信します。
クライアントは ID トークンを含むビジネス リクエストを作成し、ゲートウェイに送信します。
ゲートウェイはビジネス リクエストを検証し、ビジネスサーバーにリクエストを通過させます。
ビジネスサーバーはビジネス リクエストを処理し、ゲートウェイにビジネス レスポンスを送信します。
ゲートウェイはビジネス レスポンスをクライアントに転送します。
認証プロセス全体を通して、クラウドネイティブ ゲートウェイは受信したすべてのリクエストが有効かどうかを確認します。リクエストが無効な場合、ゲートウェイはユーザー ログイン ページにリダイレクトし、ユーザー ログインのリクエストを認証サーバーに送信します。このようにして、認証サーバーはビジネスサーバーに対して透過的になります。
認証ルールの作成
MSE コンソール にログインします。
左側のナビゲーション ペインで、Cloud-Native Gateway > ゲートウェイリスト を選択します。 上部のナビゲーション バーで、リージョンを選択します。
ゲートウェイリスト ページで、ゲートウェイの名前をクリックします。
左側のナビゲーション ペインで、Security Management > Global Authentication を選択します。
表示されるページの左上隅にある [認証の作成] をクリックします。 [認証の作成] パネルで、パラメーターを設定し、[OK] をクリックします。
次の表にパラメーターを示します。
パラメーター
説明
認証名
認証ルール名を入力します。
認証タイプ
OIDC を選択します。
発行者
発行者名を入力します。
リダイレクト URL
認証完了後に使用されるリダイレクト URL を入力します。値は、OIDC で設定されているリダイレクト URL と同じである必要があります。
重要パラメーター値は
http(s)://yourdomain/path形式です。この形式では、path は/oauth2/callbackに設定する必要があります。クライアント ID
サービス登録情報にあるアプリケーションの ID を入力します。
クライアントシークレット
サービス登録情報にあるアプリケーション シークレットを入力します。
Cookie ドメイン
Cookie のドメイン名を入力します。ユーザーが認証を通過した後、Cookie は指定されたドメイン名に送信され、ユーザーのログイン状態が維持されます。たとえば、
Cookie-Domainを a.example.com に設定すると、Cookie はドメイン名 a.example.com に送信されます。Cookie-Domainを .example.com に設定すると、Cookie は example.com のすべてのサブドメイン名に送信されます。スコープ
OIDC スコープを入力します。複数の値はセミコロン(;)で区切ります。
認証
認証方法を選択します。有効な値:ホワイトリスト および ブラックリスト。
ホワイトリスト:ホワイトリストで指定したホスト名とパスを持つリクエストのみが、認証なしでクラウドネイティブ ゲートウェイにアクセスできます。
ブラックリスト:ブラックリストで指定したホスト名とパスを持つリクエストのみが認証を必要とします。
[+ ルール条件] をクリックして、ドメイン名とパスを追加します。
ドメイン名:クラウドネイティブ ゲートウェイへのアクセスを必要とするドメイン名。
パス:クラウドネイティブ ゲートウェイへのアクセスを必要とするパス。
認証ルートの作成
認証ルールを作成した後、認証ルートを作成します。 詳細については、「ルートの作成」をご参照ください。
次のパラメーターを指定します。
ドメイン名:認証ルールの リダイレクト URL のドメイン名を選択します。ドメイン名が設定されていない場合は、* を選択します。
重要HTTPS リクエストの場合、ドメイン名を設定し、ルートに関連付ける必要があります。
パス:ドロップダウン リストから プレフィックス を選択し、フィールドに
/oauth2と入力します。宛先サービス:値を oauth2-proxy に設定します。
OIDC 認証ルールの詳細の表示
MSE コンソール にログインします。
左側のナビゲーション ペインで、Cloud-Native Gateway > ゲートウェイリスト を選択します。 上部のナビゲーション バーで、リージョンを選択します。
ゲートウェイリスト ページで、ゲートウェイの名前をクリックします。
左側のナビゲーション ペインで、Security Management > Global Authentication を選択します。
[グローバル認証] ページで、認証ルール名をクリックするか、[アクション] 列の [詳細] をクリックして、現在の 認証設定 と 認証情報 を表示します。

[認証情報] セクションで、[認証情報の追加] をクリックします。 [認証情報の追加] ダイアログ ボックスで、リクエスト ドメイン名 と リクエスト パス を指定し、一致モード を選択して、[OK] をクリックします。
結果の確認
[グローバル認証] ページに戻り、認証情報を表示します。新しいゲートウェイ認証ルールが表示されている場合、ゲートウェイ認証ルールは正常に作成されています。
次のステップ
クラウドネイティブ ゲートウェイの認証ルールに対して、次の操作を実行できます。
認証ルールの有効化:Global Authentication ページで、管理する認証ルールを見つけ、Actions 列の [有効化] をクリックします。
認証ルールの無効化:Global Authentication ページで、管理する認証ルールを見つけ、Actions 列の [無効化] をクリックします。
認証ルールの変更:Global Authentication ページで、管理する認証ルールを見つけ、Actions 列の [編集] をクリックします。
認証ルールの削除:Global Authentication ページで、管理する認証ルールを見つけ、Actions 列の [削除] をクリックします。
認証ルールは、無効になっている場合にのみ削除できます。
参照
他の認証メカニズムの詳細については、「ゲートウェイ認証の概要」をご参照ください。