LDAPまたはドメインユーザーが独自のONTAP S3アクセスキーを生成できるようにする
ONTAP 9.14.1以降では、ONTAP管理者がカスタム ロールを作成し、それをローカル グループ、ドメイン グループ、またはLightweight Directory Access Protocol(LDAP)グループに割り当てることができます。このようにすると、各グループに所属するユーザがS3クライアント アクセス用に自身のアクセス キーとシークレット キーを生成できるようになります。
カスタムロールを作成し、アクセスキー生成用のAPIを呼び出すユーザーに割り当てることができるように、ストレージVMでいくつかの設定手順を実行する必要があります。
|
|
LDAPが無効になっている場合は、"ONTAP S3アクセス用の外部ディレクトリサービスを設定する"ユーザーがアクセスキーを生成できるようにすることができます。 |
以下を確認してください。
-
S3サーバを含むS3対応Storage VMが作成されました。"S3用SVMの作成"を参照してください。
-
ストレージVMにバケットが作成されました。"バケットの作成"を参照してください。
-
ストレージVMにDNSが設定されています。"DNSサービスを設定する"を参照してください。
-
LDAPサーバの自己署名ルート認証局(CA)証明書がストレージVMにインストールされています。"SVMに自己署名ルートCA証明書をインストールする"を参照してください。
-
Storage VMでTLSが有効になっているLDAPクライアントが設定されています。"ONTAP NFSアクセス用のLDAPクライアント構成を作成する"を参照してください。
-
クライアント構成をVserverに関連付けます。"LDAPクライアント設定をONTAP NFS SVMに関連付ける"を参照してください。 `vserver services name-service ldap create`の詳細については、"ONTAPコマンド リファレンス"を参照してください。
-
データストレージVMを使用している場合は、VM上に管理ネットワークインターフェース(LIF)と、LIFのサービスポリシーを作成します。 `network interface create`と `network interface service-policy create`の詳細については、"ONTAPコマンド リファレンス"を参照してください。
アクセス キー生成のためのユーザの設定
-
ストレージVMのグループとパスワードの_ネームサービスデータベース_としてLDAPを指定します:
ns-switch modify -vserver <vserver-name> -database group -sources files,ldap ns-switch modify -vserver <vserver-name> -database passwd -sources files,ldap`vserver services name-service ns-switch modify`の詳細については、link:https://docs.netapp.com/us-en/ontap-cli/vserver-services-name-service-ns-switch-modify.html["ONTAPコマンド リファレンス"^]を参照してください。
-
S3ユーザREST APIエンドポイントへのアクセス権を持つカスタムロールを作成します:
`security login rest-role create -vserver <vserver-name> -role <custom-role-name> -api "/api/protocols/s3/services/*/users" -access <access-type>`この例では、 `s3-role`ロールがストレージVM `svm-1`上のユーザーに対して生成され、読み取り、作成、更新のすべてのアクセス権が付与されます。security login rest-role create -vserver svm-1 -role s3role -api "/api/protocols/s3/services/*/users" -access all
`security login rest-role create`の詳細については、link:https://docs.netapp.com/us-en/ontap-cli/security-login-rest-role-create.html["ONTAPコマンド リファレンス"^]を参照してください。
-
`security login`コマンドを使用してLDAPユーザーグループを作成し、S3ユーザーREST APIエンドポイントにアクセスするための新しいカスタムロールを追加します。"ONTAPコマンド リファレンス"の `security login create`の詳細をご覧ください。
security login create -user-or-group-name <ldap-group-name> -application http -authentication-method nsswitch -role <custom-role-name> -is-ns-switch-group yesこの例では、LDAPグループ `ldap-group-1`が `svm-1`に作成され、カスタムロール `s3role`がAPIエンドポイントにアクセスするために追加され、高速バインドモードでのLDAPアクセスが有効になります。
security login create -user-or-group-name ldap-group-1 -application http -authentication-method nsswitch -role s3role -is-ns-switch-group yes -second-authentication-method none -vserver svm-1 -is-ldap-fastbind yes
詳細については、"ONTAP NFS SVMのnsswitch認証にLDAP高速バインドを使用する"を参照してください。
`security login create`の詳細については、link:https://docs.netapp.com/us-en/ontap-cli/security-login-create.html["ONTAPコマンド リファレンス"^]をご覧ください。
LDAPグループにカスタムロールを追加すると、そのグループ内のユーザーにONTAP `/api/protocols/s3/services/{svm.uuid}/users`エンドポイントへの限定的なアクセスが許可されます。APIを呼び出すことで、LDAPグループのユーザーはS3クライアントにアクセスするための独自のアクセスキーとシークレットキーを生成できます。キーは自分自身のみ生成でき、他のユーザー用には生成できません。
-
S3ユーザREST APIエンドポイントへのアクセス権を持つカスタム ロールを作成します。
security login rest-role create -vserver <vserver-name> -role <custom-role-name> -api "/api/protocols/s3/services/*/users" -access <access-type>
この例では、 `s3-role`ロールがストレージVM `svm-1`上のユーザーに対して生成され、読み取り、作成、更新のすべてのアクセス権が付与されます。
security login rest-role create -vserver svm-1 -role s3role -api "/api/protocols/s3/services/*/users" -access all
`security login rest-role create`の詳細については、link:https://docs.netapp.com/us-en/ontap-cli/security-login-rest-role-create.html["ONTAPコマンド リファレンス"^]を参照してください。
-
`security login`コマンドを使用してドメインユーザーグループを作成し、S3ユーザーREST APIエンドポイントにアクセスするための新しいカスタムロールを追加します。"ONTAPコマンド リファレンス"の `security login create`の詳細をご覧ください。
security login create -vserver <vserver-name> -user-or-group-name domain\<group-name> -application http -authentication-method domain -role <custom-role-name>この例では、ドメイングループ `domain\group1`が `svm-1`に作成され、カスタムロール `s3role`がAPIエンドポイントにアクセスするためにそのグループに追加されます。
security login create -user-or-group-name domain\group1 -application http -authentication-method domain -role s3role -vserver svm-1
`security login create`の詳細については、link:https://docs.netapp.com/us-en/ontap-cli/security-login-create.html["ONTAPコマンド リファレンス"^]をご覧ください。
ドメイングループにカスタムロールを追加すると、そのグループ内のユーザーに ONTAP /api/protocols/s3/services/{svm.uuid}/users エンドポイントへの限定的なアクセスが許可されます。API を呼び出すことで、ドメイングループのユーザーは S3 クライアントにアクセスするための独自のアクセスキーとシークレットキーを生成できます。キーは自分自身のみ生成でき、他のユーザー用には生成できません。
S3ユーザまたはLDAPユーザによる独自のアクセス キーの生成
ONTAP 9.14.1以降では、独自のキーを生成できるロールが割り当てられているユーザは、S3クライアントにアクセスするための独自のアクセス キーとシークレット キーを生成できます。次のONTAP REST APIエンドポイントを使用すると、自分専用のキーを生成できます。
このREST API呼び出しでは、以下のメソッドとエンドポイントを使用します。このエンドポイントの詳細については、リファレンス "APIのドキュメント"をご覧ください。
| HTTPメソッド | パス |
|---|---|
POST |
/api/protocols/s3/services/{svm.uuid}/users |
ドメインユーザーの場合は、S3ユーザー名に次の形式を使用します: user@fqdn。ここで、 `fqdn`はドメインの完全修飾ドメイン名です。
curl
--request POST \
--location "https://$FQDN_IP /api/protocols/s3/services/{svm.uuid}/users " \
--include \
--header "Accept: */*" \
--header "Authorization: Basic $BASIC_AUTH"
--data '{"name":"user1@example.com"}'
{
"records": [
{
"access_key": "4KX07KF7ML8YNWY01JWG",
"_links": {
"next": {
"href": "/api/resourcelink"
},
"self": {
"href": "/api/resourcelink"
}
},
"name": "user1@example.com",
"secret_key": "<secret_key_value>"
}
],
"num_records": "1"
}
S3ユーザーが既に存在する場合は、アクセスキーとシークレットキーを再生成できます。このREST API呼び出しでは、以下のメソッドとエンドポイントを使用します。
| HTTPメソッド | パス |
|---|---|
PATCH |
/api/protocols/s3/services/{svm.uuid}/users/{name} |
curl
--request PATCH \
--location "https://$FQDN_IP /api/protocols/s3/services/{svm.uuid}/users/{name} " \
--include \
--header "Authorization: Basic $BASIC_AUTH" \
--data '{"regenerate_keys":"True"}'
{
"records": [
{
"access_key": "DX12U609DMRVD8U30Z1M",
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "user1@example.com",
"secret_key": "<secret_key_value>"
}
],
"num_records": "1"
}