OCIとOkta間のアイデンティティ・ライフサイクル管理

このチュートリアルでは、OktaとOCI IAMの間でユーザー・ライフサイクル管理を構成します。このOktaは、認可アイデンティティ・ストアとして機能します。

この30分間のチュートリアルでは、OktaからOCI IAMにユーザーおよびグループをプロビジョニングする方法を示します。

  1. OCI IAMで機密アプリケーションを作成すること。
  2. アイデンティティ・ドメインURLを取得し、シークレット・トークンを生成します。
  3. Oktaでアプリケーションを作成します。
  4. Oktaの設定を更新します。
  5. OCI IAMとOktaの間でプロビジョニングが機能することをテストします。
  6. さらに、方法に関する指示
    • ユーザーのフェデレーテッド・ステータスを、外部アイデンティティ・プロバイダによって認証されるように設定します。
    • アカウントの作成または更新時に、ユーザーに通知Eメールの取得を停止します。
ノート

このチュートリアルは、アイデンティティ・ドメインのIAMに固有です。
始める前に

このチュートリアル・セットを実行するには、次のものが必要です:

  • 有料Oracle Cloud Infrastructure (OCI)アカウントまたはOCIトライアル・アカウント。Oracle Cloud Infrastructure Free Tierを参照してください。

  • OCI IAMアイデンティティ・ドメインのアイデンティティ・ドメイン管理者ロール。管理者ロールの理解を参照してください。
  • プロビジョニングを構成するための管理者権限を持つOktaアカウント。

追加情報は、チュートリアルのステップから収集します。

  • OCI IAMドメインURL。
  • OCI IAMクライアントIDとクライアント・シークレット。
1.OCIでの機密アプリケーションの作成

OCI IAMで機密プログラムを作成し、アクティブ化します。

  1. サポートされているブラウザを開き、コンソールURLを入力します:

    https://cloud.oracle.com

  2. 「クラウド・アカウント名」(テナンシ名とも呼ばれる)を入力し、「次」を選択します。
  3. ユーザー名およびパスワードを使用してサインインします。
  4. ナビゲーション・メニューを開き、「アイデンティティおよびセキュリティ」を選択します。「アイデンティティ」で、「ドメイン」を選択します。
  5. Oktaプロビジョニングを構成するアイデンティティ・ドメインを選択し、「アプリケーション」を選択します。
  6. 「アプリケーションの追加」を選択し、「機密アプリケーション」を選択して「ワークフローの起動」を選択します。

    機密アプリケーション

  7. 機密アプリケーションの名前(OktaClientなど)を入力します。「次へ」を選択します。
  8. 「クライアント構成」の下で、「このアプリケーションをクライアントとして今すぐの構成します」を選択します。
  9. 「認可」で、「クライアント資格証明」を選択します。

    アプリケーションをクライアントとして構成

  10. 下部までスクロールし、「アプリケーション・ロールの追加」を選択します。
  11. 「アプリケーション・ロール」で「ロールの追加」を選択し、「アプリケーション・ロールの追加」ページで「ユーザー管理者」を選択して「追加」を選択します。

    アプリケーション・ロールの追加

  12. 「次へ」を選択し、「終了」を選択します。
  13. アプリケーションの詳細ページで、「アクティブ化」を選択し、新しいアプリケーションをアクティブ化することを確認します。
2.OCI IAM GUIDの検索およびシークレット・トークンの生成

後で作成するOktaアプリケーションの接続設定の一部として使用するには、2つの情報が必要です。

  1. ブレッドクラムでアイデンティティ・ドメイン名を選択して、アイデンティティ・ドメインの概要に戻ります。ドメイン情報の「ドメインURL」の横にある「コピー」を選択し、URLを編集可能なアプリケーションに保存します。

    ドメインURL情報がどこにあるかを示すドメイン情報。

    OCI IAM GUIDは、ドメインURLの一部です:

    https://<IdentityDomainID>.identity.oraclecloud.com:443/fed/v1/idp/sso

    例: idcs-9ca4f92e3fba2a4f95a4c9772ff3278

  2. OCI IAMの機密アプリケーションで、「リソース」の下の「OAuth構成」を選択します。
  3. 下にスクロールし、「一般情報」の下にクライアントIDおよびクライアント・シークレットを書き留めます。
  4. 下にスクロールし、「一般情報」の下の「クライアントID」および「クライアント・シークレット」を見つけます。
  5. クライアントIDをコピーして格納します
  6. 「シークレットの表示」を選択し、シークレットをコピーして格納します。

    クライアント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==

    シークレット・トークンの値を書き留めます。

