JSON Webトークン(JWT)は、JSONオブジェクトの形式でクライアントとサーバー間で安全に情報を送信するために使用されます。送信された情報は、JWTがハッシュベースのメッセージ認証コード(HMAC)アルゴリズム、またはRivest-Shamir-Adleman(RSA)またはElliptic Curve Digital Signature Algorithm(ECDSA)アルゴリズムの公開鍵/秘密鍵ペアを使用して署名できるため、検証および信頼できます。 JWTを使用してユーザーを認証し、アクセス制御を実行できます。
前提条件
JWTの基本的な知識が必要です。詳細については、「JSON Webトークンの概要」をご参照ください。
認可サービスがクラウドネイティブゲートウェイとどのように統合されているかを理解している必要があります。トークンはセキュリティを確保するために認可サービスによって発行され、公開鍵はトークンを検証するためにクラウドネイティブゲートウェイ用に構成されます。
秘密鍵と公開鍵が準備されています。秘密鍵は、認可サービスがトークンを発行するために使用されます。公開鍵は、クラウドネイティブゲートウェイがリクエストに含まれるトークンを検証するために使用されます。
背景情報
クラウドユーザーに体系的なセキュリティソリューションを提供するために、クラウドネイティブゲートウェイはJWTに基づいてAPIへの認可アクセスのためのメカニズムを提供します。このメカニズムを使用して、セキュリティ設定をカスタマイズできます。
トークンベースの認証
クラウドネイティブゲートウェイは、API呼び出しを行うリクエスト元のIDを確認し、リクエスト元に要求されたリソースを返すかどうかを決定します。トークンはID認証に使用されます。トークンが使用される場合、アプリケーションはサーバー側でユーザー認証情報またはセッション情報を保持する必要はありません。これにより、ステートレスで分散型のWebアプリケーション認可が実装され、アプリケーションの拡張が容易になります。
サポートされている統合方法
認証ルールの作成
MSEコンソール にログインします。
左側のナビゲーションペインで、Cloud-Native Gateway > ゲートウェイリスト を選択します。 上部のナビゲーションバーで、リージョンを選択します。
ゲートウェイリスト ページで、ゲートウェイの名前をクリックします。
左側のナビゲーションペインで、Security Management > Global Authentication を選択します。
Global Authentication ページの左上隅にある Create Authentication をクリックします。[認証の作成] パネルで、パラメーターを構成し、OK をクリックします。
パラメーター
説明
Authentication Name
認証の名前を入力します。
Authentication Type
認証タイプを選択します。デフォルトでは、JWTが選択されています。
Issuer
JWTクレームの発行者を入力します。
Sub
JWTクレームのサブジェクトを入力します。
JWKS
JWT公開鍵を入力します。例:
{ "keys":[ { "e":"AQAB", "kid":"DHFbpoIUqrY8t2zpA2qXfCmr5VO5ZEr4RzHU_-envvQ", "kty":"RSA", "n":"xAE7eB6qugXyCAG3yhh7pkDkT65pHymX- P7KfIupjf59vsdo91bSP9C8H07pSAGQO1MV_xFj9VswgsCg4R6otmg5PV2 He95lZdHtOcU5DXIg_pbhLdKXbi66Gl VeK6ABZOUW3WYtnNHD-91gVuoeJT_DwtGGcp4ignkgXfkiEm4sw- 4sfb4qdt5oLbyVpmW6x9cfa7vs2WTfURiCrBoUqgBo_-4WTiULmmHSG ZHOjzwa8WtrtOQGsAFjIbno85jp6MnGGGZ PYZbDAa_b3y5u-YpW7ypZrvD8BgtKVjgtQgZhLAGezMt0ua3D RrWnKqTZ0BJ_EyxOGuHJrLsn00fnMQ" } ] }
JWT Token
JWTトークンを構成します。
タイプ:トークンのタイプ。このパラメーターはデフォルトでHEADERに設定されています。
キー:各トークンが格納されているリクエストヘッダーの名前。
プレフィックス:トークンのプレフィックス。各トークンを検証するために必要なパラメーターを構成します。デフォルトでは、各トークンにはBearerというプレフィックスが付加され、Authorizationヘッダーに格納されます。例:
Authorization: Bearer <Content of a token>
。パススルーを有効にする:このオプションを選択すると、トークンはバックエンドサービスに渡されます。
Authorization
認可方法。有効な値:Whitelist および Blacklist。
ホワイトリスト:ホワイトリストで指定したホストドメイン名とパスを持つリクエストのみが、認証なしでクラウドネイティブゲートウェイにアクセスできます。
ブラックリスト:ブラックリストで指定したホストドメイン名とパスを持つリクエストのみが認証を必要とします。
[+ ルール条件] をクリックして、ホストドメイン名とパスを追加します。
ドメイン名:クラウドネイティブゲートウェイへのアクセスを必要とするホストドメイン名。
パス:クラウドネイティブゲートウェイへのアクセスを必要とするパス。
認証ルールの詳細の表示
MSEコンソール にログインします。
左側のナビゲーションペインで、Cloud-Native Gateway > ゲートウェイリスト を選択します。 上部のナビゲーションバーで、リージョンを選択します。
ゲートウェイリスト ページで、ゲートウェイの名前をクリックします。
左側のナビゲーションペインで、Security Management > Global Authentication を選択します。
Global Authentication ページで、クエリする認証ルールを見つけ、Actions 列の Details をクリックします。表示されるページで、Basic Information セクションと Authentication Configuration セクションの情報、および Authorization Information セクションの情報の表示と管理ができます。
認可ルールを作成するには、Authorization Information セクションの Add Authorization Information をクリックします。[認可情報を追加] ダイアログボックスで、Request Domain Name パラメーターと Request Path パラメーターを構成します。
結果の確認
Global Authentication ページに移動します。認証ルールが作成されている場合、ルールは [グローバル認証] ページに表示されます。
次のステップ
クラウドネイティブゲートウェイの認証ルールに対して、次の操作を実行できます。
認証ルールを有効にする:Global Authentication ページで、管理する認証ルールを見つけ、Actions 列の [有効化] をクリックします。
認証ルールを無効にする:Global Authentication ページで、管理する認証ルールを見つけ、Actions 列の [無効化] をクリックします。
認証ルールを変更する:Global Authentication ページで、管理する認証ルールを見つけ、Actions 列の [編集] をクリックします。
認証ルールを削除する:Global Authentication ページで、管理する認証ルールを見つけ、Actions 列の [削除] をクリックします。
認証ルールは、無効になっている場合にのみ削除できます。
関連情報
他の認証メカニズムの詳細については、「ゲートウェイ認証の概要」をご参照ください。