PostmanによるOCIアイデンティティ・ドメイン

このチュートリアルでは、REST APIテストに通常使用されるソフトウェアであるPostmanを使用して、アイデンティティ・ドメインにRESTアプリケーション・プログラミング・インタフェース(API)コールを実行します。

アイデンティティ・ドメインREST APIは、アイデンティティ・ドメインをRESTクライアントと統合して、ユーザー、グループ、アプリケーションおよび設定を管理し、クラウドでフェデレーテッド・シングル・サインオン(SSO)および認可を実行する方法を提供します。APIでは、OAuth 2.0、OpenID ConnectおよびSystem for Cross-Domain Identity Management (SCIM)がサポートされています。

このチュートリアルでは:

  • OAuthクライアント・アプリケーションの登録
  • Postmanでの環境パラメータの設定
  • アイデンティティ・ドメインPostmanコレクションのインポート
  • OAuthアクセス・トークンをリクエストします
  • ユーザーの作成
  • ユーザーの取得
  • ユーザーの削除

このチュートリアルを完了するのに要する時間は約20分です。

ノート

このチュートリアルは、アイデンティティ・ドメインを使用するOCI Identity and Access Managementに固有です。

開始する前に

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

1. クライアント・アプリケーションを登録します

アイデンティティ・ドメインへのREST APIコールを認証するには、アイデンティティ・ドメインにOAuthクライアント・アプリケーションを登録します。

このタスクは、認証に使用される資格証明(クライアントIDおよびクライアント・シークレット)を取得するために必要です。資格証明は、クライアントがアイデンティティ・ドメインとの通信に使用するサービス資格証明(IDおよびパスワード)と同等です。このタスクは、REST APIを介して認可されるリクエストを決定する際にも役立ちます。

  1. ナビゲーション・メニューを開き、「アイデンティティおよびセキュリティ」を選択します。「アイデンティティ」で、「ドメイン」を選択します。
  2. 作業するアイデンティティ・ドメインの名前を選択します。必要なドメインを見つけるには、コンパートメントの変更が必要になる場合があります。
  3. ドメインの詳細ページで、「統合アプリケーション」を選択します。
  4. 「アプリケーションの追加」を選択します。
  5. 「アプリケーションの追加」ダイアログで、「機密アプリケーション」を選択し、「ワークフローの起動」を選択します。
  6. ワークフローの「アプリケーション詳細の追加」ステップで、アプリケーション名と説明を入力し、「次へ」を選択します。
  7. 「OAuthの構成」ステップで、次のアクションを実行します:
    1. 「クライアント構成」ボックスで、「今すぐこのアプリケーションをクライアントとして構成します」を選択します。

      ボックスが展開され、さらにオプションが表示されます。

    2. 「認可」で、許可される権限付与タイプとして「クライアント資格証明」のみを選択します。
    3. ボックスの末尾までスクロールします。「アプリケーション・ロールの追加」を選択し、「ロールの追加」を選択します。
    4. 「アプリケーション・ロールの追加」パネルで、「Identity Domain Administrator」を選択し、「追加」を選択します。
  8. 「OAuthの構成」ステップで、「次へ」「終了」の順に選択します。

    このチュートリアルでは、ポリシー構成ステップをスキップできます。

    アプリケーションが作成されると、その初期状態は「非アクティブ」になります。

  9. アプリケーションの詳細ページで、「アクティブ化」を選択します。次に、「アプリケーションのアクティブ化」を選択して、このアプリケーションのアクティブ化を確認します。
  10. アプリケーションの詳細ページで、「一般情報」までスクロールし、次のステップに従ってクライアントIDおよびクライアント・シークレットの値をコピーします。
    1. 「クライアントID」の横に表示されている値を強調表示し、値をテキスト・ファイルにコピーします。
    2. 「クライアント・シークレット」で、「シークレットの表示」を選択します。表示されるダイアログで、「コピー」を選択し、「閉じる」を選択します。値がクリップボードにコピーされます。テキスト・ファイルに値をペーストします。
    3. コピーしたクライアントIDおよびクライアント・シークレット値を安全な場所に格納します。

2.Postmanでの環境パラメータの設定

