IBM Cloud Docs
カスタム

カスタム

認証時にカスタムIDプロバイダを使用することができます。 IBM Cloud® App ID で具体的にサポート対象となっていない、任意の認証メカニズムに準拠した ID プロバイダーを使用できます (専有のものを含む)。

App ID が特定の ID プロバイダーを直接サポートしていない場合、App ID の既存の認証フローと認証プロトコルの間のブリッジとして、カスタム識別フローを使用することができます。 例えば、GitHub または LinkedIn を使用してユーザーにサインインを許可するとします。 ユーザー認証情報を容易に扱えるように ID プロバイダーの既存の SDK を使用してから、その情報をパッケージして App ID と交換することができます。 多くのエンタープライズ・シナリオでは、既存の ID プロバイダーで独自のカスタム認証プロトコルを使用しているとしても、App ID の機能も利用できると便利です。 こうした種類のシナリオで、カスタム ID フローは、ユーザーの資格情報を露出せずにユーザーを安全に認証するための、分離された手段となります。

カスタム ID の構成

以下のステップに従って、App ID と連携するようにカスタム ID プロバイダーを構成できます。

開始前に

App ID とカスタム ID プロバイダーの間の信頼関係を確立するには、最小長 2048 の RSA PEM 鍵ペアが必要です。 実動用に使用する鍵は、必ず安全にバックアップしてください。

鍵の使用方法

  • 秘密鍵は、JWT に署名するためにアプリまたは ID プロバイダーで使用されます。
  • 公開鍵は、ユーザー情報を入れた JWT を検証するために App ID によって使用されます。

Open SSL を使用して RSA PEM 鍵ペアを生成するには、以下のコマンドを実行します。

openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
openssl rsa -pubout -in private_key.pem -out public_key.pem

GUI を使用した構成

  1. IBM Cloud アカウントにサインインし、App ID のインスタンスにナビゲートします。

  2. **「管理」タブで、「カスタム ID プロバイダー (Custom Identity Provider)」「オン」**に設定します。

  3. 公開鍵を App ID に登録します。

    1. **「カスタム ID プロバイダー (Custom Identity Provider)」**タブにナビゲートします。
    2. 公開鍵を**「パブリック・キー」ボックスに貼り付け、「保存」**をクリックします。

API を使用した構成

管理 API エンドポイントへの PUT 要求を行って、鍵を登録します。

Put <managementURI>/config/idps/custom
Content-Type: application/json
{
    isActive: true,
    config: {
        publicKey: Your newline separated (\n) PEM public key
    }
}

構成のテスト

有効な公開鍵を使用して App ID インスタンスを構成した後、サービスで提供されているテスト・アプリケーションを使用して、構成が正しくセットアップされていることを確認することができます。 サンプル・アプリでは、標準サインイン・フローで返される、App ID のアクセス・トークンおよび識別トークンのペイロードを確認できます。

  1. **「カスタム ID プロバイダー (Custom Identity Provider)」タブで、「テスト」**をクリックしてテスト・アプリケーションを開きます。

  2. カスタム ID プロトコルに従い、サンプル JWT を作成します。

  3. この JWT を、**「JSON Web トークン (JSON Web Token)」というラベルが付いたボックスに貼り付け、「テスト」**をクリックしてサンプル認証を実行します。

成功すると、標準のサインイン・フローにおいてアプリケーションで使用可能な、デコードされた App ID の識別トークンとアクセス・トークンを確認できるようになります。

次のステップ

カスタム ID プロバイダーが構成されたので、それをアプリケーションに追加します