OCIとOkta間のアイデンティティ・ライフサイクル管理
このチュートリアルでは、OktaとOCI IAMの間でユーザー・ライフサイクル管理を構成します。ここで、Oktaは認可アイデンティティ・ストアとして機能します。
この30分間のチュートリアルでは、OktaからOCI IAMにユーザーおよびグループをプロビジョニングする方法を示します。
- OCI IAMで機密アプリケーションを作成します。
- アイデンティティ・ドメインURLを取得し、シークレット・トークンを生成します。
- Oktaでアプリケーションを作成します。
- Oktaの設定を更新します。
- OCI IAMとOktaの間でプロビジョニングが機能することをテストします。
- さらに、方法に関する指示
- ユーザーのフェデレーテッド・ステータスを設定して、外部アイデンティティ・プロバイダによって認証されるようにします。
- アカウントが作成または更新されたときに、ユーザーが通知Eメールを受信しないようにします。
このチュートリアルは、アイデンティティ・ドメインのあるIAMに固有です。
このチュートリアル・セットを実行するには、次のものが必要です:
-
有料Oracle Cloud Infrastructure (OCI)アカウントまたはOCIトライアル・アカウント。Oracle Cloud Infrastructure Free Tierを参照してください。
- OCI IAMアイデンティティ・ドメインのアイデンティティ・ドメイン管理者ロール。管理者ロールの理解を参照してください。
- プロビジョニングを構成するための管理者権限を持つOktaアカウント。
追加情報は、チュートリアルのステップで収集します。
- OCI IAMドメインURL。
- OCI IAMクライアントIDおよびクライアント・シークレット。
OCI IAMで機密アプリケーションを作成し、アクティブ化します。
-
サポートされているブラウザ を開き、コンソールURLを入力します:
- クラウド・アカウント名(テナンシ名とも呼ばれる)を入力し、「次」をクリックします。
- ユーザー名とパスワードでサインインします。
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ドメイン」をクリックします。
- Oktaプロビジョニングを構成するアイデンティティ・ドメインを選択し、「アプリケーション」をクリックします。
- 「アプリケーションの追加」をクリックし、「機密アプリケーション」 を選択して「ワークフローの起動」をクリックします。
- 機密アプリケーションの名前を入力します(OktaClientなど)。次へをクリックします
- 「クライアント構成」で、「このアプリケーションをクライアントとして今すぐ構成します」を選択します。
- 「認可」で、「クライアント資格証明」を選択します。
- 下部までスクロールし、「アプリケーション・ロールの追加」をクリックします。
- 「App Roles」で「Add roles」をクリックし、「Add app roles」ページで「User Administrator」を選択し、「Add」をクリックします。
- 「次」をクリックして、「終了」をクリックします。
- アプリケーションの詳細ページで、「アクティブ化」をクリックし、新しいアプリケーションをアクティブ化することを確認します。
後で作成するOktaアプリケーションの接続設定の一部として使用するには、2つの情報が必要です。
- ブレッドクラムでアイデンティティ・ドメイン名をクリックして、アイデンティティ・ドメインの概要に戻ります。ドメイン情報の「ドメインURL」の横にある「コピー」をクリックし、URLを編集可能なアプリケーションに保存します。
OCI IAM GUIDは、ドメインURLの一部です:
https://<IdentityDomainID>.identity.oraclecloud.com:443/fed/v1/idp/sso
例:
idcs-9ca4f92e3fba2a4f95a4c9772ff3278
- OCI IAMの機密アプリケーションで、「リソース」の下の「OAuth構成」をクリックします。
- 下にスクロールし、「一般情報」の下のクライアントIDおよびクライアント・シークレットをメモします。
- 下にスクロールし、「一般情報」の下の「クライアントID」および「クライアント・シークレット」を見つけます。
- クライアントIDをコピーして格納します
- 「シークレットの表示」をクリックし、シークレットをコピーして格納します。シークレット・トークンは、
<clientID>:<clientsecret>
のbase64エンコーディング、またはbase64(<clientID>:<clientsecret>)
これらの例は、WindowsおよびMacOSでシークレット・トークンを生成する方法を示しています。
Windows環境では、CMDを開き、このpowershellコマンドを使用して、base64エンコーディング
[Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes('client_id:secret'))"
を生成しますMacOSでは、次を使用しますecho -n <clientID>:<clientsecret> | base64
シークレット・トークンが返されます。たとえばecho -n 392357752347523923457437:3454-9853-7843-3554 | base64 Nk0NzUyMzcyMzQ1NzMTc0NzUyMzMtNTQzNC05ODc4LTUzNQ==
シークレット・トークンの値を書き留めます。
Oktaでアプリケーションを作成します。
- ブラウザで、次のURLを使用してOktaにサインインします:
https://<Okta-org>-admin.okta.com
<okta-org>
は、Oktaを使用する組織の接頭辞です。 - 左側のメニューで、「Applications」をクリックします。
OCIおよびOktaを使用したSSOの実行時に作成したアプリケーションがすでにある場合は、そのアプリケーションを使用できます。クリックして開いて編集し、5に進みます。Okta設定の変更。
- 「アプリケーション・カタログの参照」をクリックし、
Oracle Cloud
を検索します。使用可能なオプションから「Oracle Cloud Infrastructure IAM」を選択します。 - 「Add Integration」をクリックします。
- 「一般設定」で、アプリケーションの名前(
OCI IAM
など)を入力し、「完了」をクリックします。
前のステップのドメインURLおよびシークレット・トークンを使用して、OktaアプリケーションをOCI IAM機密アプリケーションに接続します。
- 新しく作成したアプリケーション・ページで、「サインオン」タブをクリックします。
- 「Settings」で、「Edit」をクリックします。
- 「Advanced Sign-on Settings」までスクロールします。
- Oracle Cloud Infrastructure IAM GUIDにドメインURLを入力します。
- 「保存」をクリックします
- ページの上部にある「プロビジョニング」タブをクリックします。
- 「API統合の構成」をクリックします。
- 「API統合使用可能」を選択します。
- 前に「APIトークン」にコピーしたシークレット・トークン値を入力します。
-
API資格証明のテストをクリックします。
エラー・メッセージが表示された場合は、入力した値を確認して再試行してください。
Oracle Cloud Infrastructure IAM was verified successfully!
というメッセージが表示されたら、OktaはOCI IAM SCIMエンドポイントに正常に接続しました。 -
「保存」をクリックします
「アプリケーションへのプロビジョニング」ページが開き、ここでユーザーの作成、ユーザー属性の更新、OCI IAMとOkta間の属性のマップを行うことができます。
Oktaのユーザーおよびグループ・プロビジョニングをテストするには:
- 新しく作成したアプリケーションで、「割当」タブを選択します。
- 「割当て」をクリックし、「ユーザーに割当て」を選択します。
- OktaからOCI IAMにプロビジョニングするユーザーを検索します。
ユーザーの横にある「割当て」をクリックします。
- 「保存」、「戻る」の順にクリックします。
- OktaグループをOCI IAMにプロビジョニングします。「割当て」タブで、「割当て」をクリックし、「グループへの割当て」を選択します。
- OCI IAMにプロビジョニングするグループを検索します。グループ名の横にある「割当て」をクリックします。
- 「終了」をクリックします。
- OCIにサインインします:
-
サポートされているブラウザを開き、OCIコンソールURLを入力します:
- クラウド・アカウント名(テナンシ名とも呼ばれる)を入力し、「次」をクリックします。
- Oktaが構成されているアイデンティティ・ドメインを選択します。
-
- 「ユーザー」をクリックします。
- OktaでOCI IAMアプリケーションに割り当てられたユーザーが、OCI IAMに存在するようになりました。
- 「グループ」をクリックします
- OktaでOCI IAMアプリケーションに割り当てられたグループが、OCI IAMに存在するようになりました。
- ユーザーのフェデレーテッド・ステータスを設定して、外部アイデンティティ・プロバイダによって認証されるようにできます。
- アカウントが作成または更新されたときにユーザーに送信される通知Eメールを無効にできます。
フェデレーテッド・ユーザーには、OCIに直接サインインするための資格証明がありません。かわりに、外部アイデンティティ・プロバイダによって認証されます。フェデレーテッド・アカウントを使用してOCIにサインインする場合は、そのユーザーのフェデレーテッド属性をtrueに設定します。
ユーザーのフェデレーテッド・ステータスを設定するには:
- ブラウザで、次のURLを使用してOktaにサインインします:
https://<Okta-org>-admin.okta.com
<okta-org>
は、Oktaを使用する組織の接頭辞です。 - 左側のメニューで、「Applications」をクリックします。
- 前に作成したアプリケーション
OCI IAM
をクリックします。 - 「属性マッピング」セクションまで下にスクロールします。
- 「プロファイル・エディタに移動」をクリックします。
- 「属性」で「属性の追加」をクリックします。
- 「属性の追加」ページで:
- 「データ型」で、
Boolean
を選択します。 - 「名前の表示」には、
isFederatedUser
と入力します。 - 「変数名」に
isFederatedUser
と入力します。ノート
外部名は、変数名の値によって自動的に移入されます。 - 「外部ネームスペース」に、
urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User
と入力します。 - 「スコープ」で、
User personal
を確認します。
- 「データ型」で、
- Oktaの「アプリケーション」ページに戻り、
OCI IAM
アプリケーションを選択します。 - 「プロビジョニング」をクリックします。
- 「属性マッピング」まで下にスクロールし、「マップされていない属性の表示」をクリックします。
isFederatedUser
属性を見つけ、その横にある「編集」ボタンをクリックします。- 属性ページで、次の手順を実行します。
- 「属性値」で、
Expression
を選択します。 - 下のボックスに、
true
と入力します。 - 「適用対象」で、「作成および更新」を選択します。
- 「属性値」で、
- 「保存」をクリックします
これで、ユーザーがOktaからOCIにプロビジョニングされると、フェデレーテッド・ステータスはtrueに設定されます。これは、OCIのユーザーのプロファイル・ページで確認できます。
- OCIコンソールで、使用しているアイデンティティ・ドメインに移動し、「ユーザー」をクリックし、ユーザーをクリックしてユーザー情報を表示します。
- 「フェデレーテッド」は、
Yes
として表示されます。
バイパス通知フラグは、OCIでユーザー・アカウントを作成または更新した後に電子メール通知を送信するかどうかを制御します。アカウントが作成されたことをユーザーに通知しない場合は、バイパス通知フラグをtrueに設定します。
バイパス通知フラグを設定するには:
- ブラウザで、次のURLを使用してOktaにサインインします:
https://<Okta-org>-admin.okta.com
<okta-org>
は、Oktaを使用する組織の接頭辞です。 - 左側のメニューで、「Applications」をクリックします。
- 前に作成したアプリケーション
OCI IAM
をクリックします。 - 「属性マッピング」セクションまで下にスクロールします。
- 「属性」で「属性の追加」をクリックします。
- 「属性の追加」ページで:
- 「データ型」で、
Boolean
を選択します。 - 「名前の表示」には、
bypassNotification
と入力します。 - 「変数名」に
bypassNotification
と入力します。ノート
外部名は、変数名の値によって自動的に移入されます。 - 「外部ネームスペース」に、
urn:ietf:params:scim:schemas:oracle:idcs:extension:user:User
と入力します。 - 「スコープ」で、
User personal
を確認します。
- 「データ型」で、
- Oktaの「アプリケーション」ページに戻り、
OCI IAM
アプリケーションを選択します。 - 「プロビジョニング」をクリックします。
- 「属性マッピング」まで下にスクロールし、「マップされていない属性の表示」をクリックします。
bypassNotification
属性を見つけ、その横にある「編集」ボタンをクリックします。- 属性ページで、次の手順を実行します。
- 「属性値」で、
Expression
を選択します。 - 下のボックスに、
true
と入力します。 - 「適用対象」で、「作成および更新」を選択します。
- 「属性値」で、
- 「保存」をクリックします
完了しました。OktaとOCIの間でユーザー・ライフサイクル管理を正常に設定しました。
Oracle製品を使用した開発の詳細を確認するには、次のサイトを参照してください: