允许LDAP或域用户生成自己的S3访问密钥
从ONTAP 9.14.1开始、作为ONTAP管理员、您可以创建自定义角色并将其授予本地或域组或轻型目录访问协议(Lightweight-Directory Access Protocol、LDAP)组、以便属于这些组的用户可以生成自己的访问权限和机密密钥来进行S3客户端访问。
您必须在Storage VM上执行一些配置步骤、才能创建自定义角色并将其分配给调用API以生成访问密钥的用户。
确保满足以下要求:
-
已创建一个包含S3服务器且已启用S3的Storage VM。请参见 "为 S3 创建 SVM"。
-
已在此Storage VM中创建存储分段。请参见 "创建存储分段"。
-
已在Storage VM上配置DNS。请参见 "配置 DNS 服务"。
-
此Storage VM上安装了LDAP服务器的自签名根证书颁发机构(CA)证书。请参见 "在 SVM 上安装自签名根 CA 证书"。
-
LDAP客户端已在Storage VM上配置为启用TLS。请参阅。 "创建 LDAP 客户端配置"
-
将客户端配置与Vserver相关联。请参见 "将 LDAP 客户端配置与 SVM 关联" 和 "vserver services name-service ldap create"。
-
如果您使用的是数据Storage VM、请在此VM上创建管理网络接口(LIF)和、并为此LIF创建一个服务策略。请参见 "创建网络接口" 和 "network interface service-policy create" 命令
配置用户以生成访问密钥
-
指定LDAP作为组的Storage VM的_name service database _、并为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" 命令:
-
创建可访问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" 命令:
-
使用security login命令创建一个LDAP用户组、然后添加用于访问S3用户REST API端点的新自定义角色。有关此命令的详细信息、请参见 "创建安全登录" 命令:
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
有关详细信息,请参见 "使用LDAP快速绑定进行nsswitch身份验证"。
将自定义角色添加到域或LDAP组后、该组中的用户可以对ONTAP进行有限的访问 /api/protocols/s3/services/{svm.uuid}/users
端点。通过调用API、域或LDAP组用户可以生成自己的访问权限和机密密钥来访问S3客户端。他们只能为自己生成密钥、而不能为其他用户生成密钥。
作为S3或LDAP用户、生成您自己的访问密钥
从ONTAP 9.14.1开始、如果管理员已授予您生成自己密钥的角色、您可以生成自己的访问权限和机密密钥来访问S3客户端。您只能使用以下ONTAP REST API端点为自己生成密钥。
此REST API调用使用以下方法和端点。有关此端点的其他方法的信息、请参见参考 "API文档"。
HTTP 方法 | 路径 |
---|---|
发布 |
/api/protocols、s3/services /{svm.unid}/用户 |
curl
--request POST \
--location "https://$FQDN_IP /api/protocols/s3/services/{svm.uuid}/users " \
--include \
--header "Accept: */*" \
--header "Authorization: Basic $BASIC_AUTH"
--data '{"name":"_name_"}'
{ "records": [ { "access_key": "Pz3SB54G2B_6dsXQPrA5HrTPcf478qoAW6_Xx6qyqZ948AgZ_7YfCf_9nO87YoZmskxx3cq41U2JAH2M3_fs321B4rkzS3a_oC5_8u7D8j_45N8OsBCBPWGD_1d_ccfq", "_links": { "next": { "href": "/api/resourcelink" }, "self": { "href": "/api/resourcelink" } }, "name": "user-1", "secret_key": "A20_tDhC_cux2C2BmtL45bXB_a_Q65c_96FsAcOdo14Az8V31jBKDTc0uCL62Bh559gPB8s9rrn0868QrF38_1dsV2u1_9H2tSf3qQ5xp9NT259C6z_GiZQ883Qn63X1" } ], "num_records": "1" }