Migración de clusteres de DreamObjects
DreamHost en este momento está en el proceso de migrar todas la cuentas de DreamObjects a una nueva plataforma de hardware.
Por favor revisa este artículo para identificar el cluster en el que está tu cuenta de DreamObjects y las herramientas que este soporta.
Generalidades
Este artículo enumera varios comandos aws-cli que puedes usar para cambiar los permisos en tus datos de DreamObjects. Consulta el siguiente artículo para obtener información sobre cómo instalar y configurar AWS CLI:
Establecer TODOS los permisos de objects en un bucket
El siguiente comando cambia los permisos para cada object en tu bucket. Ten en cuenta que DreamObjects actualmente no admite políticas de bucket, por lo tanto, debes utilizar la siguiente solución alternativa.
Asegúrate de actualizar lo siguiente:
- --bucket my-bucket — Cambiar a tu nombre de Bucket.
- --acl — Cambia esto a lectura private o public-read.
[user@localhost]$ aws --endpoint-url https://objects-us-east-1.dream.io s3api list-objects --bucket my-bucket | grep Key | cut -c 20- | rev | cut -c 2-|rev | awk '{cmd="aws --endpoint https://objects-us-east-1.dream.io s3api put-object-acl --acl public-read --bucket=my-bucket --key "$0; system(cmd)}'
El siguiente ejemplo es el mismo que el anterior, solo divide las líneas para que sea más fácil de leer:
[user@localhost]$ aws --endpoint-url https://objects-us-east-1.dream.io \
s3api list-objects --bucket my-bucket | \
grep Key | cut -c 20- | rev | cut -c 2-|rev | \
awk '{cmd="aws --endpoint https://objects-us-east-1.dream.io \
s3api put-object-acl --acl public-read \
--bucket=my-bucket --key "$0; system(cmd)}'
Permisos de object único
Ver los permisos de un object
Esto muestra los permisos de un object llamado test.txt en un bucket titulado my-bucket. Puedes ver que el usuario del bucket tiene control total, pero no se muestran otros permisos públicos. Esto indica que los permisos en el archivo son private.
[user@localhost]$ aws --endpoint-url https://objects-us-east-1.dream.io s3api get-object-acl --bucket my-bucket --key test.txt { "Owner": { "DisplayName": "my-user", "ID": "my-user" }, "Grants": [ { "Grantee": { "Type": "CanonicalUser", "DisplayName": "my-user", "ID": "my-user" }, "Permission": "FULL_CONTROL" } ] }
Establecer los permisos de un object a PÚBLICO
Para establecer los permisos de un Object, put-object-acl.
Esto establece un object llamado test.txt en el bucket titulado my-bucket para los permisos public-read.
[user@localhost]$ aws --endpoint-url https://objects-us-east-1.dream.io s3api put-object-acl --bucket my-bucket --key test.txt --acl public-read
Verifica los permisos nuevamente y verás una nueva sección de Grantee que muestra que todos los usuarios pueden leer el Object.
[user@localhost]$ aws --endpoint-url https://objects-us-east-1.dream.io s3api get-object-acl --bucket my-user-bucket --key test.txt { "Owner": { "DisplayName": "my-east-user", "ID": "my-east-user" }, "Grants": [ { "Grantee": { "Type": "Group", "URI": "https://acs.amazonaws.com/groups/global/AllUsers" }, "Permission": "READ" }, { "Grantee": { "Type": "CanonicalUser", "DisplayName": "my-east-user", "ID": "my-east-user" }, "Permission": "FULL_CONTROL" } ] }
Si revisas tu panel de DreamObjects, verás que los permisos en este archivo ahora es PÚBLICO.
Establecer los permisos de un object en PRIVADO
Esto establece un objeto llamado test.txt en el bucket titulado my-bucket para permisos PRIVADOS.
[user@localhost]$ aws --endpoint-url https://objects-us-east-1.dream.io s3api put-object-acl --bucket my-bucket --key test.txt --acl private