RESTfulなWebサービスのセキュリティ
ロール、権限およびOAuthクライアントを定義して、RESTful Webサービスへのアクセスで認証および認可が要求されるようにします。
RESTful Webサービスを保護するには、次の操作を実行する必要があります。
-
ロールの作成
-
権限を作成し、ロールと保護するモジュールまたはリソースを選択する
OAUTH2ワークフローを使用して保護されたRESTfulサービスへのアクセスを有効にするには、RESTfulサービスを保護するために作成されたロールおよび権限を使用してOAuthクライアントを作成します。
次の各項では、ロール、権限およびOAuthクライアントの作成方法について説明します。
- ロールの管理
「ロール」ページでRESTfulサービスのロールを作成、編集および削除できます。 - 権限の管理
「権限」ページでは、RESTfulサービスの権限を作成、編集および削除できます。 - OAuthクライアントの管理
OAuth 2.0ベースの認証を使用すると、特定のユーザーまたはクライアントのみがRESTful Webサービスにアクセスできるようにすることができます。 - 例
この項では、異なる権限タイプを持つOAuthクライアントの作成例をいくつか示します。
親トピック: RESTページ
ロールの管理
「ロール」ページで、RESTfulサービスのロールを作成、編集および削除できます。
「ロール」ページにナビゲートするには、RESTの「概要」ページで「オブジェクト」の「ロール」をクリックするか、ヘッダーのメニューで「セキュリティ」、「ロール」の順に選択します。
コンテキスト・メニューで使用できるアクションは次のとおりです。
- ロールの作成
特定の名前でロールを作成します。作成したロールは、権限に関連付けることができます。 - ロールの編集
この項では、ロールの編集方法について説明します。 - ロールの削除
この項では、ロールの削除方法について説明します。 - 割り当てられた権限の表示
この項では、ロールに関連付けられている権限の表示方法について説明します。
親トピック: RESTfulなWebサービスの保護
割り当てられた権限の表示
この項では、ロールに関連付けられている権限の表示方法について説明します。
親トピック: ロールの管理
権限の管理
「権限」ページで、RESTfulサービスの権限を作成、編集および削除できます。
権限はロールのセットを定義し、認証済のユーザーのうちの少なくとも1人は、権限によって保護されたRESTfulサービスへのアクセス権を持っている必要があります。
「権限」ページにナビゲートするには、RESTの「概要」ページで「オブジェクト」の「権限」をクリックするか、ヘッダーのメニューで「セキュリティ」、「権限」の順に選択します。
次の図に、カード・ビューにデフォルトで表示される権限属性を示します。
コンテキスト・メニューで使用できるアクションは次のとおりです。
親トピック: RESTfulなWebサービスの保護
権限の削除
この項では、権限の削除方法について説明します。
- 「権限」ページで、特定の権限の「アクション」
をクリックし、「削除」を選択します。 - 確認を求められます。「はい」をクリックします
親トピック: 権限の管理
OAuthクライアント管理
OAuth 2.0ベースの認証を使用すると、特定のユーザーまたはクライアントのみがRESTful Webサービスにアクセスできるようにすることができます。
OAuth 2.0は、RESTful APIへの条件付きおよび制限付きのアクセスを提供するフローを定義する、標準のインターネット・プロトコルです。詳細は、「OAuthベースの認証」を参照してください
「OAuthクライアント」ページで、OAuthクライアントを作成、編集および削除できます。
「OAuthクライアント」ページにナビゲートするには、RESTの「概要」ページで「オブジェクト」の「クライアント」をクリックするか、ヘッダーのメニューで「セキュリティ」、「OAuthクライアント」の順に選択します。
次の図に、カード・ビューにデフォルトで表示されるOAuthクライアント属性を示します。
OAuthクライアントを作成するには、「OAuthクライアントの作成」を参照してください。
コンテキスト・メニューで使用できるアクションは次のとおりです。
-
編集: 「OAuthクライアントの編集」を参照してください
-
エクスポート: OAuthクライアントのエクスポートを参照してください
-
削除: 「OAuthクライアントの削除」を参照してください
-
Bearerトークンの取得: このオプションは、暗号化されていないクライアント・シークレットを使用してクライアントが作成されている場合にのみ表示されます。クライアント資格証明および暗黙的OAuth権限タイプのRESTfulサービスをコールするためのアクセス・トークンが提供されます。クライアント資格証明の付与タイプを使用したOAuthクライアントの作成を参照してください
-
シークレットの管理: クライアント資格証明および認証コード権限タイプに適用されます。シークレットの管理を参照してください
- Rotate: 既存のクライアント・シークレットを削除し、OAuthクライアント用に新しいクライアント・シークレットを生成します。
- 取消し: OAuthクライアントに関連付けられたクライアント・シークレットを削除します。
-
Authの詳細: 認証コードOAuth権限タイプの一意の値および認可URIが表示されます。「認証コード付与タイプを使用したOAuthクライアントの作成」を参照してください
- OAuthクライアントの作成
OAuthクライアントを作成し、必要なロールと権限を付与します。 - OAuthクライアントを編集する
この項では、OAuthクライアントを編集する方法について説明します。 - OAuthクライアントの削除
この項では、OAuthクライアントを削除する方法について説明します。 - OAuthクライアントのエクスポート
この項では、OAuthクライアントをエクスポートする方法について説明します。 - シークレットの管理
OAuthクライアントに対してクライアント・シークレットを生成した後、必要に応じてシークレットをローテーションまたは取り消すことができます。「ローテーション」および「取消し」オプションは、特定のOAuthクライアントのコンテキスト・メニューで使用できます。
親トピック: RESTfulなWebサービスの保護
OAuthクライアントの削除
この項では、OAuthクライアントの削除方法について説明します。
- 「OAuthクライアント」ページで、特定のクライアントの「アクション」
をクリックし、「削除」を選択します。 - 確認を求めるプロンプトが表示されます。「はい」をクリックします
親トピック: OAuthクライアントの管理
OAuthクライアントのエクスポート
この項では、OAuthクライアントのエクスポート方法について説明します。
- 「OAuthクライアント」ページで、特定のクライアントについて「アクション」
をクリックし、「エクスポート」を選択します。 - 「OAuthクライアント」パネルで、「コピー」アイコンまたは「ダウンロード」をクリックして、OAuthクライアント情報をコピーまたはダウンロードします。
親トピック: OAuthクライアントの管理
シークレットの管理
OAuthクライアントに対してクライアント・シークレットを生成した後、必要に応じてシークレットをローテーションまたは取り消すことができます。「ローテーション」および「取消し」オプションは、特定のOAuthクライアントのコンテキスト・メニューで使用できます。
ノート:
OAUTHおよびOAUTH_ADMIN PL/SQLパッケージの非推奨(ORDS_SECURITY PL/SQLパッケージ・リファレンスを参照)により、OAUTHクライアント・シークレット作成プロセスは、クライアント資格証明および認証コード付与タイプを変更します。
暗号化されていないシークレットで作成されたOAuthクライアントの場合、ラベルLegacyがカードに表示されます。
クライアント・シークレットのローテーション
既存のシークレットを削除し、新しいシークレットを作成します。これは、既存のクライアント・シークレット値を記憶できない場合に役立ちます。
-
OAuthクライアントにクライアント・シークレットが存在する場合は、「ローテーション」をクリックして既存のシークレットを削除し、新しいクライアント・シークレットを生成します。
-
クライアント・シークレットが取り消され、シークレット値が割り当てられていない場合は、「登録」をクリックしてOAuthクライアントのクライアント・シークレットを生成します。
クライアント・シークレットの取消し
既存のクライアント・シークレットを削除します。
既存のすべてのクライアント・セッションを削除するには、「セッションの取消し」を選択します。
親トピック: OAuthクライアントの管理
例
この項では、異なる権限タイプを持つOAuthクライアントの作成例をいくつか示します。
- クライアント資格証明の付与タイプを使用してOAuthクライアントを作成
この項では、クライアント資格証明付与タイプを使用してOAuthクライアントを作成する方法について説明します。 - 認証コード権限タイプによるOAuthクライアントの作成
この項では、認証コード権限タイプを使用してOAuthクライアントを作成する方法について説明します。
親トピック: RESTfulなWebサービスの保護
クライアント資格証明権限タイプを使用したOAuthクライアントの作成
この項では、クライアント資格証明権限タイプを使用してOAuthクライアントを作成する方法について説明します。
例: POSTハンドラを使用したレコードの挿入で作成したモジュールexampleのOAuthクライアントを作成します。RESTfulサービスのエンドポイントはhttp://xyz.us.comp.com:1234/ords/pdbdba/example/emp/です。
親トピック: 例




