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

配置外部目录服务的S3访问

贡献者

从ONTAP 9.14.1开始、外部目录服务已与ONTAP S3对象存储集成。这种集成通过外部目录服务简化了用户和访问管理。

您可以为属于外部目录服务的用户组提供对ONTAP对象存储环境的访问权限。轻型目录访问协议(LDAP)是一个用于与目录服务(如Active Directory)通信的接口、这些服务为身份和访问管理(IAM)提供数据库和服务。要提供访问权限、您需要在ONTAP S3环境中配置LDAP组。配置访问权限后、组成员将有权访问ONTAP S3存储分段。有关LDAP的信息、请参见 "LDAP 使用概述"

您还可以将Active Directory用户组配置为快速绑定模式、以便验证用户凭据、并通过LDAP连接对第三方和开源S3应用程序进行身份验证。

开始之前

在配置LDAP组并为组访问启用快速绑定模式之前、请确保满足以下要求:

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

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

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

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

  5. LDAP客户端在SVM上配置为启用TLS。请参见 "创建 LDAP 客户端配置""请将LDAP客户端配置与SVM关联以了解相关信息"

配置外部目录服务的S3访问

  1. 指定LDAP作为组的SVM的_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" 命令:

  2. 使用创建对象存储分段策略语句 principal 设置为要授予访问权限的LDAP组:

    object-store-server bucket policy statement create -bucket <bucket-name> -effect allow -principal nasgroup/<ldap-group-name> -resource <bucket-name>, <bucket-name>/*

    示例:以下示例将为创建存储分段策略语句 buck1。此策略允许对LDAP组进行访问 group1 资源(存储分段及其对象) buck1

    vserver object-store-server bucket policy add-statement -bucket buck1 -effect allow -action
    GetObject,PutObject,DeleteObject,ListBucket,GetBucketAcl,GetObjectAcl,ListBucketMultipartUploads,ListMultipartUploadParts, ListBucketVersions,GetObjectTagging,PutObjectTagging,DeleteObjectTagging,GetBucketVersioning,PutBucketVersioning -principal nasgroup/group1 -resource buck1, buck1/*
  3. 验证LDAP组中的用户 group1 能够从S3客户端执行S3操作。

使用LDAP快速绑定模式进行身份验证

  1. 指定LDAP作为组的SVM的_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" 命令:

  2. 确保访问S3存储分段的LDAP用户具有存储分段策略中定义的权限。有关详细信息,请参见 "修改存储分段策略"

  3. 验证LDAP组中的用户是否可以执行以下操作:

    1. 在S3客户端上按以下格式配置访问密钥:
      "NTAPFASTBIND" + base64-encode(user-name:password)
      示例 "NTAPFASTBIND" + base64-encode (LDAPUser:password)、这将导致出现此问题
      NTAPFASTBINDbGRhcHVzZXI6cGFzc3dvcmQ=

      备注 S3客户端可能会提示输入机密密钥。如果没有机密密钥、则可以输入任何至少包含16个字符的密码。
    2. 从用户拥有权限的S3客户端执行基本S3操作。

不具有UID和GID的用户的Active Directory资源身份验证

如果bket-policy语句中指定的鼻组或属于鼻组的用户未设置UID和GID、则在未找到这些属性时、查找将失败。

为避免查找失败、NetApp建议使用受信任域以UPN格式进行资源授权:nsgroup/group@trusted_domain.com

在不使用LDAP快速绑定时为受信任域用户生成用户访问密钥

对以UPN格式指定的用户使用 s3/services/<svm_uuid>/users 端点。示例:

$curl -siku FQDN\\user:<user_name> -X POST https://<LIF_IP_Address>/api/protocols/s3/services/<SVM_UUID>/users -d {"comment":"<S3_user_name>", "name":<user[@fqdn](https://github.com/fqdn)>,"<key_time_to_live>":"PT6H3M"}'