Configurar serviços de diretório externo para acesso ao ONTAP S3
A partir do ONTAP 9.14,1, os serviços para diretórios externos foram integrados ao armazenamento de objetos ONTAP S3. Essa integração simplifica o gerenciamento de usuários e acessos por meio de serviços de diretório externos.
Você pode fornecer grupos de usuários pertencentes a um serviço de diretório externo com acesso ao ambiente de storage de objetos do ONTAP. O LDAP (Lightweight Directory Access Protocol) é uma interface para comunicação com serviços de diretório, como o ative Directory, que fornece um banco de dados e serviços para gerenciamento de identidade e acesso (IAM). Para fornecer acesso, é necessário configurar grupos LDAP no ambiente do ONTAP S3. Depois de configurar o acesso, os membros do grupo têm permissões para buckets do ONTAP S3. Para obter informações sobre LDAP, "Aprenda sobre o uso de serviços de nomes LDAP em SVMs ONTAP NFS"consulte .
Você também pode configurar grupos de usuários do ative Directory para o modo de vinculação rápida, para que as credenciais de usuário possam ser validadas e aplicativos S3 de terceiros e de código aberto possam ser autenticados por conexões LDAP.
Antes de configurar grupos LDAP e ativar o modo de ligação rápida para acesso a grupos, certifique-se de que o seguinte é:
-
Uma VM de armazenamento habilitada para S3 contendo um servidor S3 foi criada. "Criar um SVM para S3"Consulte .
-
Um bucket foi criado nessa VM de storage. "Crie um bucket"Consulte .
-
O DNS está configurado na VM de armazenamento. "Configurar serviços DNS"Consulte .
-
Um certificado de autoridade de certificação raiz (CA) autoassinado do servidor LDAP é instalado na VM de armazenamento. "Instalar certificados de CA raiz autoassinados no SVM"Consulte .
-
Um cliente LDAP é configurado com TLS habilitado no SVM. "Crie configurações de cliente LDAP para acesso ONTAP NFS"Consulte e "Associar configurações de cliente LDAP com SVMs ONTAP NFS para obter informações".
Configurar o acesso S3 para LDAP
-
Especifique LDAP como o banco de dados name Service do SVM para o grupo e a senha para LDAP:
ns-switch modify -vserver <vserver-name> -database group -sources files,ldap ns-switch modify -vserver <vserver-name> -database passwd -sources files,ldap
Saiba mais sobre o comando link:https://docs.NetApp.com/US-en/ONTAP-cli/vserver-services-name-service-ns-switch-modify.html[
vserver services name-service ns-switch modifyem referência de comando ONTAP. -
Crie uma declaração de política de bucket do armazenamento de objetos com o
principalconjunto para o grupo LDAP ao qual você deseja conceder acesso:object-store-server bucket policy statement create -bucket <bucket-name> -effect allow -principal nasgroup/<ldap-group-name> -resource <bucket-name>, <bucket-name>/*
Exemplo: O exemplo a seguir cria uma declaração de política de bucket para
buck1. A política permite o acesso do grupo LDAPgroup1ao recurso (bucket e seus objetosbuck1) .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/*
-
Verifique se um usuário do grupo LDAP
group1é capaz de executar operações S3 do cliente S3.
Use o modo LDAP fast bind para autenticação
-
Especifique LDAP como o banco de dados name Service do SVM para o grupo e a senha para LDAP:
ns-switch modify -vserver <vserver-name> -database group -sources files,ldap ns-switch modify -vserver <vserver-name> -database passwd -sources files,ldap
Saiba mais sobre o comando link:https://docs.NetApp.com/US-en/ONTAP-cli/vserver-services-name-service-ns-switch-modify.html[
vserver services name-service ns-switch modifyem referência de comando ONTAP. -
Certifique-se de que um usuário LDAP acessando o bucket do S3 tenha permissões definidas nas políticas de bucket. Para obter mais informações, "Modificar uma política de bucket"consulte .
-
Verifique se um usuário do grupo LDAP pode executar as seguintes operações:
-
Configure a chave de acesso no cliente S3 neste formato:
"NTAPFASTBIND" + base64-encode(user-name:password)Exemplo"NTAPFASTBIND": base64-encode(ldapuser:password), o que resulta em
NTAPFASTBINDbGRhcHVzZXI6cGFzc3dvcmQ=O cliente S3 pode pedir uma chave secreta. Na ausência de uma chave secreta, qualquer senha de pelo menos 16 carateres pode ser inserida. -
Execute operações S3 básicas do cliente S3 para o qual o usuário tem permissões.
-
Base64 credenciais
A configuração padrão do ONTAP S3 exclui HTTP e usa exclusivamente HTTPS e uma conexão TLS (Transport Layer Security). O ONTAP pode gerar certificados autoassinados, mas a prática recomendada é usar certificados de uma autoridade de certificação (CA) de terceiros. Ao usar certificados de CA, você cria uma relação confiável entre aplicativos cliente e o servidor de armazenamento de objetos ONTAP.
Esteja ciente de que as credenciais codificadas usando Base64 são facilmente decodificadas. O uso de HTTPS impedirá que as credenciais codificadas sejam capturadas por sniffers de pacotes man-in-the-middle.
Não use o modo LDAP fast-bind para autenticação ao criar URLs pré-assinados. A autenticação é baseada exclusivamente na chave de acesso Base64 que está incluída no URL pré-assinado. O nome de usuário e a senha serão revelados a qualquer pessoa que descodificar a chave de acesso Base64.
O método de autenticação é nsswitch e o LDAP está habilitado exemplo
$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"}
|
|
Direcione a API para o LIF de gerenciamento de cluster, não para o LIF de dados da SVM. Se você quiser permitir que os usuários gerem suas próprias chaves, você deve adicionar permissões HTTP à sua função para usar curl. Essa permissão é além das permissões da API S3. |
Configurar acesso S3 para servidores Active Directory ou SMB
Se o nasgroup especificado na instrução bucket policy ou os usuários que fazem parte do nasgroup não tiverem UID e GID definidos, as pesquisas falharão quando esses atributos não forem encontrados. O ative Directory usa SID, não UID. Se as entradas SID não puderem ser mapeadas para UID, os dados necessários precisam ser trazidos para o ONTAP.
Para fazer isso, use "diretório ativo do svm criar" para que o SVM possa se autenticar com o ative Directory e obter as informações de usuário e grupo necessárias.
Como alternativa, use "svm cifs criar" para criar um servidor SMB em um domínio do ative Directory.
Se você tiver nomes de domínio diferentes para servidores de nomes e repositórios de objetos, poderá enfrentar falhas de pesquisa. Para evitar falhas de pesquisa, a NetApp recomenda o uso de domínios confiáveis para autorização de recursos no formato UPN: nasgroup/group@trusted_domain.com Domínios confiáveis são aqueles que foram adicionados à lista de domínios confiáveis do servidor SMB. Saiba como "adicionar, remover e modificar domínios confiáveis preferenciais" na lista de servidores SMB.
Gerar chaves quando o método de autenticação é domínio e domínios confiáveis são configurados no ative Directory
Use o s3/services/<svm_uuid>/users endpoint com usuários especificados no formato UPN. Exemplo:
$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"}
|
|
Direcione a API para o LIF de gerenciamento de cluster, não para o LIF de dados da SVM. Se você quiser permitir que os usuários gerem suas próprias chaves, você deve adicionar permissões HTTP à sua função para usar curl. Essa permissão é além das permissões da API S3. |
Gerar chaves quando o método de autenticação é domínio e não há domínios confiáveis
Esta ação é possível quando o LDAP está desativado ou quando os utilizadores não POSIX não tiverem configurado UID e GID. Exemplo:
$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"}
|
|
Direcione a API para o LIF de gerenciamento de cluster, não para o LIF de dados da SVM. Se você quiser permitir que os usuários gerem suas próprias chaves, você deve adicionar permissões HTTP à sua função para usar curl. Essa permissão é além das permissões da API S3. Você só precisa adicionar o valor de domínio opcional a um nome de usuário se não houver domínios confiáveis. |