Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OCI IAM Identity Domains OpenID Connect認証連携設定(基...
Search
oracle4engineer
PRO
June 05, 2023
Technology
1
1.2k
OCI IAM Identity Domains OpenID Connect認証連携設定(基本編)/Identity Domain OpenID Connect(Basic)
OCI IAM Identity DomainとOpenID Connect対応アプリケーションにてOpenID Connectによる認証連携を行うための設定手順(Basic編)になります。
oracle4engineer
PRO
June 05, 2023
Tweet
Share
More Decks by oracle4engineer
See All by oracle4engineer
OCI IAM Identity Domain_アイデンティティドメインの追加とタイプ変更/Create Identity Domain and Change Type
oracle4engineer
PRO
0
19
OCI IAM Identity Domains CSVファイルによるユーザーとグループのインポート / Identity Domain Importing Using CSV file
oracle4engineer
PRO
0
13
【Oracle Cloud ウェビナー】AzureでもGoogle CloudでもAWSでも、Oracle DatabaseがPaaSで手軽に使える。マルチクラウド・データベースの始め方。
oracle4engineer
PRO
1
45
【Oracle Cloud ウェビナー】[入門編] Oracleで始めるリアルタイムデータ連携:AI&Analyticsやマルチクラウドに最適なOCI GoldenGateとは
oracle4engineer
PRO
1
30
Oracle Cloud Infrastructure:2025年7月度サービス・アップデート
oracle4engineer
PRO
1
150
OCI IAM Identity Domain_APEX管理者サイトとの認証連携/Identity Domain for APEX Admin Site
oracle4engineer
PRO
1
35
OCI IAM Identity Domain_パスワードセット後の”サインインへ進む”ボタン非表示/Identity Domain Hidden Continue to Sign In Button
oracle4engineer
PRO
0
54
[TechNight #91] Oracle Database 最新パフォーマンス分析手法
oracle4engineer
PRO
4
400
LLM拡張解体新書/llm-extension-deep-dive
oracle4engineer
PRO
29
9.3k
Other Decks in Technology
See All in Technology
薬屋のひとりごとにみるトラブルシューティング
tomokusaba
0
200
Amazon S3 Vectorsは大規模ベクトル検索を低コスト化するサーバーレスなベクトルデータベースだ #jawsugsaga / S3 Vectors As A Serverless Vector Database
quiver
1
140
家族の思い出を形にする 〜 1秒動画の生成を支えるインフラアーキテクチャ
ojima_h
3
820
Jamf Connect ZTNAとMDMで実現! 金融ベンチャーにおける「デバイストラスト」実例と軌跡 / Kyash Device Trust
rela1470
0
180
いかにして命令の入れ替わりについて心配するのをやめ、メモリモデルを愛するようになったか(改)
nullpo_head
7
2.5k
Amazon Q Developerを活用したアーキテクチャのリファクタリング
k1nakayama
2
200
2025-07-31: GitHub Copilot Agent mode at Vibe Coding Cafe (15min)
chomado
2
390
Google Agentspaceを実際に導入した効果と今後の展望
mixi_engineers
PRO
3
380
リリース2ヶ月で収益化した話
kent_code3
1
220
AIに頼りすぎない新人育成術
cuebic9bic
3
230
Foundation Model × VisionKit で実現するローカル OCR
sansantech
PRO
1
330
UDDのススメ - 拡張版 -
maguroalternative
1
390
Featured
See All Featured
Bash Introduction
62gerente
614
210k
Gamification - CAS2011
davidbonilla
81
5.4k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
BBQ
matthewcrist
89
9.8k
Thoughts on Productivity
jonyablonski
69
4.8k
Building an army of robots
kneath
306
45k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
430
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Docker and Python
trallard
45
3.5k
Making Projects Easy
brettharned
117
6.3k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Transcript
OCI IAM Identity Domains OpenID Connectによる連携設定手順(Basic編) 2025年6月30日 日本オラクル株式会社
Safe harbor statement 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、 情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以 下の事項は、マテリアルやコード、機能を提供することを確約するものではないため、購買 決定を行う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリース、時期及び価格については、弊 社の裁量により決定され、変更される可能性があります。 Copyright
© 2023, Oracle and/or its affiliates 2
はじめに 本手順書により実現する構成イメージ Copyright © 2023, Oracle and/or its affiliates 3
本手順書は下記構成を実現するためのOCI IAM Identity DomainでのOpenID Connectによる連携設定手順書になります。 ※対象のアプリケーション(OpenID Connect対応)は構築済みとの前提となります。 ※対象アプリケーションとIdentity Domainにはユーザーが登録されている前提となります。 OCI IAM Identity Domain OP OpenID Connectによる連携 RP OpenID Connect対応 アプリケーション 利用者 アプリケーションへアクセスすると Identity Domainへリダイレクト 認証 OP:OpenID Provider OP:Relying Party
アジェンダ Copyright © 2023, Oracle and/or its affiliates 4 1.
OpenID Connect連携に必要なOCI IAM Identity Domain側での設定 ~機密アプリケーションの作成~ 2. OpenID Connectのフロー(概要)と利用するREST API概要
1. OpenID Connect連携に必要なOCI IAM Identity Domain側での設定 ~機密アプリケーションの作成~ Copyright © 2023,
Oracle and/or its affiliates 5
OpenID Connect連携に必要なOCI IAM Identity Domain側での設定 ~機密アプリケーションの作成~ Copyright © 2023, Oracle
and/or its affiliates 6 1)OCIコンソール(https://www.oracle.com/jp/cloud/sign-in.html)にアクセスします。 テナント名(クラウド・アカウント名)を入力し「Next」を選択します。 アイデンティティ・ドメインの選択画面が表示される場合には、対象ドメイン(今回は「PoC_IdentityDomain01」)を選択し、 管理者のユーザー名/パスワードを入力しOCIコンソールにログインします。 ※ドメイン選択画面が表示されない環境はDefaultドメインのみ存在する環境になり、自動的に“Defaultドメイン”にログインすることになります。 ※環境によりドメイン選択画面は表示されません。
OpenID Connect連携に必要なOCI IAM Identity Domain側での設定 ~機密アプリケーションの作成~ Copyright © 2023, Oracle
and/or its affiliates 7 2) OCIコンソールにログインした後、画面右上のアバターマークより 「アイデンティティ・ドメイン:{アイデンティティ・ドメイン名} 」を選択します。
OpenID Connect連携に必要なOCI IAM Identity Domain側での設定 ~機密アプリケーションの作成~ Copyright © 2023, Oracle
and/or its affiliates 8 3)アイデンティティ・ドメイン画面にて、メニューより「詳細」を選択します。 詳細部分のドメインURLの「コピー」を選択し控えておきます。 ※このURLは後続の手順で利用します。
OpenID Connect連携に必要なOCI IAM Identity Domain側での設定 ~機密アプリケーションの作成~ Copyright © 2023, Oracle
and/or its affiliates 9 4) メニュー「統合アプリケーション」を選択します。 統合アプリケーション部分にて「アプリケーションの追加」を選択します。 表示されたアプリケーションの追加画面にて「機密アプリケーション」を選択し、「ワークフローの起動」を選択します。
OpenID Connect連携に必要なOCI IAM Identity Domain側での設定 ~機密アプリケーションの作成~ Copyright © 2023, Oracle
and/or its affiliates 10 5)名前、説明に適当な値を指定し、「送信」を選択します。
OpenID Connect連携に必要なOCI IAM Identity Domain側での設定 ~機密アプリケーションの作成~ Copyright © 2023, Oracle
and/or its affiliates 11 6)作成した機密アプリケーション画面にて「OAuth構成」を選択し、「OAuth構成の編集」を選択します。
OpenID Connect連携に必要なOCI IAM Identity Domain側での設定 ~機密アプリケーションの作成~ Copyright © 2023, Oracle
and/or its affiliates 12 7)OAuth構成の編集画面にて、クライアント構成部分の「このアプリケーションをクライアントとして今すぐ構成します」をチェックONにします。
OpenID Connect連携に必要なOCI IAM Identity Domain側での設定 ~機密アプリケーションの作成~ Copyright © 2023, Oracle
and/or its affiliates 13 8)認可部分の権限付与タイプにて「認可コード」をチェックONにします。
OpenID Connect連携に必要なOCI IAM Identity Domain側での設定 ~機密アプリケーションの作成~ Copyright © 2023, Oracle
and/or its affiliates 14 9)同じ画面にて「リダイレクトURL」に認証後にリダイレクトするアプリケーションのURL(アプリケーション側のコールバックURL)を指定します。 ※必要に応じてログアウトURLやログアウト後のリダイレクトURLも指定します。 画面右後部の「送信」を選択します。
OpenID Connect連携に必要なOCI IAM Identity Domain側での設定 ~機密アプリケーションの作成~ Copyright © 2023, Oracle
and/or its affiliates 15 9) 作成した機密アプリケーションの画面に遷移したことを確認し、右上のアクションより「アクティブ化」を選択します。 確認画面でも「アクティブ化」を選択します。
OpenID Connect連携に必要なOCI IAM Identity Domain側での設定 ~機密アプリケーションの作成~ Copyright © 2023, Oracle
and/or its affiliates 16 10)登録した機密アプリケーションがアクティブ化されたことを確認します。 一般情報部分にある「クライアントID」の値をコピーして控えておきます。 また、クライアント・シークレット部分にあるシークレットの表示より「コピー」選択し、クライアント・シークレットも控えておきます。 ※この「クライアントID」と「クライアント・シークレット」は後続のREST APIを利用時に使用します。
2. OpenID Connectのフロー(概要)と利用するREST API概要 Copyright © 2023, Oracle and/or its
affiliates 17
Copyright © 2023, Oracle and/or its affiliates OpenID Connectアプリケーションアクセス時のフロー(概要) 18
ユーザー ブラウザ Identity Domain アプリケーション (OIDC対応) アプリケーションアクセス 認可コード要求 Identity Domainへリダイレクト https://{IdentityDomain URL}/authorize?・・・・ 認証要求 Identity Domainログイン画面 ID/パスワード指定 サインイン押下 認証 認可コード発行 アプリケーションへリダイレクト https://{アプリURL}?code=・・・・ 認可コード取得 IDトークン要求 POST /oauth2/v1/token IDトークン/アクセス・トークン発行 IDトークン検証 ユーザー情報要求 GET /oauth2/v1/userinfo ユーザー情報提供 ログイン処理 アプリケーション画面(ログイン後画面) 必要に応じて 概要2. 概要3. 概要4. 概要5. OpenID Connect構成情報取得 GET /.well-known/openid-configuration 概要1. OpenID Connect構成情報送付 必要に応じて
Copyright © 2023, Oracle and/or its affiliates 利用するREST APIの概要説明 –
概要1. 19 【メソッド】 GET 【エンドポイント】 https://{上記1で控えたIdentity DomainのURL}/.well-known/openid-configuration ・Identity DomainのOpenID Connectの各種エンドポイント等の構成情報を取得する場合には下記REAT APIを利用します。 ユーザー ブラウザ Identity Domain アプリケーション (OIDC対応) OpenID Connect構成情報取得 GET /.well-known/openid-configuration 概要1. OpenID Connect構成情報送付 必要に応じて ⇒レスポンス { "issuer": "https://identity.oraclecloud.com/", "authorization_endpoint": "https://{上記1で控えたIdentity DomainのURL}/oauth2/v1/authorize", "token_endpoint": "https://{上記1で控えたIdentity DomainのURL}/oauth2/v1/token", "userinfo_endpoint": "https://{上記1で控えたIdentity DomainのURL}/oauth2/v1/userinfo", ・・・・・・・・・・・・・・ (参考ドキュメント) https://docs.oracle.com/cd/E83857_01/paas/identity-cloud/rest-api/op-well-known-openid-configuration-get.html
Copyright © 2023, Oracle and/or its affiliates 利用するREST APIの概要説明 –
概要2. 20 ユーザー ブラウザ Identity Domain アプリケーション (OIDC対応) アプリケーションアクセス 認可コード要求 Identity Domainへリダイレクト https://{IdentityDomain URL}/authorize?・・・・ 概要2. https://{上記1で控えたIdentity DomainのURL}/oauth2/v1/authorize? client_id={上記1で作成した機密アプリケーションのクライアントID} &redirect_uri={上記1で作成した機密アプリケーションに指定したリダイレクトURL} &response_type=code &scope=openid ・アプリケーションからの認可コード要求は下記URLをコールします。 (例) https://idcs-d4XXXX0e5.identity.oraclecloud.com/oauth2/v1/authorize?client_id=f65XXXXX872&redirect_uri=http%3A%2F%2Flocalhost%3A3001&response_type=code&scope=openid (注意事項) スコープには必ず”openid"を含めるようにします。 Email情報や電話番号情報も取得したい場合には「scope=openid+email+phone」と指定します。 (参考ドキュメント) https://docs.oracle.com/cd/E83857_01/paas/identity-cloud/rest-api/openidconnectauthcode.html
Copyright © 2023, Oracle and/or its affiliates 利用するREST APIの概要説明 –
概要3. 21 https://{上記1で作成した機密アプリケーションに指定したリダイレクトURL}?code={発行された認可コード} ・Identity Domainでの認証が完了すると、下記のように認可コードが付与された状態で機密アプリケーションに指定した リダイレクトURLに遷移します。 リダイレクト先アプリケーションにて、後続のIDトークン/アクセストークン要求のためこの認可コード(code値)を取得します。 ユーザー ブラウザ Identity Domain アプリケーション (OIDC対応) (参考ドキュメント) https://docs.oracle.com/cd/E83857_01/paas/identity-cloud/rest-api/openidconnectauthcode.html 認可コード発行 アプリケーションへリダイレクト https://{アプリURL}?code=・・・・ 認可コード取得 概要3. (例) https://XXXXXXX:3001?code=AgAgMjNiMDQ・・・・・・・・・・・・・・・T6h2NV1_C5s=
Copyright © 2023, Oracle and/or its affiliates 利用するREST APIの概要説明 –
概要4. 22 【メソッド】 POST 【エンドポイント】 https://{上記1で控えたIdentity DomainのURL}/oauth2/v1/token 【Header】 Content-Type: application/x-www-form-urlencoded Authorization: Basic {上記1にて作成した機密アプリのクライアントID:クライアントシークレットのBase64エンコード値(※1)} 【Body】 grant_type=authorization_code&code={上記の詳細3で取得した認可コード(code値)} ・アプリケーションより、概要3で取得した認可コードをもとにIDトークン/アクセストークンを要求するため下記のREST APIをコールし、 レスポンスよりIDトークン(id_token)やアクセス・トークン(access_token)を取得します。 ユーザー ブラウザ Identity Domain アプリケーション (OIDC対応) IDトークン要求 POST /oauth2/v1/token IDトークン/アクセス・トークン発行 IDトークン検証 概要4. ※1 機密アプリのクライアントID:クライアントシークレットのBase64エンコードの方法については後続ページ参照 ⇒レスポンス { "access_token": "eyJr............Ao8A", "token_type": "Bearer", "id_token": "eyJr............vMZQ", "expires_in": 3600 } (参考ドキュメント) https://docs.oracle.com/cd/E83857_01/paas/identity-cloud/rest-api/openidconnectauthcode.html
Copyright © 2023, Oracle and/or its affiliates 利用するREST APIの概要説明 –
概要4. (補足) 23 IDトークン/アクセストークン取得時に指定する{機密アプリのクライアントID:クライアントシークレットのBase64エンコード値}の生成方法 2) ローカルPC上でコマンドプロンプトを開き、下記コマンドを実行しクライアントID:クライアント・シークレットのBase64でのエンコードを行います。 certutil -encode {上記にて作成したテキストファイル名} {Base64エンコード後のファイル名} 3) Base64エンコードしたファイルを開き値を取得します。 途中に改行がある場合には改行を削除します。 1) テキストエディタにて、上記1にて控えた機密アプリケーションの「クライアントID」と「クライアント・シークレット」をコロンで繋いだ形式で保存します。 ※最後に改行をしないようにします。
Copyright © 2023, Oracle and/or its affiliates 利用するREST APIの概要説明 –
概要5. 24 【メソッド】 GET 【エンドポイント】 https://{上記1で控えたIdentity DomainのURL} /oauth2/v1/userinfo 【Header】 Content-Type: application/x-www-form-urlencoded Authorization: Bearer {上記4にて取得したアクセス・トークン(access_token)} ・アプリケーションより、ログインユーザーの情報を取得するため、概要4で取得したアクセス・トークンを用いて下記のREST APIをコールします。 ユーザー ブラウザ Identity Domain アプリケーション (OIDC対応) ⇒レスポンス { "birthdate": "", "family_name": "test", "gender": "", "given_name": "user001", "name": "user001 test", "preferred_username": "test001", "sub": "test001", "updated_at": 1670827316, "website": "" } (参考ドキュメント) https://docs.oracle.com/cd/E83857_01/paas/identity-cloud/rest-api/openidconnectauthcode.html ユーザー情報要求 GET /oauth2/v1/userinfo ユーザー情報提供 必要に応じて 概要5.
None