Postmanでこのチュートリアルを正常に実行するには、idcs-rest-clients REST変数のサンプルをインポートして、環境パラメータを設定します。

  1. Postmanデスクトップアプリを開き、アカウントを使用してサインインします。ワークスペースがある場合は、「ワークスペース」を選択し、ワークスペースを選択します。それ以外の場合は、デフォルトのワークスペースを使用できます。
  2. ワークスペースで、「インポート」を選択します。
  3. 「インポート」ダイアログで、次のGitHub環境変数URLをフィールドに貼り付けます。
    https://github.com/oracle/idm-samples/raw/master/idcs-rest-clients/example_environment.json

    Postmanは、URLを貼り付けるとすぐにインポートを開始します。インポートが完了したら、「終了」を選択してメッセージ・ボックスを閉じます。

  4. 左側のサイドバーで、「環境」を選択します。次に、「変数を含むOracle Identity Cloud Serviceサンプル環境」を右クリックし、「複製」を選択します。
  5. 環境のリストで、元の環境の下に表示される「変数コピーを含むOracle Identity Cloud Serviceサンプル環境」を右クリックし、「名前変更」を選択します。フィールドにEnvironment A for REST API Testingと入力し、[Enter]を押します。
  6. 名前を変更した環境の変数を更新するには、「初期値」および「現在値」フィールドに次の値を入力します。
    • HOST: Oracle Cloud Infrastructure Consoleへのサインイン後にアイデンティティ・ドメインの詳細ページから取得したドメインURL。たとえば、https://<idcs-letterandnumber123string>.identity.oraclecloud.comです。ドメインURLの検索に関するヘルプが必要な場合は、ドキュメントのアイデンティティ・ドメインURLの検索を参照してください。
    • CLIENT_IDおよびCLIENT_SECRET:チュートリアル・タスク「クライアント・アプリケーションの登録」の説明に従って、アイデンティティ・ドメインの信頼できるアプリケーションからテキスト・ファイルにコピーしたクライアントIDおよびクライアント・シークレット。
    • USER_LOGINおよびUSER_PW:ログイン・ユーザー名とパスワード
      Postman環境変数の変更

  7. 「保存」を選択します。
  8. 環境のリストで、Environment A for REST API Testingという名前のチェック・マークを選択して、アクティブ環境にします。

    アクティブな環境は、ワークベンチの右上隅の環境セレクタに表示されます。

3. アイデンティティ・ドメインPostmanコレクションのインポート

Postmanでこのチュートリアルを正常に実行するには、コールを実行するために使用できるサンプルAPIリクエストを含むREST_API_for_Oracle_Identity_Cloud_Serviceコレクションをインポートします。

  1. Postmanワークスペースで、「インポート」を選択します。
  2. 「インポート」ダイアログで、次のURLをフィールドに貼り付けて、アイデンティティ・ドメインのREST API Postmanコレクションをインポートします。
    https://github.com/oracle/idm-samples/raw/master/idcs-rest-clients/REST_API_for_Oracle_Identity_Cloud_Service.postman_collection.json

    Postmanは、URLを貼り付けるとすぐにコレクションのインポートを開始します。インポートが完了したら、「終了」を選択してメッセージ・ボックスを閉じることができます。

  3. 左側のサイドバーで、「コレクション」を選択します。
  4. REST_API_for_Oracle_Identity_Cloud_Serviceという名前を選択します。

    コレクション内のリクエストはフォルダに編成されます。


    コレクションが「コレクション」タブの下に表示されます。

4. アクセス・トークンのリクエスト

アイデンティティ・ドメインに対してAPIコールを実行するには、そのアイデンティティ・ドメインに対してクライアントを認証してから、OAuthアクセス・トークンを取得する必要があります。

アクセス・トークンにより、クライアント(このチュートリアルではPostman)とアイデンティティ・ドメイン間のセッションが提供されます。

ノート

デフォルトでは、アクセス・トークンのタイムアウト間隔は60分です。間隔を超えてREST APIコールを実行するには、新しいアクセス・トークンをリクエストする必要があります。
  1. 左側のサイドバーで、「コレクション」を選択します。REST_API_for_Oracle_Identity_Cloud_Serviceを展開します(展開されていない場合)。
  2. OAuthを展開し、「トークン」を展開します。
  3. 「トークン」で、「POST Obtain access_token (client credentials)」を選択します。

    APIのPOSTタブがワークベンチに表示されます。APIのリクエスト・ペインは、レスポンス・ペインから行で区切られます。セパレータ線をドラッグして、各ペインの表示を多くまたは少なくできます。

    リクエスト・ペインの「URL」フィールドにPOST {{HOST}}/oauth2/v1/tokenと表示されます。

    {{HOST}}、サインインおよび認証資格証明の変数は、Postmanでの環境パラメータの設定のチュートリアル・タスクが完了したときにすでに設定されています。

  4. 「送信」を選択します。

    レスポンス・ビューアで、ステータス200 OKが表示され、アクセス・トークンがレスポンス本文で返されていることを確認します。アクセス・トークンは、非常に長い文字と数字の文字列です。

  5. アクセス・トークン値を環境変数に割り当てるには、次のステップを実行します。
    1. レスポンスで、引用符の間にあるアクセス・トークンのコンテンツを強調表示して右クリックします。ショートカット・メニューで、「設定: REST APIテスト用の環境A」を選択し、セカンダリ・メニューでaccess_tokenを選択して、強調表示されたコンテンツをアクセス・トークン環境値として割り当てます。
      レスポンス・メニューおよびコンテキスト・メニューのアクセス・トークン

    2. ワークベンチの右上にあるアイコンを選択して、変数ペインを開きます。

      割り当てられたaccess_token値は、「すべての変数」の下に表示されます。


      「変数」ペインのアクセス・トークン変数

  6. 変数ペインを閉じるには、ペインの右上にある「X」を選択するか、変数アイコンを選択します。

