LDAPユーザまたはドメインユーザが独自のONTAP S3アクセスキーを生成できるようにする
ONTAP 9 .14.1以降では、ONTAP管理者としてカスタムロールを作成し、ローカルグループ、ドメイングループ、またはLightweight Directory Access Protocol(LDAP)グループに付与して、それらのグループに属するユーザがS3クライアントアクセス用の独自のアクセスキーとシークレットキーを生成できるようにすることができます。
カスタムロールを作成してアクセスキーを生成するAPIを呼び出すユーザに割り当てるには、Storage VMでいくつかの設定手順を実行する必要があります。
|
LDAPが無効になっている場合は、 "ONTAP S3 アクセス用の外部ディレクトリ サービスを構成する"ユーザーがアクセス キーを生成できるようにします。 |
次の点を確認します。
-
S3サーバを含むS3対応Storage VMが作成されている。を参照して "S3用のSVMの作成"
-
そのStorage VMにバケットが作成されている。を参照して "バケットを作成する"
-
Storage VMにDNSが設定されています。を参照して "DNSサービスの設定"
-
LDAP サーバーの自己署名ルート証明機関 (CA) 証明書がストレージ VM にインストールされます。を参照して "SVMに自己署名ルートCA証明書をインストールする"
-
ストレージ VM 上で TLS が有効になっている LDAP クライアントが構成されています。を参照して "ONTAP NFSアクセス用のLDAPクライアント構成を作成する"
-
クライアント設定をSVMに関連付けます。を参照して "LDAPクライアント設定をONTAP NFS SVMに関連付ける"の詳細については
vserver services name-service ldap create
、を"ONTAPコマンド リファレンス"参照してください。 -
データStorage VMを使用している場合は、管理ネットワークインターフェイス(LIF)とVM上に、LIFのサービスポリシーを作成します。および
network interface service-policy create`の詳細については `network interface create
、を"ONTAPコマンド リファレンス"参照してください。
アクセスキー生成のためのユーザの設定
-
グループのStorage VMの_name service database_としてldapを指定し、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
、を"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
、Storage 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
、を"ONTAPコマンド リファレンス"参照してください。 -
LDAPユーザーグループを作成します。 `security login`コマンドを実行し、S3 ユーザー REST API エンドポイントにアクセスするための新しいカスタム ロールを追加します。詳細はこちら `security login create`の中で"ONTAPコマンド リファレンス" 。
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
、APIエンドポイントにアクセスするためのカスタムロールを `s3role`追加し、高速バインドモードで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
、を"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
、を"ONTAPコマンド リファレンス"参照してください。
-
ドメインユーザーグループを作成します。 `security login`コマンドを実行し、S3 ユーザー REST API エンドポイントにアクセスするための新しいカスタム ロールを追加します。詳細はこちら `security login create`の中で"ONTAPコマンド リファレンス" 。
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
、を"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メソッド | パス |
---|---|
投稿 |
/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" }