AIDE REST APIの認証と認可
AIDE拡張機能を使用してONTAP REST APIを使用する前に、認証と認可のオプションを理解しておく必要があります。
ONTAP REST API認証オプション
ONTAP REST APIは、主に2つの認証方式をサポートしています。
- ベーシック認証
-
ベーシック認証は、HTTPプロトコルの一部として定義されているシンプルな手法です。ベーシック認証では、API呼び出しのAuthorizationヘッダーに、ユーザー名とパスワード(組み合わせてbase64でエンコードしたもの)を指定します。AIDE REST APIでの使用は推奨されませんが、既存のONTAP API呼び出しでは引き続き使用できます。
- OAuth 2.0認証
-
9.14.1以降、ONTAPはOAuth 2.0もサポートしています。これは、より安全で柔軟な認証フレームワークです。OAuth 2.0を使用する場合、外部のIDプロバイダー(IdP)からアクセストークンを要求し、それを各HTTPリクエストに含める必要があります。
AI Data EngineおよびOpenID Connect
OpenID Connect(OIDC)はOAuth 2.0に基づいて構築されており、ユーザーやアプリケーションの認証において、安全で標準化されたオプションを提供します。DCNおよびAIDE機能にアクセスするには、OIDCが必要です。"ONTAP の AIDE に OpenID Connect を設定する"後、ONTAP System Managerおよび搭載Swaggerページへのアクセスは、OIDC認証によって保護されます。
ONTAP System Managerで OIDC を設定する際、OAuth 2.0 が自動的に有効になり、OAuth 2.0 クライアントが作成されます。その後、IdP の token_endpoint を通じてアクセストークンを取得できます。これは通常、IdP メタデータ URI から特定できます。アクセストークンは、API 呼び出しの Authorization ヘッダーに含めて、AIDE リソースへのアクセスを認証および許可する必要があります。
ONTAP RBAC実装の強化
AIDE REST APIへのアクセスは、ONTAPのロールベースアクセス制御(RBAC)フレームワークを使用して保護されています。ユーザーは、ONTAPで適切なロールと権限が割り当てられている必要があります。これにより、AIDEリソースにアクセスし、REST APIを通じて操作を実行できます。
AIDEをサポートする追加のONTAPロールが2つあります。IdPで定義されている同等の外部ロールは、AIDEリソースへの必要なアクセスを提供するために、これらのONTAPロールにマッピングする必要があります。
|
|
2つの新しいONTAPロールに加えて、外部ストレージ管理者ロールを既存のONTAP `admin`ロールにマッピングする必要があります。詳細については、"AI Data Engineコンポーネントとロールベースの相互作用"および"ONTAP の AIDE に OpenID Connect を設定する"を参照してください。 |
- data-engineer
-
これは、AIDE Data EngineerのためのONTAP管理ロールで、事前定義されています。AIDE Data Engineeringタスクの実行に必要なエンドポイントと対応するCLIコマンドディレクトリのみにアクセスを制限します。タスクには、ワークスペースとデータコレクションの操作、ジョブの表示、および許可されている場合のファイルプレビューの使用が含まれます。
- データサイエンティスト
-
これは、AIDE Data ScientistのためのONTAP管理ロールの2番目の事前定義です。同様に、AIDEデータサイエンティストのワークフローに必要なREST APIと対応するCLIコマンドディレクトリのみにアクセスを制限します。
アクセス トークンの取得
REST API呼び出しで使用するアクセストークンを取得する必要があります。トークン要求はONTAPの外部で実行され、具体的な手順は認証サーバーとその構成によって異なります。トークンは、Webブラウザ、curlコマンド、またはプログラミング言語を使用して要求できます。例として、curlを使用してMicrosoft Entra IDからアクセストークンを要求する方法を示します。
以下の点に注意してください:
-
AIDE対応クラスタには"ONTAP の AIDE に OpenID Connect を設定する"が必要です。
-
IdPの `token_endpoint`を確認します。通常、OIDCメタデータURIから入手できます。
-
ご使用の IdP に基づいて、CLIENT_ID などの設定に適した値を見つけてください。
-
TENANT_ID、CLIENT_ID、CLIENT_SECRETなどの設定パラメータはUUID形式です。USERNAMEとPASSWORDは平文の認証情報です。
-
必要に応じて、Bashシェルで変数値を定義して、curlコマンドで使用することもできます。
-
ローカルワークステーションのCLIで次のコマンドを実行し、環境に基づいて変数の値を指定します。
curl --location "https://login.microsoftonline.com/$TENANT_ID/oauth2/v2.0/token" \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode "grant_type=password" \ --data-urlencode "client_id=$CLIENT_ID" \ --data-urlencode "client_secret=$CLIENT_SECRET" \ --data-urlencode "scope=$SCOPE/.default" \ --data-urlencode "username=$USERNAME" \ --data-urlencode "password=$PASSWORD" -
応答を確認し、REST API 呼び出しで使用するアクセストークンを抽出します。