ONTAP S3アクセス用の外部ディレクトリサービスの設定
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グループを設定し、グループアクセスの高速バインドモードを有効にする前に、次のことを確認してください。
-
S3サーバを含むS3対応Storage VMが作成されている。を参照して "S3用のSVMの作成"
-
そのStorage VMにバケットが作成されている。を参照して "バケットを作成する"
-
Storage VMにDNSが設定されています。を参照して "DNSサービスの設定"
-
LDAP サーバーの自己署名ルート証明機関 (CA) 証明書がストレージ VM にインストールされます。を参照して "SVMに自己署名ルートCA証明書をインストールする"
-
SVM で TLS が有効になっている LDAP クライアントが構成されています。およびを参照してください"ONTAP NFSアクセス用のLDAPクライアント構成を作成する""LDAPクライアント設定をONTAP NFS SVMに関連付けて情報を取得する"。
LDAP用のS3アクセスの設定
-
グループの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
^]コマンドを参照してください。 -
オブジェクトストアバケットポリシーのステートメントを作成し、アクセスを許可する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/*
-
LDAPグループのユーザがS3クライアントからS3処理を実行できることを確認します
group1
。
認証にLDAP高速バインドモードを使用する
-
グループの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
^]コマンドを参照してください。 -
S3バケットにアクセスするLDAPユーザの権限がバケットポリシーで定義されていることを確認します。詳細については、を参照してください "バケットポリシーを変更する"。
-
LDAPグループのユーザが次の処理を実行できることを確認します。
-
S3クライアントでアクセスキーを次の形式で設定します。
"NTAPFASTBIND" + base64-encode(user-name:password)`例 `"NTAPFASTBIND"
:+base64-encode(ldapuser:password)。
NTAPFASTBINDbGRhcHVzZXI6cGFzc3dvcmQ=
S3クライアントからシークレットキーの入力を求められることがあります。シークレットキーがない場合は、16文字以上のパスワードを入力できます。 -
ユーザに権限が割り当てられている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)をユーザ名に追加する必要があるのは、信頼できるドメインがない場合だけです。 |