自己完結型OAuth 2.0スコープ
自己完結型スコープは、アクセストークンで伝送される文字列です。各ロールは完全なカスタムロール定義であり、アクセスを決定するためにONTAPが必要とするすべての機能が含まれています。スコープは、ONTAP内で定義されているRESTロールとは別のものです。
スコープ文字列の形式
基本レベルでは、スコープは連続した文字列として表され、コロンで区切られた6つの値で構成されます。スコープ文字列で使用されるパラメータについては、以下で説明します。
ONTAPリテラル
スコープは、小文字のリテラル値で始まる必要があります ontap
。これにより、範囲がONTAPに固有であることが識別されます。
クラスタ
スコープを適用するONTAPクラスタを定義します。次の値を指定できます。
-
クラスタUUID
単一のクラスタを識別します。
-
アスタリスク(*)
スコープがすべてのクラスタに適用されることを示します。
クラスタのUUIDは、ONTAP CLIのコマンドを使用して表示できます cluster identity show
。指定しない場合、範囲はすべてのクラスタに適用されます。
ロール
自己完結型スコープに含まれるRESTロールの名前。この値は、ONTAPで検証されたり、ONTAPに定義されている既存のRESTロールと照合されたりすることはありません。この名前はロギングに使用されます。
アクセスレベル
この値は、スコープ内でAPIエンドポイントを使用するときにクライアントアプリケーションに適用されるアクセスレベルを示します。次の表に示す6つの値があります。
アクセスレベル | 説明 |
---|---|
なし |
指定したエンドポイントへのすべてのアクセスを拒否します。 |
読み取り専用 |
GETを使用した読み取りアクセスのみを許可します。 |
read_create |
POSTを使用して、読み取りアクセスと新しいリソースインスタンスの作成を許可します。 |
read_modify |
読み取りアクセスを許可し、PATCHを使用して既存のリソースを更新する機能を許可します。 |
read_create_modify |
削除以外のすべてのアクセスを許可します。許可される処理は、GET(読み取り)、POST(作成)、およびPATCH(更新)です。 |
すべて |
フルアクセスを許可します。 |
SVM
スコープが適用されるクラスタ内のSVMの名前。すべてのSVMを示すために、*(アスタリスク)を使用します。
この機能は、ONTAP 9.14.1では完全にはサポートされていません。SVMのパラメータは無視して、プレースホルダにアスタリスクを使用できます。で "ONTAPリリースノート"今後のSVMのサポートを確認します。 |
REST API URI
リソースまたは関連リソースのセットへの完全パスまたは部分パス。文字列はで始まる必要があります /api
。値を指定しない場合、スコープはONTAPクラスタのすべてのAPIエンドポイントに適用されます。
範囲の例
自己完結型スコープの例を以下に示します。
- ONTAP::joes-role:read_create_modify::/api/cluster
-
このロールを割り当てられたユーザに、エンドポイントへの読み取り、作成、および変更アクセスを許可します
/cluster
。
CLI管理ツール
自己完結型スコープの管理を容易にし、エラーが発生しにくくするために、ONTAPには、入力パラメータに基づいてスコープ文字列を生成するCLIコマンドが用意されて `security oauth2 scope`います。
コマンド `security oauth2 scope`には、入力内容に基づいて次の2つのユースケースがあります。
-
文字列をスコープするCLIパラメータ
このバージョンのコマンドを使用すると、入力パラメータに基づいてスコープ文字列を生成できます。
-
scope string to CLIパラメータ
このバージョンのコマンドを使用すると、入力スコープ文字列に基づいてコマンドパラメータを生成できます。
次の例では、次のコマンド例のあとに出力が含まれたスコープ文字列を生成します。この定義はすべてのクラスタに適用されます。
security oauth2 scope cli-to-scope -role joes-role -access readonly -api /api/cluster
ontap:*:joes-role:readonly:*:/api/cluster