Skip to main content
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

ONTAP S3アクセス用の外部ディレクトリサービスの設定

共同作成者 netapp-dbagwell johnlantz netapp-barbe netapp-aaron-holt netapp-lenida netapp-aherbin netapp-ahibbard

ONTAP 9 .14.1以降では、外部ディレクトリのサービスがONTAP S3オブジェクトストレージに統合されました。この統合により、外部ディレクトリサービスによるユーザとアクセスの管理が簡素化されます。

外部ディレクトリサービスに属するユーザーグループに、ONTAPオブジェクトストレージ環境へのアクセス権限を付与できます。LDAP(Lightweight Directory Access Protocol)は、Active Directoryなどのディレクトリサービスと通信するためのインターフェイスであり、IDおよびアクセス管理(IAM)用のデータベースとサービスを提供します。アクセスを提供するには、ONTAP S3環境でLDAPグループを設定する必要があります。アクセスの設定が完了すると、グループ メンバーにONTAP S3バケットに対する権限が付与されます。LDAPの詳細については、を参照してください"ONTAP NFS SVM での LDAP ネームサービスの使用について学習します"

また、Active Directoryユーザグループを高速バインドモードに設定して、ユーザクレデンシャルを検証し、サードパーティおよびオープンソースのS3アプリケーションをLDAP接続を介して認証できるようにすることもできます。

開始する前に

LDAPグループを設定し、グループアクセスの高速バインドモードを有効にする前に、次のことを確認してください。

  1. S3サーバを含むS3対応Storage VMが作成されている。を参照して "S3用のSVMの作成"

  2. そのStorage VMにバケットが作成されている。を参照して "バケットを作成する"

  3. Storage VMにDNSが設定されています。を参照して "DNSサービスの設定"

  4. LDAP サーバーの自己署名ルート証明機関 (CA) 証明書がストレージ VM にインストールされます。を参照して "SVMに自己署名ルートCA証明書をインストールする"

  5. SVM で TLS が有効になっている LDAP クライアントが構成されています。およびを参照してください"ONTAP NFSアクセス用のLDAPクライアント構成を作成する""LDAPクライアント設定をONTAP NFS SVMに関連付けて情報を取得する"

LDAP用のS3アクセスの設定

  1. グループのSVMの_name service database_ofとしてldapを指定し、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の詳細については、ONTAPコマンドリファレンスを参照してください。NetApp .com /us-en/ ONTAP -CLI/ vserver-services-name-service-ns-switch-modify.html[vserver services name-service ns-switch modify^]コマンドを参照してください。

  2. オブジェクトストアバケットポリシーのステートメントを作成し、アクセスを許可するLDAPグループを設定し `principal`ます。

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

    例:次の例は、用のバケットポリシーステートメントを作成します buck1。このポリシーは、LDAPグループにリソース(バケットとそのオブジェクト)への `buck1`アクセスを許可し `group1`ます。

    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グループのユーザがS3クライアントからS3処理を実行できることを確認します group1

認証にLDAP高速バインドモードを使用する

  1. グループのSVMの_name service database_ofとしてldapを指定し、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の詳細については、ONTAPコマンドリファレンスを参照してください。NetApp .com /us-en/ ONTAP -CLI/ vserver-services-name-service-ns-switch-modify.html[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処理を実行します。

Base64 クレデンシャル

ONTAP S3のデフォルト設定ではHTTPは除外され、HTTPSとTransport Layer Security(TLS)接続のみが使用されます。ONTAPでは自己署名証明書を生成できますが、サードパーティの認証局(CA)の証明書を使用することを推奨します。CA証明書を使用する場合は、クライアントアプリケーションとONTAPオブジェクトストアサーバの間に信頼された関係を作成します。

Base64を使用してエンコードされたクレデンシャルは簡単にデコードできることに注意してください。HTTPSを使用すると、man-in-the-middleパケットスニファによってエンコードされたクレデンシャルがキャプチャされなくなります。

事前に署名されたURLを作成する場合は、認証にLDAP高速バインドモードを使用しないでください。認証は、事前に署名されたURLに含まれるBase64アクセスキーのみに基づいて行われます。ユーザー名とパスワードは、Base64アクセスキーをデコードするすべてのユーザーに公開されます。

認証方式がnsswitchでLDAPが有効な場合の例

$curl -siku <user>:<user_password> -X POST https://<LIF_IP_Address>/api/protocols/s3/services/<SVM_UUID>/users -d {"comment":"<S3_user_name>", "name":<user>,"key_time_to_live":"PT6H3M"}
メモ APIを、SVMのデータLIFではなくクラスタ管理LIFに転送します。ユーザに独自のキーの生成を許可する場合、curlを使用するには、ユーザのロールにHTTP権限を追加する必要があります。この権限は、S3 API権限に追加されたものです。

Active Directory または SMB サーバーの S3 アクセスを構成する

バケットポリシーステートメントで指定されたnasgroupまたはnasgroupに含まれるユーザにUIDとGIDが設定されていない場合、これらの属性が見つからないと検索が失敗します。Active DirectoryはUIDではなくSIDを使用します。SIDエントリをUIDにマッピングできない場合は、必要なデータをONTAPに取り込む必要があります。

これには、SVMがActive Directoryで認証され、必要なユーザとグループの情報を取得できるようにを使用し"vserver active-directory create"ます。

または、を使用して"vserver cifs create"Active DirectoryドメインにSMBサーバを作成します。

ネームサーバとオブジェクトストアで異なるドメイン名を使用している場合、検索エラーが発生する可能性があります。検索エラーを回避するため、 NetApp、UPN形式のリソース認証に信頼できるドメインを使用することを推奨しています。 `nasgroup/group@trusted_domain.com`信頼されたドメインとは、SMBサーバーの信頼されたドメインリストに追加されたドメインです。 "優先する信頼ドメインの追加、削除、変更" SMB サーバー リストに表示されます。

認証方式がドメインで信頼できるドメインがActive Directoryで設定されている場合にキーを生成する

UPN形式で指定されたユーザを持つエンドポイントを使用します s3/services/<svm_uuid>/users 。例:

$curl -siku FQDN\\user:<user_password> -X POST https://<LIF_IP_Address>/api/protocols/s3/services/<SVM_UUID>/users -d {"comment":"<S3_user_name>", "name":<user@fqdn>,"key_time_to_live":"PT6H3M"}
メモ APIを、SVMのデータLIFではなくクラスタ管理LIFに転送します。ユーザに独自のキーの生成を許可する場合、curlを使用するには、ユーザのロールにHTTP権限を追加する必要があります。この権限は、S3 API権限に追加されたものです。

認証方式がdomainで、信頼できるドメインがない場合にキーを生成する

この処理は、LDAPが無効になっている場合、またはPOSIX以外のユーザがUIDとGIDを設定していない場合に実行できます。例:

$curl -siku FQDN\\user:<user_password> -X POST https://<LIF_IP_Address>/api/protocols/s3/services/<SVM_UUID>/users -d {"comment":"<S3_user_name>", "name":<user[@fqdn]>,"key_time_to_live":"PT6H3M"}
メモ APIを、SVMのデータLIFではなくクラスタ管理LIFに転送します。ユーザに独自のキーの生成を許可する場合、curlを使用するには、ユーザのロールにHTTP権限を追加する必要があります。この権限は、S3 API権限に追加されたものです。オプションのドメイン値(@FQDN)をユーザ名に追加する必要があるのは、信頼できるドメインがない場合だけです。