ONTAP REST APIを使用してロールを持つユーザを作成する
このワークフローを使用して、RESTロールを関連付けたユーザを作成できます。
このワークフローには、カスタムRESTロールを作成して新しいユーザアカウントに関連付けるために必要な一般的な手順が含まれています。ユーザとロールの両方にSVMスコープがあり、特定のデータSVMに関連付けられています。一部の手順はオプションである場合もあれば、環境に応じて変更する必要がある場合もあります。
手順1:クラスタ内のデータSVMをリストする
次のREST API呼び出しを実行して、クラスタ内のSVMを表示します。各SVMのUUIDと名前が出力に表示されます。
このREST API呼び出しでは、次のメソッドとエンドポイントを使用します。
| HTTP メソッド | パス | 
|---|---|
取得  | 
/api/SVM/SVMs  | 
curl --request GET \
--location "https://$FQDN_IP/api/svm/svms?order_by=name" \
--include \
--header "Accept: */*" \
--header "Authorization: Basic $BASIC_AUTH"
リストから必要なSVMを選択し、新しいユーザとロールを作成します。
手順2:SVMに定義されているユーザを表示する
選択したSVMで定義されているユーザを表示するために、次のREST API呼び出しを実行します。SVMは、ownerパラメータを使用して識別できます。
このREST API呼び出しでは、次のメソッドとエンドポイントを使用します。
| HTTP メソッド | パス | 
|---|---|
取得  | 
/api/security/accounts(/api/security/アカウント)  | 
curl --request GET \
--location "https://$FQDN_IP/api/security/accounts?owner.name=dmp" \
--include \
--header "Accept: */*" \
--header "Authorization: Basic $BASIC_AUTH"
SVMですでに定義されているユーザに基づいて、新しいユーザの一意の名前を選択します。
手順3:SVMに定義されているRESTロールを表示する
次のREST API呼び出しを実行し、選択したSVMで定義されているロールをリストします。SVMは、ownerパラメータを使用して識別できます。
このREST API呼び出しでは、次のメソッドとエンドポイントを使用します。
| HTTP メソッド | パス | 
|---|---|
取得  | 
/api/security/rolesのように入力します  | 
curl --request GET \
--location "https://$FQDN_IP/api/security/roles?owner.name=dmp" \
--include \
--header "Accept: */*" \
--header "Authorization: Basic $BASIC_AUTH" \
--data @JSONinput
SVMですでに定義されているロールに基づいて、新しいロールに一意の名前を選択します。
手順4:カスタムRESTロールを作成する
次のREST API呼び出しを実行して、SVMでカスタムのRESTロールを作成します。最初は権限を1つしか持たず、すべてのアクセスが拒否されるようにするために、このロールにはデフォルトのアクセスである* none *が設定されます。
このREST API呼び出しでは、次のメソッドとエンドポイントを使用します。
| HTTP メソッド | パス | 
|---|---|
投稿( Post )  | 
/api/security/rolesのように入力します  | 
curl --request POST \
--location "https://$FQDN_IP/api/security/roles" \
--include \
--header "Accept: */*" \
--header "Authorization: Basic $BASIC_AUTH" \
--data @JSONinput
{
  "name": "dprole1",
  "owner": {
    "name": "dmp",
    "uuid": "752d96be-f17c-11ec-9d19-005056bbad91"
  },
  "privileges": [
      {"path": "/api", "access": "none"},
  ]
}
必要に応じて、手順3をもう一度実行して新しいロールを表示します。ONTAP CLIでもロールを表示できます。
手順5:権限を追加してロールを更新する
必要に応じて権限を追加してロールを変更するには、次のREST API呼び出しを実行します。
このREST API呼び出しでは、次のメソッドとエンドポイントを使用します。
| HTTP メソッド | パス | 
|---|---|
投稿( Post )  | 
/api/security/roles/{owner.uuid}/{name}/privileges  | 
この手順のcurlの例では、すべてのREST API呼び出しに共通のパラメータに加えて、次のパラメータも使用しています。
| パラメータ | を入力します | 必須 | 説明 | 
|---|---|---|---|
$SVM_ID  | 
パス  | 
はい。  | 
ロールの定義が含まれているSVMのUUID。  | 
$ロール名  | 
パス  | 
はい。  | 
更新するSVM内のロールの名前を指定します。  | 
curl --request POST \
--location "https://$FQDN_IP/api/security/roles/$SVM_ID/$ROLE_NAME/privileges" \
--include \
--header "Accept: */*" \
--header "Authorization: Basic $BASIC_AUTH" \
--data @JSONinput
{
  "path": "/api/storage/volumes",
  "access": "readonly"
}
必要に応じて、手順3をもう一度実行して新しいロールを表示します。ONTAP CLIでもロールを表示できます。
手順6:ユーザを作成する
ユーザアカウントを作成するには、次のREST API呼び出しを実行します。上で作成したロール*dprole1*は、新しいユーザに関連付けられています。
| 
 | 
ロールを指定せずにユーザを作成できます。この場合、ユーザにはデフォルトのロール( admin または vsadmin)ユーザがクラスタスコープとSVMスコープのどちらで定義されているかに応じて変わります。別のロールを割り当てるには、ユーザを変更する必要があります。
 | 
このREST API呼び出しでは、次のメソッドとエンドポイントを使用します。
| HTTP メソッド | パス | 
|---|---|
投稿( Post )  | 
/api/security/accounts(/api/security/アカウント)  | 
curl --request POST \
--location "https://$FQDN_IP/api/security/accounts" \
--include \
--header "Accept: */*" \
--header "Authorization: Basic $BASIC_AUTH" \
--data @JSONinput
{
  "owner": {"uuid":"daf84055-248f-11ed-a23d-005056ac4fe6"},
  "name": "david",
  "applications": [
      {"application":"ssh",
       "authentication_methods":["password"],
       "second_authentication_method":"none"}
  ],
  "role":"dprole1",
  "password":"netapp123"
}
SVM管理インターフェイスにサインインするには、新しいユーザのクレデンシャルを使用します。