Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

允许LDAP或域用户生成自己的ONTAP S3访问密钥

贡献者

从ONTAP 9.14.1开始、作为ONTAP管理员、您可以创建自定义角色并将其授予本地或域组或轻型目录访问协议(Lightweight-Directory Access Protocol、LDAP)组、以便属于这些组的用户可以生成自己的访问权限和机密密钥来进行S3客户端访问。

您必须在Storage VM上执行一些配置步骤、才能创建自定义角色并将其分配给调用API以生成访问密钥的用户。

开始之前

确保满足以下要求:

  1. 已创建一个包含S3服务器且已启用S3的Storage VM。请参见 "为 S3 创建 SVM"

  2. 已在此Storage VM中创建存储分段。请参见 "创建存储分段"

  3. 已在Storage VM上配置DNS。请参见 "配置 DNS 服务"

  4. 此Storage VM上安装了LDAP服务器的自签名根证书颁发机构(CA)证书。请参见 "在 SVM 上安装自签名根 CA 证书"

  5. LDAP客户端已在Storage VM上配置为启用TLS。请参阅。 "创建 LDAP 客户端配置"

  6. 将客户端配置与Vserver相关联。请参阅。 "将 LDAP 客户端配置与 SVM 关联"要详细了解ONTAP命令参考中的link:https://docs NetApp.ONTAP-CLI//vserver-services-name-service-ldap-create.html[vserver services name-service ldap create^)命令。

  7. 如果您使用的是数据Storage VM、请在此VM上创建管理网络接口(LIF)和、并为此LIF创建一个服务策略。有关命令的[network interface service-policy create`详细信息[`network interface create、请参见ONTAP命令参考。

配置用户以生成访问密钥

  1. 指定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

    有关链接:https://docs NetApp.ONTAP-CLI/vserver-services-name-service-ns-switch-modify.html^的更多信息,请[`vserver services name-service ns-switch modify`参阅ONTAP命令参考。

  2. 创建可访问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

    有关链接:https://docs NetApp.ONTAP-CLI/security-login-rest-role-create.html^的更多信息,请[`security login rest-role create`参阅ONTAP命令参考。

  3. 使用security login命令创建一个LDAP用户组、然后添加用于访问S3用户REST API端点的新自定义角色。要详细了解ONTAP命令参考中的link:https://docs NetApp.ONTAP-CLI//security-login-create.html[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

    有关详细信息,请参见 "使用LDAP快速绑定进行nsswitch身份验证"

将自定义角色添加到域或LDAP组后、该组中的用户可以对ONTAP进行有限的访问 /api/protocols/s3/services/{svm.uuid}/users 端点。通过调用API、域或LDAP组用户可以生成自己的访问权限和机密密钥来访问S3客户端。他们只能为自己生成密钥、而不能为其他用户生成密钥。

作为S3或LDAP用户、生成您自己的访问密钥

从ONTAP 9.14.1开始、如果管理员已授予您生成自己密钥的角色、您可以生成自己的访问权限和机密密钥来访问S3客户端。您只能使用以下ONTAP REST API端点为自己生成密钥。

HTTP方法和端点

此REST API调用使用以下方法和端点。有关此端点的其他方法的信息、请参见参考 "API文档"

HTTP 方法 路径

发布

/api/protocols、s3/services /{svm.unid}/用户

curl 示例
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_"}'
JSON 输出示例
{
  "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"
}