APIGWの認証設定の方法

 2022.10.24  柳瀨正之

以前にサーバレスAPI環境の構築、APIの開発に関する記事を上げました。

以前の記事についてはこちら
■Fn Projectを使用したAPI開発
https://cloudsolution.terilogy.com/blog/fnproject_for_api

今回は前回開発したAPIを外部へ公開するために認証の設定を行います。

この記事では認証を使用するアプリケーションとしてOCMを使用していますので、OCM以外のアプリケーションを利用する場合は、OCMの作成は飛ばしてください。

 

OCMの作成

左上のハンバーガーメニューで開発者サービス(コンテンツ管理)インスタンスを選択してコンテンツ管理インスタンスの画面を表示させます。(※1)

表示された画面のインスタンスの作成をクリックしOCMの作成画面に移動します。(※2)

OCMの作成画面では名前のみを入力しインスタンスの作成ボタンでOCMの作成を完了します。

これでOCMの作成は完了です。

 

※1 コンテンツ管理インスタンスの画面

01_コンテンツ管理インスタンスの画面

※2 OCMの作成画面

02_OCMの作成画面

 

ドメインの設定変更

次にドメインが証明書にアクセスできるようにドメインの設定を変更します。

左上のハンバーガーメニューでアイデンティティとセキュリティドメインを選択して、ドメインの一覧画面へ移動して、対象のドメインを選択します。

左側の設定をクリックしてドメインの設定画面を表示します。(※3)

 

※3 ドメインの設定画面

03_ドメインの設定画面

表示された画面のクライアント・アクセスの構成をチェックします。

これでアイデンティティドメインの設定は完了です。

続いて認証を使用するアプリケーションの登録を行います。

 

ドメインのアプリケーションの設定

認証を利用するアプリケーションを登録します。

アプリケーションの登録は、アプリケーションを登録するドメインの詳細画面の左側のメニューのアプリケーションから行います。(※4)

 

※4 ドメインの詳細画面

04_ドメインの詳細画面

 

アプリケーションの追加をクリックするとアプリケーションの種類を選択する画面が表示されるので、機密アプリケーションを選択してワークフローの起動をクリックします。(※5)

 

※5 アプリケーションの追加画面

05_アプリケーションの追加画面

 

ワークフローの画面が表示されますので必要な項目を入力していきます。

ワークフローの1つ目のアプリケーション詳細の追加の画面ではアプリケーションの名前を入力しをクリックします。(※6)

 

※6 アプリケーション詳細の追加

06_アプリケーション詳細の追加

次の画面“OAuthの構成の画面ではクライアント構成このアプリケーションをクライアントとして今すぐ構成しますを選択し、認可のところではクライアント資格証明を選択します。(※7-1)

 

※7-OAuthの構成

07-1_OAuthの構成

次に画面を下にスクロールしてスコープとアプリケーション・ロールの設定を行います。(※7-2)

 

※7-2 機密アプリケーションの追加画面

07-2_OAuthの構成

“スコープの追加を選択しスコープの追加のボタンをクリックします。

表示された画面で①OCMの作成で作成したOCMを選択し追加をクリックします。(※8)

 

※8 スコープの追加画面

08_スコープの追加画面

次にアプリケーション・ロールの追加ロールの追加のボタンをクリックします。

表示された画面で Identity Domain Administrator”を選択し追加をクリックします。(※9)

 

※9 ロールの追加画面

09_ロールの追加画面

これでOAuthを利用する設定は完了です。

完了後、作成したアプリケーションの詳細画面に表示されているクライアントID”クライアント・シークレットID”を確認します。(※10)

 

※10 クライアントID”クライアント・シークレットID”

10_”クライアントID”と”クライアント・シークレットID”

 

API GWの設定

最後に構築時に設定したAPIゲートウェイがOAuth認証を行えるようにします。

構築の際に作成したAPIゲートウェイの画面からOAuthを行うデプロイメントの設定編集画面を開き、”APIリクエスト・ポリシーの下にある認証追加をクリックし認証ポリシーの設定画面を表示します。(※11)

 

※11 認証ポリシー設定画面

11_認証ポリシー設定画面

 

この画面では以下を登録します。

認証タイプ :JWT
認証トークン :ヘッダー
ヘッダー名 :Authorization
認証スキーム :Bearer
発行者 :https://identity.oraclecloud.com/
オーディエンス :”③ドメインのアプリケーションの設定”で設定したOCMのURL
公開キー
 タイプ :リモートJWKS
 URI :https://ドメインのURL/admin/v1/SigningCert/jwk
(ドメインのURLはドメインの画面で確認)

 

入力が完了したら変更の適用で設定を保存します。

以上で認証に関する設定は完了です。

--

 

後はhttps://IDCSURL/oauth2/v1/tokenからトークンを取得して、構築の最後に実行したcurlコマンドに値に取得したトークンをセットしたAuthorizationヘッダーを付与して実行すれば認証は通過できると思います。

 

テリロジーではOCIを利用した開発も行っていますので、興味がある方はご連絡ください。

最後までお付き合いいただきありがとうございました。


RECENT POST「Oracle Cloud : OCI」の最新記事


Oracle Cloud : OCI

【祝】オルバヘルスケアホールディングス株式会社にOCVSを導入させて頂きました!

Oracle Cloud : OCI

Sumologicで目にするOpen Telemetry Collectorとは(中編)

Oracle Cloud : OCI

Sumo Logic アカウントを持っていないユーザへのダッシュボードの共有方法は?

Oracle Cloud : OCI

Sumo Logic ダッシュボードやフォルダ共有について

APIGWの認証設定の方法