トークンの有効期限が切れる前にアイデンティティ・ドメインに次のREST APIコールを送信すると、APIコールにはアクセス・トークンとリクエストに関連するその他の情報が含まれます。REST情報は、リクエストUniversal Resource Identifier、ヘッダー、パラメータまたはJSONコードを介して送信され、リクエストするREST APIコールおよびメソッドによって異なります。

5. ユーザーの作成

このタスクでは、過去1時間以内にアクセス・トークンをリクエストしたと想定しています。

必要に応じて、ユーザーを作成する前に新しいトークンをリクエストします。

  1. 左側のサイドバーで、「コレクション」を選択します。「ユーザー」を展開し、「作成」を展開します。
  2. 「作成」で、「ユーザーの作成」を選択します。

    APIのPOSTタブがワークベンチに表示されます。

  3. 「本文」タブを選択します。

    サンプルでは、本文データにRAWモードおよびJSON形式を使用します。


    JSONコードを含む「本文」タブ

  4. 「送信」を選択します。
    • レスポンス・ビューアで、ステータス201 Createdが表示され、レスポンス本文にアイデンティティ・ドメインに正常に作成されたユーザーに関する詳細が含まれていることを確認します。

    • ステータス401 Unauthorizedがエラー・メッセージProper authorization is required for this areaとともに表示された場合は、新しいアクセス・トークンをリクエストし、ユーザーの作成を再試行してください。

  5. 正常に作成されたレスポンス本文で、40行目まで下にスクロールします。この行には、作成されたユーザーのOCID値があります。

    例: ocid1.user.oc1..aabaaacaaaq7xxxxxx

  6. 二重引用符の間にあるOCID値を強調表示します。ショートカット・メニューで、「設定: REST APIテスト用の環境A」を選択し、セカンダリ・メニューで「ユーザーID」を選択します。
  7. ワークベンチの右上にあるアイコンを選択して、変数ペインを開きます。

    割り当てられたuserid値は、「すべての変数」の下に表示されます。

6. ユーザーの取得

このタスクでは、userid変数を使用して特定のユーザーの詳細を取得します。

次の手順では、前のタスク「ユーザーの作成」を完了していることを前提としています。

  1. 左側のサイドバーで、「コレクション」を選択します。「ユーザー」を展開し、「検索」を展開します。
  2. 「検索」で、「特定のユーザーの取得」を選択します。

    APIのGETタブがワークベンチに表示されます。

  3. 「送信」を選択します。
    • 成功した場合は、レスポンス・ビューアにステータス200 OKが表示されることを確認します。「本文」タブには、その特定のユーザーの詳細も表示されます。

    • ステータス401 Unauthorizedがエラー・メッセージProper authorization is required for this areaとともに表示された場合は、新しいアクセス・トークンをリクエストして、特定のユーザーの取得を再試行してください。

7. ユーザーの削除

このタスクは、userid変数で指定されたユーザーを削除します。

次の手順では、チュートリアル・タスク「ユーザーの作成」および「ユーザーの取得」を完了していることを前提としています。

必要に応じて、このタスクを実行する前に新しいアクセス・トークンをリクエストします。

  1. 左側のサイドバーで、「コレクション」を選択します。「ユーザー」を展開し、「削除」を展開します。
  2. 「ユーザーの削除」を選択します。

    APIのDELETEタブがワークベンチに表示されます。

  3. ワークベンチの右上にあるアイコンを選択して、変数ペインを開きます。

    「すべての変数」で、userid変数に、ユーザーの詳細の取得に使用されたものと同じOCID値がまだ表示されていることを確認します。

  4. 「送信」を選択します。
    • 成功した場合は、レスポンス・ビューアにステータス204 No contentが表示されることを確認します。DELETE操作に対してレスポンス本文が返されないため、「本文」タブは空白です。

    • ステータス401 Unauthorizedがエラー・メッセージProper authorization is required for this areaとともに表示された場合は、新しいアクセス・トークンをリクエストし、特定のユーザーの削除を再試行してください。

  5. 削除に成功したら、ワークベンチで「GET a specific user」タブを選択します。次に、「送信」を選択します。

    レスポンス・ビューアで、ユーザーが削除されたことを示すステータス404 Not foundが表示されることを確認します。