3.Oktaでのアプリケーションの作成

Oktaでアプリケーションを作成します。

  1. ブラウザで、次のURLを使用してOktaにサインインします。

    https://<Okta-org>-admin.okta.com

    ここで、 <okta-org> は、Oktaを使用する組織の接頭辞です。

  2. 左側のメニューで、「アプリケーション」を選択します。

    OCIおよびOktaを使用したSSOの実行時に作成したアプリケーションがすでにある場合は、それを使用できます。Select to open it and edit it, and go to 5. Change Okta Settings.

  3. 「アプリケーション・カタログの参照」を選択し、Oracle Cloudを検索します。使用可能なオプションから「Oracle Cloud Infrastructure IAM」を選択します。
  4. 「統合の追加」を選択します。
  5. 「一般」設定で、アプリケーションの名前(OCI IAMなど)を入力し、「完了」を選択します。
5.Okta設定の変更

前のステップのドメインURLおよびシークレット・トークンを使用して、OktaアプリケーションをOCI IAM機密アプリケーションに接続します。

  1. 新しく作成したアプリケーション・ページで、「サインオン」タブを選択します。
  2. 「設定」で、「編集」を選択します。
  3. 「Advanced Sign-on Settings」まで下にスクロールします。
  4. Oracle Cloud Infrastructure IAM GUIDにドメインURLを入力します。
  5. 「保存」を選択します。
  6. ページの上部付近で、「プロビジョニング」タブを選択します。
  7. 「API統合の構成」を選択します。
  8. 「API統合の有効化」を選択します。

    API統合の有効化

  9. 「APIトークン」で以前にコピーしたシークレット・トークン値を入力します。
  10. 「API資格証明のテスト」を選択します。

    エラー・メッセージが表示された場合は、入力した値を確認して再試行してください。

    メッセージOracle Cloud Infrastructure IAM was verified successfully!を受信すると、OktaはOCI IAM SCIMエンドポイントに正常に接続しました。

  11. 「保存」を選択します。

「アプリケーションへのプロビジョニング」ページが開きます。このページでは、ユーザーの作成、ユーザー属性の更新、OCI IAMとOkta間の属性のマップを実行できます。

6. ユーザーおよびグループのプロビジョニングのテスト

Oktaのユーザーおよびグループのプロビジョニングをテストするには:

  1. 新しく作成したアプリケーションで、「割当」タブを選択します。
  2. 「割当て」を選択し、「個人への割当て」を選択します。
  3. OktaからOCI IAMにプロビジョニングするユーザーを検索します。

    ユーザーの横にある「割当て」を選択します。

  4. 「保存」「戻る」の順に選択します。
  5. 次に、OktaグループをOCI IAMにプロビジョニングします。「割当」タブで、「割当」を選択し、「グループへの割当」を選択します。
  6. OCI IAMにプロビジョニングされるグループを検索します。グループ名の横にある「割当て」を選択します。
  7. 「完了」を選択します。
  8. OCIにサインインします。
    1. サポートされているブラウザを開き、OCIコンソールURLを入力します:

      https://cloud.oracle.com .

    2. 「クラウド・アカウント名」(テナンシ名とも呼ばれる)を入力し、「次」を選択します。
    3. Oktaが構成されているアイデンティティ・ドメインを選択します。
  9. 「ユーザー」を選択します。
  10. OktaでOCI IAMアプリケーションに割り当てられていたユーザーが、OCI IAMに存在するようになりました。
  11. 「グループ」を選択します。
  12. OktaでOCI IAMアプリケーションに割り当てられたグループが、OCI IAMに存在するようになりました。
7. フェデレーテッド・ユーザーの追加構成
  • ユーザーのフェデレーテッド・ステータスを設定して、外部アイデンティティ・プロバイダによって認証されるようにできます。
  • アカウントの作成または更新時にユーザーに送信される通知Eメールを無効にできます。
a. ユーザーのフェデレーテッド・ステータスの設定

フェデレーテッド・ユーザーには、OCIに直接サインインするための資格証明がありません。かわりに、外部アイデンティティ・プロバイダによって認証されます。ユーザーがフェデレーテッド・アカウントを使用してOCIにサインインする場合は、それらのユーザーの「フェデレーテッド」属性をtrueに設定します。

