Tutorial: adjuntar permisos POSIX al cargar objetos a un bucket de Amazon S3 - FSx para Lustre

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Tutorial: adjuntar permisos POSIX al cargar objetos a un bucket de Amazon S3

El siguiente procedimiento presenta el proceso de carga de objetos en Amazon S3 con permisos POSIX. Si lo hace, podrá importar los permisos POSIX cuando cree un sistema de FSx archivos de Amazon que esté vinculado a ese bucket de S3.

Para cargar objetos con permisos POSIX a Amazon S3
  1. Desde su ordenador o máquina local, utilice los siguientes comandos de ejemplo para crear un directorio de prueba (s3cptestdir) y un archivo (s3cptest.txt) que se cargarán en el bucket de S3.

    $ mkdir s3cptestdir $ echo "S3cp metadata import test" >> s3cptestdir/s3cptest.txt $ ls -ld s3cptestdir/ s3cptestdir/s3cptest.txt drwxr-xr-x 3 500 500 96 Jan 8 11:29 s3cptestdir/ -rw-r--r-- 1 500 500 26 Jan 8 11:29 s3cptestdir/s3cptest.txt

    El archivo y el directorio recién creados tienen un ID de usuario (UID) y un ID de grupo (GID) del propietario del archivo de 500 y los permisos que se muestran en el ejemplo anterior.

  2. Llame a la API de Amazon S3 para crear el directorio s3cptestdir con permisos de metadatos. Debe especificar el nombre del directorio con una barra diagonal (/) al final. Para obtener información acerca de los metadatos POSIX soportados, consulte Soporte de metadatos POSIX para repositorios de datos.

    Reemplace bucket_name con el nombre real de su bucket de Amazon S3.

    $ aws s3api put-object --bucket bucket_name --key s3cptestdir/ --metadata '{"user-agent":"aws-fsx-lustre" , \ "file-atime":"1595002920000000000ns" , "file-owner":"500" , "file-permissions":"0100664","file-group":"500" , \ "file-mtime":"1595002920000000000ns"}'
  3. Compruebe que los permisos POSIX estén etiquetados en los metadatos del objeto S3.

    $ aws s3api head-object --bucket bucket_name --key s3cptestdir/ { "AcceptRanges": "bytes", "LastModified": "Fri, 08 Jan 2021 17:32:27 GMT", "ContentLength": 0, "ETag": "\"d41d8cd98f00b204e9800998ecf8427e\"", "VersionId": "bAlhCoWq7aIEjc3R6Myc6UOb8sHHtJkR", "ContentType": "binary/octet-stream", "Metadata": { "user-agent": "aws-fsx-lustre", "file-atime": "1595002920000000000ns", "file-owner": "500", "file-permissions": "0100664", "file-group": "500", "file-mtime": "1595002920000000000ns" } }
  4. Cargue el archivo de prueba (creado en el paso 1) desde su ordenador al bucket de S3 con permisos de metadatos.

    $ aws s3 cp s3cptestdir/s3cptest.txt s3://bucket_name/s3cptestdir/s3cptest.txt \ --metadata '{"user-agent":"aws-fsx-lustre" , "file-atime":"1595002920000000000ns" , \ "file-owner":"500" , "file-permissions":"0100664","file-group":"500" , "file-mtime":"1595002920000000000ns"}'
  5. Compruebe que los permisos POSIX estén etiquetados en los metadatos del objeto S3.

    $ aws s3api head-object --bucket bucket_name --key s3cptestdir/s3cptest.txt { "AcceptRanges": "bytes", "LastModified": "Fri, 08 Jan 2021 17:33:35 GMT", "ContentLength": 26, "ETag": "\"eb33f7e1f44a14a8e2f9475ae3fc45d3\"", "VersionId": "w9ztRoEhB832m8NC3a_JTlTyIx7Uzql6", "ContentType": "text/plain", "Metadata": { "user-agent": "aws-fsx-lustre", "file-atime": "1595002920000000000ns", "file-owner": "500", "file-permissions": "0100664", "file-group": "500", "file-mtime": "1595002920000000000ns" } }
  6. Verifica los permisos en el sistema de FSx archivos de Amazon vinculado al bucket de S3.

    $ sudo lfs df -h /fsx UUID bytes Used Available Use% Mounted on 3rnxfbmv-MDT0000_UUID 34.4G 6.1M 34.4G 0% /fsx[MDT:0] 3rnxfbmv-OST0000_UUID 1.1T 4.5M 1.1T 0% /fsx[OST:0] filesystem_summary: 1.1T 4.5M 1.1T 0% /fsx $ cd /fsx/s3cptestdir/ $ ls -ld s3cptestdir/ drw-rw-r-- 2 500 500 25600 Jan 8 17:33 s3cptestdir/ $ ls -ld s3cptestdir/s3cptest.txt -rw-rw-r-- 1 500 500 26 Jan 8 17:33 s3cptestdir/s3cptest.txt

Tanto el directorio s3cptestdir como el archivo s3cptest.txt tienen permisos POSIX importados.