Technical Articles
F5 SMEs share good practice.
cancel
Showing results for 
Search instead for 
Did you mean: 
Y_Nabeya
F5 Employee
F5 Employee

BIG-IP APMはOAuth 2.0 Authorization Frameworkにおける役割の中で
Client、Resource Server、Authorization Serverとして動作させることができます。

本投稿では、Authorization Server(以下ASサーバ)とResource Server(以下RSサーバ)にAPMを利用するケースで
その設定などをご紹介します。

前回の記事ではAPMでASサーバを構成し、JWT形式のアクセストークンの取得が可能なことを確認しました。
今回は、作成したASサーバと連携するRSサーバを構成する設定をご紹介します。

RSサーバ設定

1. Provider設定
Access > Federation > OAuth Client / Resource Server > Providerから設定します。

Y_Nabeya_1-1668746975391.png

証明書は適切なものを利用します。
本例ではOpenSSLで作成した自己認証局が署名した自己証明書を使用しています。
また、各種URIはアドレスをASサーバのものに変更します。
特にASサーバで変更していなければURIのパスを変更する必要はありません。

Discoverを選択後問題なければIssuerやKeyなどが表示されます。

Y_Nabeya_2-1668747030674.png

2.JWT Providerを設定
Access > Federation > JSON Web Token > Provider Listから設定します。
作成したProviderを選択してAddします。

Y_Nabeya_3-1668747211724.png

ここまででRSサーバとしての設定は完了です。
次に、VPEを作成していきます。今回はAPI Protection機能を活用して
VPE及びポリシーを作成します。

3.API Protection Profileの作成
Access > API Protection > Profileから設定します。
任意の名前を入力し、AuthorizationにOAuth2.0を選択し追加します。
また、OpenAPIファイルを投入することができます。

Y_Nabeya_4-1668747564213.png

PathsのタブからURIやサーバを作成します。
前項でOpenAPIファイルを投入していない場合はここから手動でパスを作成することができます。

・URIを追加する例

Y_Nabeya_5-1668747629361.png

・サーバ設定

Y_Nabeya_6-1668747835429.png

Access ControlタブのPer Request PolicyでEditを選択するとVPEを編集できます。

Y_Nabeya_7-1668748009019.png
Y_Nabeya_9-1668748026341.png

これまでの設定で上記のような構成が作成されます。
SubroutineポリシーのOAuth Scopeを編集しToken Validation ModeをInternal
JWT Provider Listを作成したものに変更します。

Y_Nabeya_11-1668748196400.png
4. Virtual Serverを設定
Local Traffic > Virtual Servers > Virtual Server List から
RSサーバとして受けるVSを作成し、作成したAPI Protection Profileを適用します。
Y_Nabeya_14-1668748432714.png

以上で設定は完了です。

テスト
前回PostmanでASサーバからアクセストークンを取得できましたのでこちらを利用してアクセスしていきます。
トークンがついていないアクセスや有効期限切れのものも含めてテストします。

・ASサーバからアクセストークンを取得してアクセス
200 OK のステータスとともにアクセスできることを確認できました。

Y_Nabeya_15-1668748943568.png

・アクセストークンをつけずにアクセス
403 Forbiddenのエラーでアクセスできません。

Y_Nabeya_16-1668748968043.png

・有効期限の切れたアクセストークンをつけてアクセス
401 Unauthrizedのエラーでアクセスできません。 

Y_Nabeya_17-1668748979652.png

 

まとめ
ここまででAPMを利用したOAuth AS ・RSの設定は完了です。
これらの構成をご活用いただき、お客様のAPI環境にご利用いただけるかと存じます。

次回はJWTに含まれるClaimの値を利用してレート制限をかける方法についてご紹介します。

 

Version history
Last update:
‎26-Feb-2023 17:55
Updated by:
Contributors