ONTAP OAuth 2.0導入の概要
ONTAP 9.14以降では、Open Authorization(OAuth 2.0)フレームワークを使用して、ONTAPクラスタへのアクセスを制御するオプションがあります。この機能を有効にする際には、ONTAP CLI、System Manager、REST APIなどの任意のONTAP管理インターフェイスを使用します。ただし、OAuth 2.0による許可とアクセス制御は、クライアントがREST APIを使用してONTAPにアクセスする場合のみ適用できます。
|
|
OAuth 2.0のサポートはONTAP 9.14.0で初めて導入されました。そのため、ご利用のONTAPリリースに応じて利用可能かどうかが異なります。詳細については、 "ONTAPリリース ノート"をご覧ください。 |
機能とメリット
ここでは、ONTAPに導入されたOAuth 2.0の主な機能とメリットについて解説します。
OAuth 2.0は、業界標準の許可フレームワークです。保護されたリソースへのアクセスを制限したり、制御したりするために使用するもので、署名付きアクセス トークンを使用します。OAuth 2.0を使用するメリットには、次のようなものがあります。
-
豊富な許可設定オプション
-
パスワードなどクライアントのクレデンシャルが露出する可能性がない
-
設定に基づいてトークンの有効期限を設定可能
-
REST APIと組み合わせての使用に最適
ONTAP OAuth 2.0の実装は、次のようにONTAPリリースに基づいたいくつかの一般的なサーバまたはサービスでテストされています。
-
ONTAP 9.16.1(グループUUIDと名前のマッピングおよび外部ロールのサポート):
-
Microsoft Entra ID
-
-
ONTAP 9.14.1(OAuth 2.0の標準機能のサポート)
-
Auth0
-
Active Directoryフェデレーション サービス(ADFS)
-
Keycloak
-
各ONTAPリリースで利用できる機能の詳細については、"許可サーバとアクセス トークン"を参照してください。
1つのONTAPクラスタに対して、最大8台の許可サーバを定義できます。これにより、多様なセキュリティ環境のニーズを柔軟に満たせます。
ONTAPでの許可の判定は、最終的にはユーザまたはグループに割り当てられたRESTロールに基づいて行われます。これらのロールは、自己完結型スコープとしてアクセス トークン内で伝送されるか、Active DirectoryグループまたはLDAPグループに沿ったローカルONTAP定義に基づきます。
ONTAPと許可サーバを、Mutual Transport Layer Security(mTLS)を使用するように設定して、クライアント認証を強化できます。これにより、OAuth 2.0アクセス トークンを使用できるのが、その発行を受けたクライアントに限定されます。この機能は、FAPIやMITREによって規定されるものを含む、いくつかの一般的なセキュリティ推奨事項に沿ったものであり、それらへの準拠をサポートします。
導入と設定
OAuth 2.0の導入と設定に着手する際に考慮するべき点は、大きく分けていくつかあります。
OAuth 2.0の許可フレームワークでは各種のエンティティが定義されています。いずれも、データセンターまたはネットワーク内の実在する要素または仮想的な要素に対応させることができます。次の表は、OAuth 2.0のエンティティと、ONTAPでそれぞれに対応する概念をまとめたものです。
| OAuth 2.0のエンティティ | 概要 |
|---|---|
リソース |
内部 ONTAP コマンドを通じて ONTAP リソースへのアクセスを提供する REST API エンドポイント。 |
リソース オーナー |
保護されたリソースを作成した、またはデフォルトでそのリソースを所有しているONTAPクラスタ ユーザです。 |
リソース サーバ |
保護されているリソースのホスト(ONTAPクラスタ)です。 |
クライアント |
リソース オーナーに代わって、またはリソース オーナーから権限を付与されて、REST APIエンドポイントへのアクセスを要求するアプリケーションです。 |
許可サーバ |
通常はアクセス トークンの発行と管理ポリシーの適用を担当する専用サーバです。 |
OAuth 2.0を有効にして使用するように、ONTAPクラスタを設定する必要があります。これには、許可サーバへの接続を確立することや、必要なONTAP許可設定を定義することが含まれます。この設定には、次のいずれかの管理インターフェイスを使用できます。
-
ONTAPコマンドライン インターフェイス
-
System Manager
-
ONTAP REST API
ONTAPの定義に加えて、許可サーバの設定も必要です。グループとロールのマッピングを使用している場合は、Active DirectoryグループかLDAPに相当するものの設定も必要です。
ONTAP 9.14以降、REST APIクライアントはOAuth 2.0を使用してONTAPにアクセスできます。REST API呼び出しを発行する前に、認可サーバからアクセストークンを取得する必要があります。クライアントは、HTTP認可リクエストヘッダーを使用して、このトークンを_ベアラートークン_としてONTAPクラスタに渡します。必要なセキュリティレベルに応じて、クライアント側で証明書を作成してインストールし、mTLSに基づく送信者制約トークンを使用することもできます。
用語の説明
ONTAP で OAuth 2.0 の導入を検討し始める際には、いくつかの用語を理解しておくと役立ちます。OAuth 2.0 に関する詳細情報へのリンクについては、"その他のリソース"をご覧ください。
- アクセス トークン
-
許可サーバによって発行され、保護されたリソースへのアクセス要求を行うためにOAuth 2.0クライアント アプリケーションによって使用されるトークンです。
- JSON Webトークン
-
アクセス トークンのフォーマットに使用される標準です。JSONは、OAuth 2.0のクレームを3つの主要セクションで構成されるコンパクトな形式で表現するために使用されます。
- 送信者限定アクセス トークン
-
Mutual Transport Layer Security(mTLS)プロトコルをベースとする、オプションの機能です。トークンで追加の確認クレームを使用することにより、アクセス トークンを、その発行を受けたクライアントしか使用できなくなります。
- JSON Webキー セット
-
JWKSは、クライアントから提示されたJWTトークンを検証するためにONTAPで使用される公開鍵の集合です。キー セットは、通常、専用のURIを介して許可サーバで使用できます。
- Scope
-
スコープは、ONTAP REST APIなどの保護されたリソースへのアプリケーションのアクセスを制限または制御する手段のひとつです。アクセス トークン内の文字列として表されます。
- ONTAP RESTロール
-
ONTAP 9.6で導入されたRESTロールは、ONTAP RBACフレームワークの核となる要素です。これらのロールは、ONTAPで引き続きサポートされている、従来からあるロールとは異なります。ONTAPに導入されたOAuth 2.0では、RESTロールのみがサポートされています。
- HTTP許可ヘッダー
-
REST API呼び出しの一環として、クライアントと関連する権限を識別するためにHTTPリクエストに含まれるヘッダー。認証と認可の実行方法に応じて、いくつかのフレーバーまたは実装が利用可能です。OAuth 2.0アクセストークンをONTAPに提示する場合、そのトークンは_ベアラートークン_として識別されます。
- HTTP基本認証
-
初期のHTTP認証技術は、依然としてONTAPでサポートされています。プレーンテキストのクレデンシャル(ユーザ名とパスワード)は、コロンで連結され、Base64でエンコードされます。文字列は許可要求ヘッダーに配置され、サーバに送信されます。
- FAPI
-
OpenID Foundationのワーキング グループによって、金融業界向けのプロトコル、データ スキーマ、セキュリティに関する推奨事項が提供されています。このAPIは、もともとFinancial Grade APIとして知られていました。
- MITRE
-
米国空軍と米国政府に技術的ガイダンスや安全保障上のガイダンスを提供している、民間の非営利団体です。
その他のリソース
参考資料をいくつか紹介します。OAuth 2.0や関連する規格の詳細については、これらのサイトを参照してください。