Skip to main content
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

ONTAPクライアント許可のオプション

共同作成者

ONTAPクライアント許可をカスタマイズするには、いくつかのオプションを使用できます。承認の決定は、最終的には、アクセストークンに含まれるか、アクセストークンから派生したONTAP RESTロールに基づいて行われます。

注意 使用できるのは "ONTAP RESTロール" OAuth 2.0の認可を設定する場合。以前のONTAPの従来のロールはサポートされていません。

はじめに

ONTAP内のOAuth 2.0の実装は、柔軟性と堅牢性を考慮して設計されており、ONTAP環境を保護するために必要なオプションを提供します。大まかには、ONTAPクライアント許可を定義するための3つの主要な設定カテゴリがあります。これらの設定オプションを同時に指定することはできません。

ONTAPでは、構成に応じて最適な1つのオプションが適用されます。を参照してください "ONTAPニヨルアクセスノケツテイホウホウ" を参照して、アクセスを決定するためにONTAPで構成定義をどのように処理するかを確認してください。

OAuth 2.0の自己完結型スコープ

これらのスコープには、1つ以上のカスタムRESTロールが含まれており、それぞれが1つの文字列にカプセル化されています。ONTAPロールの定義には依存しません。認可サーバーでこれらのスコープ文字列を定義する必要があります。

ローカルのONTAP固有のRESTロールとユーザ

設定に基づいて、ローカルONTAP ID定義を使用してアクセスを決定できます。オプションは次のとおりです。

  • 単一のネームドRESTロール

  • ユーザ名とローカルONTAPユーザの照合

指定したロールのscope構文は、* ontap-role-*<URL-encoded-ONTAP-role-name>です。たとえば、ロールが「admin」の場合、スコープ文字列は「ontap-role-admin」になります。

Active DirectoryまたはLDAPグループ

ローカルONTAPの定義を調べても、アクセスを決定できない場合は、Active Directory(「domain」)またはLDAP(「nsswitch」)グループが使用されます。グループ情報は、次の2つの方法のいずれかで指定できます。

  • OAuth 2.0スコープ文字列

    グループメンバーシップを持つユーザがいない場合、クライアントのクレデンシャルフローを使用して機密アプリケーションをサポートします。スコープには* ontap-group-*<URL-encoded-ONTAP-group-name>という名前を付けます。たとえば、グループが「development」の場合、スコープ文字列は「ontap-group-development」になります。

  • 「グループ」の主張

    これは、リソース所有者(パスワード付与)フローを使用してADFSによって発行されるアクセストークンを対象としています。

自己完結型OAuth 2.0スコープ

自己完結型スコープは、アクセストークンで伝送される文字列です。各ロールは完全なカスタムロール定義であり、アクセスを決定するためにONTAPが必要とするすべての機能が含まれています。スコープは、ONTAP内で定義されているRESTロールとは別のものです。

スコープ文字列の形式

基本レベルでは、スコープは連続した文字列として表され、コロンで区切られた6つの値で構成されます。スコープ文字列で使用されるパラメータについては、以下で説明します。

ONTAPリテラル

スコープはリテラル値で始まる必要があります ontap 小文字で入力します。これにより、範囲がONTAPに固有であることが識別されます。

クラスタ

スコープ環境となるONTAPクラスタを定義します。次の値を指定できます。

  • クラスタUUID

    単一のクラスタを識別します。

  • アスタリスク(*)

    スコープ環境のすべてのクラスタを示します。

ONTAP CLIコマンドを使用できます。 cluster identity show をクリックしてクラスタのUUIDを表示します。指定しない場合は、スコープ環境all clustersになります。

ロール

自己完結型スコープに含まれる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。値を指定しない場合は、スコープ環境All APIエンドポイントがONTAPクラスタで指定されます。

範囲の例

自己完結型スコープの例を以下に示します。

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

ONTAPニヨルアクセスノケツテイホウホウ

OAuth 2.0を適切に設計および実装するには、ONTAPが許可設定を使用してクライアントのアクセスを決定する方法を理解する必要があります。

ステップ1:自己完結型スコープ

アクセストークンに自己完結型のスコープが含まれている場合、ONTAPは最初にそれらのスコープを調べます。自己完結型スコープがない場合は、ステップ2に進みます。

1つ以上の自己完結型スコープが存在する場合、ONTAPは明示的な*allow*または*deny*決定が行われるまで、各スコープを適用します。明示的な決定が行われた場合、処理は終了します。

ONTAPが明示的にアクセスを決定できない場合は、手順2に進みます。

手順2:ローカルロールフラグを確認する

ONTAPがフラグの値を調べる use-local-roles-if-present。このフラグの値は、ONTAPに定義された認可サーバーごとに個別に設定されます。

  • の場合 true 手順3に進みます。

  • の場合 false 処理が終了し、アクセスが拒否されます。

手順3:名前付きONTAP RESTロール

アクセストークンに名前付きRESTロールが含まれている場合、ONTAPはそのロールを使用してアクセスを決定します。これにより、常に* allow または deny *の決定が行われ、処理が終了します。

名前付きRESTロールがない場合、またはロールが見つからない場合は、手順4に進みます。

手順4:ローカルONTAPユーザ

アクセストークンからユーザ名を抽出し、ローカルONTAPユーザと照合してみます。

ローカルONTAPユーザが一致した場合、ONTAPはそのユーザ用に定義されたロールを使用してアクセスを決定します。これにより、常に* allow または deny *の決定が行われ、処理が終了します。

ローカルONTAPユーザが一致しない場合、またはアクセストークンにユーザ名がない場合は、手順5に進みます。

手順5:グループとロールのマッピング

アクセストークンからグループを抽出し、グループと照合してみます。グループは、Active Directoryまたは同等のLDAPサーバを使用して定義します。

一致するグループがある場合、ONTAPはそのグループに定義されたロールを使用してアクセスを決定します。これにより、常に* allow または deny *の決定が行われ、処理が終了します。

一致するグループがない場合、またはアクセストークンにグループがない場合、アクセスは拒否され、処理は終了します。