始める前に: 構成の主な前提条件
Oracle Access Governance REST APIは、認可フレームワークとしてOAuth 2.0プロトコルを利用します。 Oracle Access Governance APIの認証および認可は、OCI IAM認可REST APIによって管理されます。 アクセス・トークンを生成する前に、認可トークンを生成してアプリケーション・ロールを割り当てるためのOAuthアプリケーションをOCI IAMで構成する必要があります。
REST APIを呼び出す権限付与タイプについて
「対話型認証」では、ユーザーがREST APIを起動する前に認証および認可するための資格証明を入力する必要があり、「非対話型ログイン」では、直接ユーザー入力なしで自動プロセスを使用します。
権限付与タイプ | 対話型 | コメント |
---|---|---|
クライアント資格証明 | いいえ | client id およびclient secret を使用して、REST APIを起動するためのアクセス・トークンを認可および生成します。 ここでは、適切なOracle Access Governanceロールが割り当てられた機密アプリケーションの資格証明を使用します。
|
認可コード | はい | 認可サーバーを使用して認可コードを認証およびフェッチします。 アプリケーションのリダイレクトURLを構成する必要があります。
このメソッドでは、REST APIにアクセスし、特定の機能をセキュアに実行するためにユーザーを使用します。 このプロセスでは、ユーザーはまず認証サーバーによって検証されるブラウザに資格証明を入力します。 サーバーは、構成されたリダイレクトURLに認可コードを送信します。 次に、クライアント・アプリケーション(「機密アプリケーション」)は、クライアント資格証明を指定して、このコードを認可サーバーと交換します。 検証されると、サーバーはアクセス・トークンを発行します。このトークンを使用して、クライアントはREST APIを安全に起動できます。 |
リソース所有者password |
いいえ | アプリケーションusername およびpassword を使用して、アクセス・トークンを生成します。 このメソッドは、マルチ・ファクタ認証(MFA)をサポートしていません。
|
ステップ1: ネットワーク・ペリメータの構成
ネットワーク・ペリメータは、IPアドレス境界を定義し、疑わしいIPアドレスをブロックして不正アクセスを防止することで、セキュリティを強化します。 これはオプションの構成ですが、ログイン試行を特定のIPまたは範囲に制限し、ユーザーの信頼できるアクセスを確保することを強くお薦めします。
- Webブラウザを開き、https://cloud.oracle.comに移動します。
- 「クラウド・アカウント名」フィールドに「クラウド・アカウント管理者」の名前を入力し、「次」をクリックします。
- クラウド・インフラストラクチャのサインイン・ページで、「Oracle Cloud Infrastructureダイレクト・サインイン」の下にサインイン資格証明を入力します。 「Sign In」をクリックします。
- クラウド・アカウントの多ファクタ認証(MFA)検証を完了します。
- 「アイデンティティ&セキュリティ」に移動し、「ドメイン」をクリックします。
- Oracle Access Governanceサービス・インスタンスが配置されているコンパートメントを選択し、ドメインを選択します。
- アイデンティティ・ドメイン・ページで、「セキュリティ」 → 「ネットワーク・ペリメータ」を選択します。
- 「ネットワーク・ペリメータの作成」を選択します。
- わかりやすい名前を入力します。 たとえば、
Allowed IP List for AG REST API
です。 - 「IPアドレス」フィールドで、CIDR表記またはカンマ区切りリストを使用して範囲を指定します。 たとえば
192.168.1.1-192.168.1.50, 10.0.0.1-10.0.0.100, 172.16.5.10-172.16.5.20
- 「作成」をクリックします。
図形 - ネットワーク・ペリメータの構成
ステップ2: OCIアイデンティティ・ドメインでの認可用の機密タイプ・アプリケーションの追加
アイデンティティ・ドメインに新しい機密アプリケーションを作成するには:
- 「アイデンティティ&セキュリティ」に移動し、「ドメイン」をクリックします。
- 「ドメイン」を選択します。
- 「統合アプリケーション」タブをクリックします。
- 「Add application」をクリックします。
- 「機密アプリケーション」タイルを選択し、「ワークフローの起動」をクリックします。
- 「詳細」ページで、次のように入力します:
- 機密アプリケーションの名前と説明を入力します。
たとえば:
access-governance-rest-api-oauth
- 「送信」をクリックします。
- 機密アプリケーションの名前と説明を入力します。
ステップ2a: OAuth構成の編集
- 「OAuth構成」タブを選択します。
- 「このアプリケーションをクライアントとして今すぐ構成します」を選択します
- 「OAuth構成の編集」を選択します。
- 次の権限タイプを選択します:
- クライアント資格証明: リソースの詳細のフェッチなど、アプリケーション以外のロール固有の関数にはクライアント資格証明を使用
- 認証コード: リソースの作成、更新、削除など、ユーザー権限に依存するロール固有の関数には、認証コード権限タイプを使用します。 そのためには、リダイレクトURLを入力し、トークンの更新に「トークンのリフレッシュ」を選択する必要があります。
- トークンのリフレッシュ: アクセス・トークンの有効期限が切れると、ユーザーはリフレッシュ・トークンを使用して認可サーバーから新しいトークンをリクエストします。
- リソース所有者: 推奨されません。MFAはサポートされません。 usernameおよび「パスワード」を使用して、アクセス・トークンを認証および生成します。 これは、リソースの作成、更新、削除など、ユーザー権限に依存するロール固有の機能を実行することを目的としています。
ノート:
詳細は、「REST APIを呼び出す権限付与タイプについて」を参照してください。
- 次の形式でリダイレクトURLを入力します:
たとえば、Postmanの場合、リダイレクトURLは次のようになります:https://AUTH_SERVICE/oauth2/v1/authorize
https://oauth.pstmn.io/v1/callback
- 「リソースの追加」トグル・ボタンを有効にします。
- 「スコープの追加」をクリックします。 Oracle Access Governanceサービス・インスタンスおよびスコープを含む、使用可能なアプリケーションのリストが表示されます。
- Oracle Access Governanceアプリケーションおよびスコープを選択し、「追加」をクリックします。
図形 - リソース・アプリケーションおよびスコープの設定によるOAuthアプリケーションの構成
- 「送信」をクリックします。
ステップ3: アプリケーションのアクティブ化
「アクション」アイコンをクリックし、「アクティブ化」を選択します。 ステータスが「非アクティブ」から「アクティブ」に変わります。
ステップ4: OAuth機密アプリケーションへのアプリケーション・ロールの割当て
ノート:
このステップは、クライアント資格証明やリソース所有者などの非対話型認証メソッドに対してのみ実行します。- クラウド・アカウントで、「アイデンティティ&セキュリティ」 → 「ドメイン」に移動します。
- ドメインの選択
- Oracle Cloud Servicesタブを選択します。
- Oracle Access Governanceサービス・インスタンスを選択します。
- 「アプリケーション・ロール」タブを選択します。
- 「アクション」アイコンをクリックし、「アプリケーションの管理」を選択します。
- 「アプリケーションの割当て」ボタンを選択します。
- 「ステップ2」で作成したアプリケーションを選択し、「割当」をクリックします。
結果: アプリケーション・ロールは、ステップ2で作成したアプリケーションのOAuth構成タブのアプリケーション・ロールセクションの下に表示されます。
図形 - OAuthアプリケーションでのアプリケーション・ロール割当ての確認
ノート:
「認証および認可」を参照して、このアプリケーションのクライアントIDおよびクライアント・シークレットを使用してOAuthアクセス・トークンを生成します。