以前にサーバレス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 コンテンツ管理インスタンスの画面
※2 OCMの作成画面
ドメインの設定変更
次にドメインが証明書にアクセスできるようにドメインの設定を変更します。
左上のハンバーガーメニューで“アイデンティティとセキュリティ” → “ドメイン”を選択して、ドメインの一覧画面へ移動して、対象のドメインを選択します。
左側の”設定”をクリックしてドメインの設定画面を表示します。(※3)
※3 ドメインの設定画面
表示された画面の”クライアント・アクセスの構成”をチェックします。
これでアイデンティティドメインの設定は完了です。
続いて認証を使用するアプリケーションの登録を行います。
ドメインのアプリケーションの設定
認証を利用するアプリケーションを登録します。
アプリケーションの登録は、アプリケーションを登録するドメインの詳細画面の左側のメニューの”アプリケーション”から行います。(※4)
※4 ドメインの詳細画面
アプリケーションの追加をクリックするとアプリケーションの種類を選択する画面が表示されるので、“機密アプリケーション”を選択して”ワークフローの起動”をクリックします。(※5)
※5 アプリケーションの追加画面
ワークフローの画面が表示されますので必要な項目を入力していきます。
ワークフローの1つ目の“アプリケーション詳細の追加”の画面ではアプリケーションの名前を入力し”次”をクリックします。(※6)
※6 アプリケーション詳細の追加
次の画面“OAuthの構成”の画面では”クライアント構成”の”このアプリケーションをクライアントとして今すぐ構成します”を選択し、”認可”のところでは”クライアント資格証明”を選択します。(※7-1)
※7-1 OAuthの構成
次に画面を下にスクロールしてスコープとアプリケーション・ロールの設定を行います。(※7-2)
※7-2 機密アプリケーションの追加画面
“スコープの追加”を選択し”スコープの追加”のボタンをクリックします。
表示された画面で①OCMの作成で作成したOCMを選択し追加をクリックします。(※8)
※8 スコープの追加画面
次に”アプリケーション・ロールの追加” し”ロールの追加”のボタンをクリックします。
表示された画面で” Identity Domain Administrator”を選択し追加をクリックします。(※9)
※9 ロールの追加画面
これでOAuthを利用する設定は完了です。
完了後、作成したアプリケーションの詳細画面に表示されている”クライアントID”と”クライアント・シークレットID”を確認します。(※10)
※10 ”クライアントID”と”クライアント・シークレットID”
API GWの設定
最後に構築時に設定したAPIゲートウェイがOAuth認証を行えるようにします。
構築の際に作成したAPIゲートウェイの画面からOAuthを行うデプロイメントの設定編集画面を開き、”APIリクエスト・ポリシー”の下にある”認証”の”追加”をクリックし”認証ポリシー”の設定画面を表示します。(※11)
※11 認証ポリシー設定画面
この画面では以下を登録します。
認証タイプ :JWT
認証トークン :ヘッダー
ヘッダー名 :Authorization
認証スキーム :Bearer
発行者 :https://identity.oraclecloud.com/
オーディエンス :”③ドメインのアプリケーションの設定”で設定したOCMのURL
公開キー
タイプ :リモートJWKS
URI :https://ドメインのURL/admin/v1/SigningCert/jwk
(ドメインのURLはドメインの画面で確認)
入力が完了したら”変更の適用”で設定を保存します。
以上で認証に関する設定は完了です。
--
後はhttps://IDCSのURL/oauth2/v1/tokenからトークンを取得して、構築の最後に実行したcurlコマンドに値に取得したトークンをセットしたAuthorizationヘッダーを付与して実行すれば認証は通過できると思います。
テリロジーではOCIを利用した開発も行っていますので、興味がある方はご連絡ください。
最後までお付き合いいただきありがとうございました。
- カテゴリ:
- Oracle Cloud : OCI
- 技術情報