ユーザーのフェデレーテッド・ステータスを設定するには:

  1. ブラウザで、次のURLを使用してOktaにサインインします。

    https://<Okta-org>-admin.okta.com

    ここで、 <okta-org> は、Oktaを使用する組織の接頭辞です。

  2. 左側のメニューで、「アプリケーション」を選択します。
  3. 前に作成したアプリケーションOCI IAMを選択します。
  4. 「Attribute Mappings(属性マッピング)」セクションまでスクロール・ダウンします。
  5. 「プロファイル・エディタに移動」を選択します。
  6. 「属性」で、「属性の追加」を選択します。
  7. 「属性の追加」ページで次の操作を行います。
    • 「データ型」で、Booleanを選択します。
    • 「表示名」に、isFederatedUserと入力します。
    • 「変数名」に、isFederatedUserと入力します。
      ノート

      外部名は、変数名の値によって自動的に移入されます。
    • 「外部ネームスペース」に、urn:ietf:params:scim:schemas:oracle:idcs:extension:user:Userと入力します。
    • 「スコープ」で、User personalを確認します。

    属性ページの追加

  8. Oktaの「アプリケーション」ページに戻り、OCI IAMアプリケーションを選択します。
  9. 「プロビジョニング」を選択します。
  10. 「属性マッピング」までスクロール・ダウンし、「マップされていない属性の表示」を選択します。
  11. isFederatedUser属性を見つけて、その横にある編集ボタンを選択します。
  12. 属性ページで、次の手順を実行します。
    • 「属性値」で、Expressionを選択します。
    • 次のボックスに、trueと入力します。
    • 「適用日」で、「作成および更新」を選択します。

    属性ページ

  13. 「保存」を選択します。

    フェデレーションを示す属性値

これで、ユーザーがOktaからOCIにプロビジョニングされると、フェデレーテッド・ステータスはtrueに設定されます。これは、OCIのユーザーのプロファイル・ページで確認できます。

  • OCIコンソールで、使用しているアイデンティティ・ドメインに移動し、「ユーザー」を選択して、ユーザー情報を表示するユーザーを選択します。
  • 「フェデレーテッド」は、Yesと表示されます。

    ユーザーがフェデレートされていることを示すユーザー情報

b. アカウントの作成または更新の通知の無効化

通知のバイパス・フラグは、OCIでユーザー・アカウントを作成または更新した後に電子メール通知を送信するかどうかを制御します、アカウントが作成されたことをユーザーに通知しない場合は、バイパス通知フラグをtrueに設定します。

バイパス通知フラグを設定するには:

  1. ブラウザで、次のURLを使用してOktaにサインインします。

    https://<Okta-org>-admin.okta.com

    ここで、 <okta-org> は、Oktaを使用する組織の接頭辞です。

  2. 左側のメニューで、「アプリケーション」を選択します。
  3. 前に作成したアプリケーションOCI IAMを選択します。
  4. 「Attribute Mappings(属性マッピング)」セクションまでスクロール・ダウンします。
  5. 「属性」で、「属性の追加」を選択します。
  6. 「属性の追加」ページで次の操作を行います。
    • 「データ型」で、Booleanを選択します。
    • 「表示名」に、bypassNotificationと入力します。
    • 「変数名」に、bypassNotificationと入力します。
      ノート

      外部名は、変数名の値によって自動的に移入されます。
    • 「外部ネームスペース」に、urn:ietf:params:scim:schemas:oracle:idcs:extension:user:Userと入力します。
    • 「スコープ」で、User personalを確認します。

    属性追加ページ

  7. Oktaの「アプリケーション」ページに戻り、OCI IAMアプリケーションを選択します。
  8. 「プロビジョニング」を選択します。
  9. 「属性マッピング」までスクロール・ダウンし、「マップされていない属性の表示」を選択します。
  10. bypassNotification属性を見つけて、その横にある編集ボタンを選択します。
  11. 属性ページで、次の手順を実行します。
    • 「属性値」で、Expressionを選択します。
    • 次のボックスに、trueと入力します。
    • 「適用日」で、「作成および更新」を選択します。

    属性ページ

  12. 「保存」を選択します。

    バイパス通知を示す属性値

次の手順

完了しました。OktaとOCIの間でユーザー・ライフサイクル管理を正常に設定しました。

Oracle製品を使用した開発の詳細を確認するには、次のサイトを参照してください: