すべてのプロダクト
Search
ドキュメントセンター

:OIDC SSO を実装するための ASM セキュリティポリシーの構成

最終更新日:Jan 14, 2025

OpenID Connect(OIDC)は、OAuth 2.0 ベースの ID 認証および認可プロトコルであり、シングルサインオン(SSO)の実装によく使用されます。 サービスメッシュ(ASM)セキュリティポリシーを構成して OIDC SSO を実装すると、Alibaba Cloud Identity as a Service(IDaaS)または OIDC プロトコルに準拠するその他の ID プロバイダー(IdP)から提供される ID 情報を使用して、アプリケーションを変更することなく、複数の関連システムに単一の ID でログオンできます。 これにより、アプリケーションのセキュリティが向上し、アプリケーションの開発と管理が簡素化されます。

前提条件

手順

この例では、Alibaba Cloud IDaaS インスタンスを IdP として使用して、ASM 内のアプリケーションに SSO を実装します。 セルフマネージド OIDC IdP を使用する場合は、Keycloak と ASM を統合して SSO を実装するをご参照ください。

  1. ASM コンソール にログオンします。 左側のナビゲーションペインで、[サービスメッシュ] > [メッシュ管理] を選択します。

  2. [メッシュ管理] ページで、ASM インスタンスの名前をクリックします。 左側のナビゲーションペインで、[メッシュセキュリティセンター] > [asmsecuritypolicy] を選択します。

  3. [asmsecuritypolicy] ページで、[作成] をクリックします。

  4. [asmsecuritypolicy の作成] ダイアログボックスで、[OIDC シングルサインオン] をクリックし、[OK] をクリックします。

  5. 構成ウィザードの [OIDC 構成] ステップで、パラメーターを構成し、[次へ] をクリックします。

    次の表にパラメーターを示します。

    パラメーター

    説明

    ASMSecurityPolicyName

    ASM セキュリティポリシーの名前。 この例では、名前は test-oidc に設定されています。

    リダイレクトアドレス

    次のオプションが用意されています: [ingressgateway IP アドレスを使用] および [カスタムドメイン]。 この例では、[ingressgateway IP アドレスを使用] が選択されています。 [http] および [ingressgateway] が選択されています。

    コールバックアドレス

    リダイレクト URL。

    OIDC 発行者 URL

    OIDC 発行者を識別および認証するために使用される URL。

    クライアント ID

    発行者から提供されるクライアント ID。

    クライアントシークレット

    発行者から提供されるクライアントシークレット。

    Cookie シークレット

    セキュア Cookie のシード文字列。Base64 エンコードできます。

    Cookie の有効期限

    Cookie の有効期間。 この期間が経過すると、Cookie は期限切れになります。 このパラメーターを 0 に設定すると、Cookie は期限切れになりません。

    Cookie の更新間隔

    Cookie が更新される間隔。 このパラメーターを 0 に設定すると、Cookie は更新されません。

    スコープ

    取得できるユーザー情報のタイプ。 指定されたスコープは、発行者によってサポートされている必要があります。

    スコープの設定方法の詳細については、Alibaba Cloud IDaaS と ASM を統合してシングルサインオンを実装するをご参照ください。

    OIDC配置

  6. 構成ウィザードの [ワークロードと一致ルール] ステップで、[ワークロードグループの追加] をクリックします。 [新しいワークロードグループ] ダイアログボックスで、パラメーターを構成し、[OK] をクリックしてから、[送信] をクリックします。

    次の表に、この例のパラメーターの構成方法を示します。

    パラメーター

    説明

    ワークロードグループ名

    パラメーターを test-policy に設定します。

    ワークロードリスト

    前のステップで [リダイレクトアドレス] パラメーターに指定したイングレスゲートウェイがデフォルトで選択されており、変更できません。 他のワークロードを選択する場合は、[OIDC 構成] ステップに戻り、[リダイレクトアドレス] 設定を変更します。

    説明

    [OIDC 構成] ステップで [リダイレクトアドレス] パラメーターを [カスタムドメイン] に設定した場合は、次の手順を実行します。

    1. [新しいワークロードグループ] ダイアログボックスで、[ワークロードの追加] をクリックし、[ゲートウェイスコープ] を選択します。

    2. [ワークロードの選択] ボックスで、追加するワークロードを選択し、添加 アイコンをクリックして選択したワークロードを [選択済み] ボックスに追加し、[OK] をクリックします。

    一致ルールリスト

    次の 2 つの一致モードを使用できます。

    • [一致した場合に認証]: ワークロードにアクセスするには、ユーザーを認証する必要があります。

    • [一致した場合に認証をバイパス]: ワークロードにアクセスするために認証は必要ありません。

    この例では、[一致した場合に認証] を選択します。 [一致ルール] には [カスタム一致ルール] を選択します。 次に、[一致ルールの追加] をクリックし、次のルールを構成します。これらのルールは、/static および /api で始まるパス内のリソースにアクセスするリクエストに OIDC 認証が必要であることを指定します。

    • ルール 1:[パス] スイッチをオンにし、パラメーターを /static/* に設定します。

    • ルール 2:[パス] スイッチをオンにし、パラメーターを /api/* に設定します。

    新建工作负载组

    構成ウィザードの [完了] ステップで、「ASMSecurityPolicy が正常に作成されました」というメッセージが表示され、ASM セキュリティポリシーが作成されたことを示します。 [YAML] をクリックして作成されたリソースを表示するか、[完了] をクリックして [asmsecuritypolicy] ページに戻り、作成されたセキュリティポリシーを表示できます。

  7. OIDC SSO 構成が有効になっているかどうかを確認します。

    1. ブラウザーを開き、次の URL にアクセスします。

      http://${IP address of the ingress gateway}/productpage
      http://${IP address of the ingress gateway}/api/v1/products/1
      http://${IP address of the ingress gateway}/static/jquery.min.js 

      次の結果は、OIDC SSO 構成が有効になっていることを示しています。

      • /productpage で始まるパスにアクセスするリクエストは、認証なしで許可されます。以productpage开头

      • /api および /static で始まるパスにアクセスするリクエストには、認証が必要です。以/api/开头的请求的访问结果

    2. OIDC SSO 構成を変更します。

      1. [asmsecuritypolicy] ページで、変更する OIDC SSO セキュリティポリシーを見つけ、[アクション] 列の [編集] をクリックします。

      2. 構成ウィザードの [OIDC 構成] ステップで、[次へ] をクリックします。

      3. [ワークロードと一致ルール] ステップで、変更するワークロードグループを見つけ、[オペレーター] 列の [編集] をクリックします。 パラメーター設定を変更し、[OK] をクリックしてから、[送信] をクリックします。

        次の表に、この例のパラメーター設定の変更方法を示します。

        パラメーター

        説明

        一致モード

        [一致した場合に認証をバイパス] を選択します。

        一致ルール

        [一致ルールの追加] をクリックし、次のルールを構成します。これらのルールは、/productpage および /static で始まるパスにアクセスするリクエストが OIDC 認証なしで許可されることを指定します。

        • ルール 1:[パス] スイッチをオンにし、パラメーターを /productpage に設定します。

        • ルール 2:[パス] スイッチをオンにし、パラメーターを /static/* に設定します。

    3. シークレットモードでブラウザーを開き、次の URL にアクセスします。

      http://${IP address of the ingress gateway}/productpage
      http://${IP address of the ingress gateway}/api/v1/products/1
      http://${IP address of the ingress gateway}/static/jquery.min.js 

      次の結果は、新しい OIDC SSO 構成が有効になっていることを示しています。

      • /productpage および /static で始まるパスにアクセスするリクエストは、認証なしで許可されます。

      • /api で始まるパスにアクセスするリクエストには、認証が必要です。

関連情報

  • API 操作、シークレットローテーション、IDaaS でサポートされている OIDC 付処理タイプ、IDaaS での構成、アプリケーションでの構成など、OIDC アプリケーションの構成項目の詳細については、一般的な構成SSO の構成OIDC SSO 構成、および OIDC id_token 拡張フィールドのルール をご参照ください。

  • IDaaS を利用した SSO を使用してアプリケーションにログオンしているユーザーがログアウトする場合、アプリケーションでグローバルログアウトを開始して、アプリケーションセッションとプライマリ IDaaS ログオンセッションを終了できます。 詳細については、SLO をご参照ください。