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)フェデレーションおよびクロスドメイン・アイデンティティ管理(SCIM) 2.0接続用のシステムを設定することで、OCI IAMをJumpCloudと統合できる例を示します。

さらに、SSOが確立され、アイデンティティが同期された後、OCI IAMポリシーを定義して、様々なOCIリソースに対するアクセス制御を設定できます。詳細は、ポリシーの開始およびタグ・ベースのOracle Cloud Infrastructure Identity and Access Managementポリシーの詳細説明を参照してください。
ノート:このチュートリアルは、IDドメインのあるOCI IAMに固有です。
目的
-
アクセス管理用のSAMLベースのSSOを設定します。
-
アイデンティティ管理のためのSCIM 2.0プロビジョニングを設定します。
-
テストおよび検証。
前提条件
-
OCIテナンシへのアクセス。詳細は、Oracle Cloud Infrastructure Free Tierを参照してください
-
OCI IAMアイデンティティ・ドメインのアイデンティティ・ドメイン管理者ロール。詳細は、管理者ロールの理解を参照してください
-
JumpCloud組織
-
JumpCloud組織内の管理者ロール
ノート: JumpCloud統合でOCI製品を使用しているときに、ユーザー作成/更新アクションに不整合があることに気づきました。したがって、このチュートリアルでは、かわりにカスタム・アプリケーションを使用します。
セクション1: アクセス管理用のSAMLベースSSOの設定
JumpCloud acts as the identity provider (IdP), authenticating users and passing authentication tokens securely to OCI IAM, which functions as the service provider (SP). SAMLフェデレーションを設定するには、メタデータを両方のパーティで交換する必要があります。
タスク1.1: OCI IAMからのサービス・プロバイダ・メタデータの取得
OCI IAMアイデンティティ・ドメインからのSPメタデータが最初にエクスポートされます。
-
ブラウザ・タブを開き、URL
https://cloud.oracle.comを入力します。 -
「クラウド・アカウント名」(テナンシ名とも呼ばれる)を入力し、「次」をクリックします。
-
サインインするアイデンティティ・ドメインを選択します。これは、SSOの構成に使用されるアイデンティティ・ドメインです(
Defaultなど)。 -
OCIコンソールにログインするための管理者資格証明を入力します。
-
「アイデンティティとセキュリティ」に移動し、「アイデンティティ」で「ドメイン」をクリックします。

-
アイデンティティ・ドメイン名をクリックします。ドメインが表示されない場合は、コンパートメントを変更して適切なドメインを見つけます。

-
「セキュリティ」で、「アイデンティティ・プロバイダ」および「SAMLメタデータのエクスポート」をクリックします。

-
「メタデータ・ファイル」を選択します。「自己署名証明書を含むメタデータ」で、「XMLのダウンロード」をクリックし、このXMLファイルをコンピュータでローカルに保存します。これはSPメタデータです。

タスク1.2: SSOアプリケーションの作成
OCIコンソールを表すSSOアプリケーションを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ポリシーに追加」の順にクリックします。

ノート:すぐに使用できるデフォルトのIdPポリシーは、関連付けられたアプリケーションがないドメイン内に1つのみ存在します。これは基本的に、すべてのアプリケーションが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([Text.Encoding]::UTF8.GetBytes("<clientID>:<clientsecret>”)) -
MacOSの場合は、ターミナルを使用して次のコマンドを実行します。
echo -n <clientID>:<clientsecret> | base64シークレット・トークンが返されます。たとえば:
echo -n 392357752xxxx7523923457437:3454-9853-7843-3554 | base64 Nk0NzUyMzxxxxxxxxxxxxxxxMzMtNTQzNC05ODc4LTUzNQ==

-
-
シークレット・トークンを書き留めます。
タスク2.2: OCI IAM GUIDの検索
SCIMエンドポイントの詳細は、クライアントがAPIコールを行うために必要です。
-
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が機能するには、SSOユーザー・アカウントがOCI IAMとJumpCloudの両方に存在する必要があります。
最後に、同期されたアイデンティティが検証され、フェデレーテッド認証がテストされます。
-
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-02