ノート:
- このチュートリアルでは、Oracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときに、これらの値をクラウド環境に固有の値に置き換えます。
OCI IAMとJumpCloud間のシングル・サインオンおよびユーザー・プロビジョニングの設定
イントロダクション
Oracle Cloud Infrastructure Identity and Access Management (OCI IAM)とJumpCloudの間にシングル・サインオン(SSO)を設定することで、OCI管理者は、JumpCloud資格証明を使用してOCIコンソールにシームレスにログインできます。また、RESTful APIを介したユーザー・プロビジョニングにより、JumpCloudからOCIへのリアルタイムのユーザー同期を実現できます。
このチュートリアルでは、Security Assertion Markup Language (SAML)フェデレーションとSystem for Cross-domain Identity Management (SCIM) 2.0接続を設定することで、OCI IAMをJumpCloudと統合する方法を説明します。
さらに、SSOが確立され、アイデンティティが同期されると、OCI IAMポリシーを定義して、様々なOCIリソースに対するアクセス制御を設定できます。詳細は、ポリシーの開始およびタグ・ベースのOracle Cloud Infrastructure Identity and Access Managementポリシーの詳細を参照してください。
ノート:このチュートリアルは、アイデンティティ・ドメインのあるOCI IAMに固有です。
目的
-
アクセス管理用のSAMLベースのSSOを設定します。
-
アイデンティティ管理用のSCIM 2.0プロビジョニングを設定します。
-
テストして検証します。
前提条件
-
OCIテナンシへのアクセス。詳細は、Oracle Cloud Infrastructure Free Tierを参照してください。
-
OCI IAMアイデンティティ・ドメインのアイデンティティ・ドメイン管理者ロール。詳細は、管理者ロールの理解を参照してください。
-
JumpCloud組織。
-
JumpCloud組織内の管理者ロール。
ノート: JumpCloud統合でOCIオファリングを使用しているときに、ユーザーの作成/更新アクションに矛盾があることに気付きました。したがって、このチュートリアルでは、かわりにカスタム・アプリケーションを使用します。
セクション1: Access Management用のSAMLベースのSSOの設定
JumpCloudは、アイデンティティ・プロバイダ(IdP)として機能し、ユーザーを認証し、認証トークンをOCI IAMに安全に渡します。OCIは、サービス・プロバイダ(SP)として機能します。SAMLフェデレーションを設定するには、メタデータを両者が交換する必要があります。
タスク1.1: OCI IAMからのサービス・プロバイダ・メタデータの取得
OCI IAMアイデンティティ・ドメインからのSPメタデータが最初にエクスポートされます。
-
ブラウザ・タブを開き、URL
https://cloud.oracle.com
を入力します。 -
クラウド・アカウント名(テナンシ名とも呼ばれる)を入力し、「次」をクリックします。
-
サインインするアイデンティティ・ドメインを選択します。これは、SSOの構成に使用されるアイデンティティ・ドメインです(
Default
など)。 -
管理者資格証明を入力して、OCIコンソールにログインします。
-
「アイデンティティとセキュリティ」、「アイデンティティ」の順にナビゲートし、「ドメイン」をクリックします。
-
アイデンティティ・ドメインの名前をクリックします。ドメインが表示されない場合は、コンパートメントを変更して適切なドメインを見つけます。
-
「セキュリティ」、「アイデンティティ・プロバイダ」および「SAMLメタデータのエクスポート」をクリックします。
-
「メタデータ・ファイル」を選択します。「自己署名証明書を含むメタデータ」で、「XMLのダウンロード」をクリックし、このXMLファイルをコンピュータにローカルに保存します(これはSPメタデータです)。
タスク1.2: SSOアプリケーションの作成
SSOアプリケーションは、OCIコンソールを表すためにJumpCloudポータルに作成されます。
-
ブラウザで、URL
https://console.jumpcloud.com/login
を使用してJumpCloudポータルにサインインします。 -
「ユーザー認証」で、「SSOアプリケーション」を選択し、「スタート・ガイド」をクリックします。
-
「カスタム・アプリケーション」で、「選択」、「次へ」の順にクリックします。
-
「シングル・サインオン(SSO)」、「SAMLを使用したSSOの構成」の順に選択します。「このアプリケーションへのユーザーのエクスポート(Identity Management)」を選択し、「次へ」をクリックします。
-
「ラベルの表示」の下に名前を入力し(たとえば、
OCI Console
)、「アプリケーションの保存」をクリックします。次に、「アプリケーションの構成」をクリックします。
タスク1.3: SSOアプリケーションの構成
新しく作成したカスタム・アプリケーションでSSO構成が必要です。
-
「SSO」タブの「サービス・プロバイダ・メタデータ」で、「メタデータのアップロード」をクリックし、タスク1.1.8に保存されているSPメタデータ・ファイルを選択します。
-
SPエンティティIDおよびACS URLが自動移入されると、XMLファイルは正しく解析されました。
JumpCloudメタデータで、「メタデータのエクスポート」をクリックし、このXMLファイルをコンピュータにローカルに保存します。これはIdPメタデータです。完了したら、「保存」をクリックします。
タスク1.4: OCI IAMのIdPとしてのJumpCloudの有効化
JumpCloudを表す新しいIdPが作成されます。完了すると、SSO認証を有効にするためにIdPポリシーが設定されます。
-
OCIコンソールで、ドメインに移動し、「セキュリティ」を選択して「アイデンティティ・プロバイダ」をクリックします。
-
「IdPの追加」を選択し、「SAML IdPの追加」をクリックします。
-
SAML IdPの「名前」(たとえば、
JumpCloud
)を入力し、「次へ」をクリックします。 -
「IdPメタデータのインポート」を選択します。「アイデンティティ・プロバイダ・メタデータのアップロード」で、タスク1.3.2からIdPメタデータをアップロードし、「次へ」をクリックします。
-
「ユーザー・アイデンティティのマップ」で、次の情報を入力し、「次」をクリックします。
- リクエストされたNameID形式: 「なし」を選択します。
- アイデンティティ・プロバイダ・ユーザー属性: 「SAMLアサーションName ID」を選択します。
- アイデンティティ・ドメイン・ユーザー属性: 「ユーザー名」を選択します。
-
「確認および作成」で、構成を確認し、「IdPの作成」をクリックします。
-
「アクティブ化」、「IdPポリシーに追加」の順にクリックします。
ノート:アプリケーションが関連付けられていないドメインには、デフォルトで1つのデフォルトIdPポリシーのみが存在します。これは基本的に、すべてのアプリケーションがOCIコンソールを含むこのポリシーの範囲内にあることを意味します。ドメインに、特定のアプリケーションを個別にターゲットとするカスタムIdPポリシーがある場合は、必要に応じてルールを追加してOCIコンソールをターゲットにしてください。構成の誤りによってロックアウトが発生する可能性があるため、注意してください。
-
「IdPポリシーの作成」をクリックします。
-
「ポリシーの追加」で、「名前」(
OCI Console
など)を入力し、「ポリシーの追加」をクリックします。 -
「アイデンティティ・プロバイダ・ルールの追加」で、「IdPルールの追加」をクリックし、「ルール名」を入力します。たとえば、
OCI Console access rule
です。「アイデンティティ・プロバイダの割当て」で、「ユーザー名- パスワード」およびJumpCloudを選択します。完了したら、「IdPルールの追加」、「次へ」の順にクリックします。
ノート:ローカル認証を保持するために、「ユーザー名- パスワード」オプションが追加されています。これにより、フェデレーション設定に問題が発生した場合にロックアウトが回避されます。
-
「アプリケーションの追加」をクリックし、リストから「OCIコンソール」を検索して選択します。「アプリケーションの追加」、「閉じる」の順にクリックします。
セクション2: SCIM 2.0ベースのユーザー・プロビジョニングの設定
ユーザー・ライフサイクル管理は、JumpCloudとOCI IAMの間に構成されます。ここで、JumpCloudはアイデンティティ・ストアとして機能します。ダウンストリームのプロビジョニングを目的とするすべてのユーザーに、次の属性に対して適切な値が移入されていることを確認します。
- 名
- 姓
- 会社Eメール
- 名前の表示
- 勤務先国
- 勤務先市区町村(現地)
- 作業状態(リージョン)
- 勤務先住所
- 郵便番号
ノート: 「会社Eメール」とユーザー名のマッピングにより、SAML Subject/NameIDの一貫性が確保され、SSOが機能するために必要です。たとえば次のようにします。
<saml2:Subject><saml2:NameID Format="urn:oasis:names:tc:SAML:1.0:nameid-format:unspecified">XXX+test4@oracle.com</saml2:NameID>
タスク2.1: OCI IAMでの機密アプリケーションの作成およびシークレット・トークンの生成
OAuth 2.0クライアントがOCI IAMに登録されます。適切なフローが有効になり、権限が付与されます。このクライアントの資格証明が収集されます。
-
OCIコンソールに移動し、「ドメイン」に移動して、セクション1で使用されたドメインを選択します。
-
「統合アプリケーション」に移動し、「アプリケーションの追加」、「機密アプリケーション」の順に選択し、「ワークフローの起動」をクリックします。
-
機密アプリケーションの「名前」(たとえば、
SCIMclient
)を入力し、「次へ」をクリックします。 -
「クライアント構成」セクションで、「このアプリケーションをクライアントとして今すぐ構成」を選択し、「認可」で「クライアント資格証明」を選択します。
-
「アプリケーション・ロールの追加」、「ロールの追加」の順に選択します。「アプリケーション・ロールの追加」ページで「ユーザー管理者」を選択し、「追加」をクリックします。
-
「次へ」→「終了」をクリックします。
-
「アクティブ化」をクリックして新しいアプリケーションをアクティブ化します。
-
「一般情報」セクションで、「クライアントID」および「クライアント・シークレット」に注意し、「シークレットの表示」を選択してプレーン・テキストを表示します。
-
このシークレット・トークンは、clientIDおよびclientsecretのbase64エンコーディングです。
-
Windowsの場合は、PowerShellを開き、次のコマンドを実行してbase64エンコーディングを生成します。
[Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes('client_id:secret'))
-
MacOSの場合は、ターミナルを使用して次のコマンドを実行します。
echo -n <clientID>:<clientsecret> | base64
シークレット・トークンが返されます。たとえば次のようにします。
echo -n 392357752xxxx7523923457437:3454-9853-7843-3554 | base64 Nk0NzUyMzxxxxxxxxxxxxxxxMzMtNTQzNC05ODc4LTUzNQ==
-
-
シクトークンをメモします。
タスク2.2: OCI IAM GUIDの検索
クライアントがAPIコールを実行するには、SCIMエンドポイントの詳細が必要です。
-
OCIコンソールに移動し、「ドメイン」に移動して、セクション1で使用されたドメインを選択します。
-
「ドメイン情報」の「ドメインURL」の横にある「コピー」を選択し、これをノートにとります。次のように表示されます。
https://<IdentityDomainID>.identity.oraclecloud.com:443
-
URLの最後に
/admin/v1
を追加します。最後のURLは次のようになります。https://<IdentityDomainID>.identity.oraclecloud.com:443/admin/v1
-
URLをメモします。
タスク2.3: JumpCloudアプリケーションでのアイデンティティ管理の構成
JumpCloudに移動し、SCIMエンドポイントおよびOAuth 2.0資格証明が移入されます。
-
タスク1.1.2で作成したSSOアプリケーションを開き、Identity Managementに移動します。
-
次の情報を入力して、「接続のテスト」をクリックします。
- APIタイプ: 「SCIM API」を選択します。
- SCIMバージョン: 「SCIM 2.0」を選択します。
- ベースURL:タスク2.2.4のベースURLを入力します。
- トークン・キー:タスク2.1.10から生成されたシークレット・トークンを入力します。
- テスト・ユーザー電子メール: JumpCloudディレクトリにユーザーの電子メールを入力します。
ノート:接続が成功すると、SCIMユーザー属性カスタマイズが使用可能になります。グループはデフォルトでOCIに同期されますが、これは「グループ管理」をオフにすることで変更できます。
-
「SCIM属性名」で、「+属性の追加」をクリックして、次のイメージに基づいて属性マッピングを作成します。完了したら、「アクティブ化」をクリックします。
-
検証されている接続に関する通知があるはずです。「保存」をクリックします。
タスク2.4: JumpCloudアプリケーションへのグループの割当て
ノート:前提条件として、続行する前に、JumpCloudにOCI管理者のグループを作成します。
現在は、Oracleリソースへのアクセスを必要とするグループがプロビジョニング用に連携されています。
-
SSOアプリケーションを開き、「ユーザー・グループ」タブに移動します。
-
OCIにプロビジョニングする必要があるグループを選択し、「保存」をクリックします。
セクション3: テストと検証
ノート: SSOが機能するには、OCI IAMとJumpCloudの両方にSSOユーザー・アカウントが存在する必要があります。
最後に、同期されたアイデンティティが検証され、フェデレーテッド認証がテストされます。
-
JumpCloudとOCIコンソールの両方でユーザーの1つを開き、詳細が一致することを検証します。
-
同じプロセスを繰り返して、グループが同期されていることを確認します。
ノート:アイデンティティが同期されたので、SSOログインを検証します。
-
新しいブラウザ・ウィンドウで、OCIコンソールを開きます。クラウド・アカウント名(テナンシ名とも呼ばれる)を入力し、「次」をクリックします。
-
JumpCloudフェデレーションが構成されているアイデンティティ・ドメインを選択します。
-
Oracle Cloudアカウントのサインイン・ページで、JumpCloudを選択します。JumpCloudログイン・ページへのリダイレクトがあるはずです。
-
フェデレーテッド・ユーザーのJumpCloud資格証明を入力します。認証に成功すると、OCIコンソールにリダイレクトされます。
まとめ
この統合により、管理者が個別のOCI資格証明を管理し、セキュリティを強化し、アクセス管理を簡素化する必要がなくなります。また、アイデンティティ管理、管理オーバーヘッドの削減、冗長性の排除にも役立ちます。
承認
- 作成者 - Tonmendu Bose (シニア・クラウド・エンジニア)
その他の学習リソース
docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Set up Single Sign-On and User Provisioning between OCI IAM and JumpCloud
G33640-01
Copyright ©2025, Oracle and/or its affiliates.