Podes compartir ficheiros de Amazon S3 sen facer nunca público o bucket. Mantén o bucket privado, deixa activado Block Public Access e dá no seu lugar acceso asinado a obxectos concretos: unha URL presinada para un ficheiro puntual, URL asinadas de CloudFront cando xa tes unha CDN diante do bucket, ou unha ligazón para compartir que engade contrasinal, data de caducidade e límite de descargas. As tres funcionan igual en provedores compatibles con S3 como Cloudflare R2, DigitalOcean Spaces, Wasabi e Backblaze B2 (CloudFront é só de AWS).
Opcións para compartir ficheiros de S3 con seguridade dunha ollada
| Método | Ideal para | Contrasinal | Límite de descargas | Revogar unha ligazón | Cartafoles enteiros | Código necesario |
|---|---|---|---|---|---|---|
| Obxecto ou bucket público | Recursos realmente públicos (unha web) | Non | Non | Non | Si | Non |
| URL presinada | Un ficheiro, unha vez, desde a CLI ou a túa app | Non | Non | Non | Non | CLI ou SDK |
| URL asinada de CloudFront | Apps que xa autentican os seus usuarios | Non | Non | Non | Con cookies asinadas | Si |
| Ligazón para compartir de Nubbo | Compartir a miúdo con persoas de fóra | Si | Si | Si | Si, con ZIP | Non |
Por que non facer simplemente público o ficheiro
A forma máis rápida de compartir un ficheiro de S3 é facelo público e enviar a URL do obxecto. Tamén é a máis arriscada: calquera cousa pública pode descargala calquera que atope ou adiviñe o enderezo, sen contrasinal, sen caducidade e sen rexistro de quen a levou. Os buckets públicos esquecidos son unha fonte clásica de fugas de datos, e expoñen os nomes dos ficheiros ademais do seu contido.
AWS indica que os buckets, puntos de acceso e obxectos novos non permiten o acceso público por defecto. Ademais, S3 Block Public Access ten catro opcións (BlockPublicAcls, IgnorePublicAcls, BlockPublicPolicy e RestrictPublicBuckets) que anulan calquera política ou ACL que abrise o bucket máis tarde. Pódense configurar por bucket, por conta ou para toda unha AWS Organization, e S3 aplica a combinación máis restritiva. AWS recomenda activar as catro a nivel de conta salvo que aloxes de verdade contido público, como unha web estática.
Mantén ese interruptor activado. Todo o que vén a continuación funciona con el acendido.
Opción 1: URL presinadas
Unha URL presinada é a URL dun obxecto cunha sinatura na query string. Permite unha operación (normalmente unha descarga) sobre un obxecto ata que caduca, e S3 comproba a sinatura en cada petición.
aws s3 presign s3://my-bucket/reports/q3.pdf --expires-in 86400
Esa URL funciona durante 24 horas. O valor por defecto da CLI é unha hora e o máximo son 604.800 segundos (7 días) cando asinas coas chaves dun usuario de IAM. Se asinas con credenciais temporais, como un rol asumido, a URL morre cando caducan esas credenciais.
O que obtés:
- Ningún cambio no bucket nin nas súas políticas.
- Control preciso: un obxecto, un método, unha caducidade.
- Funciona en calquera provedor que admita a presinatura con SigV4.
O que non obtés:
- Sen contrasinal. Quen teña a URL pode usala, tantas veces como queira, ata que caduque.
- Sen límite de descargas nin revogación por ligazón. Só podes anular unha URL antes de tempo revogando as chaves que a asinaron.
- Sen cartafoles. Asinas obxecto por obxecto, así que compartir un cartafol de 300 ficheiros supón 300 URL.
- Privacidade dos nomes. A URL mostra o nome do teu bucket, a chave do obxecto e o ID da túa access key.
Para o funcionamento en detalle, incluídas as subidas, cada parámetro X-Amz-* e código de SDK, mira URL presinadas de S3.
Opción 2: URL asinadas e cookies asinadas de CloudFront
Se xa serves o bucket a través de Amazon CloudFront, podes esixir URL asinadas ou cookies asinadas nun comportamento da caché. O bucket segue sendo privado detrás do control de acceso á orixe (OAC), que AWS recomenda fronte á antiga identidade de acceso á orixe: unha política do bucket deixa que só a túa distribución lea os obxectos. Rexistras chaves públicas nun grupo de chaves de confianza e asinas coa chave privada correspondente.
- As URL asinadas encaixan con ficheiros individuais. Cunha política personalizada tamén podes fixar unha hora de inicio e un rango de IP, e reutilizar unha política para moitos ficheiros con comodíns. Poden durar pouco ou durante anos.
- As cookies asinadas encaixan con moitos ficheiros á vez, como todos os segmentos dun vídeo, sen cambiar as túas URL.
Esta é a ferramenta axeitada cando tes unha aplicación que xa autentica os seus usuarios e serve contido a gran escala. Para pasarlle uns poucos ficheiros a persoas de fóra do teu equipo, supón montar unha distribución, xestionar chaves e escribir código que asine cada petición.
Restrinxir unha política do bucket a un rango de IP fixo é outra opción nativa, pero só serve cando coñeces as redes de quen recibe, algo que rara vez pasa con persoas de fóra da túa organización.
Opción 3: ligazóns para compartir con Nubbo
Nubbo conéctase ao teu bucket e dáche ligazóns para compartir cos controis que lles faltan ás URL presinadas, sen escribir código. Por debaixo segue usando URL presinadas: Nubbo comproba primeiro as regras da ligazón e só entón emite unha URL de curta duración, así que os ficheiros individuais viaxan directamente desde o teu bucket ao navegador de quen os recibe.
Paso 1: Conecta o teu bucket
Rexístrate gratis, verifica o teu correo e despois abre Buckets e preme Conectar bucket. O asistente pídeche o provedor (Amazon S3, Cloudflare R2, DigitalOcean Spaces, Wasabi, Backblaze B2 ou un endpoint compatible con S3 personalizado), como conectar (unha configuración automática cunha chave con acceso completo, ou unha chave limitada a un bucket), a túa chave e o teu bucket. Comproba a chave e o bucket, e remata probando o CORS cunha subida real desde o teu navegador. O bucket segue sendo privado e as túas chaves gárdanse cifradas con AES-256-GCM. O plan Gratuíto inclúe 2 conexións.
Paso 2: Escolle o ficheiro ou o cartafol
Busca o elemento no explorador e escolle Compartir. Tamén podes ir á páxina Compartidos, premer Nova ligazón e escoller alí o bucket e o ficheiro ou cartafol.
Paso 3: Configura a protección
Os tres controis son opcionais e están dispoñibles en todos os plans:
| Control | Como funciona |
|---|---|
| Contrasinal | De 4 a 50 caracteres. Despois de 10 intentos errados, a ligazón bloquéase durante 15 minutos. |
| Data de caducidade | Desactivada por defecto: a ligazón segue activa mentres o ficheiro ou cartafol estea no teu almacenamento. |
| Máximo de descargas | Baleiro significa ilimitado. Cando se chega á cifra, a ligazón deixa de servir o ficheiro. |
Paso 4: Crea e envía a ligazón
Preme Crear ligazón, cópiaa e envíaa por correo, por chat ou polo que uses. Quen a recibe abre unha páxina de descarga limpa e non necesita conta. Unha ligazón a un cartafol permite navegar polo cartafol, descargar ficheiros soltos ou levalo todo nun ZIP, que o seu navegador constrúe descargando cada ficheiro directamente do teu bucket.
Paso 5: Envía o contrasinal por separado
Enviar o contrasinal na mesma mensaxe que a ligazón non ten sentido. Se a ligazón ten contrasinal, Enviar contrasinal por correo entrégao como unha ligazón de visualización única: o contrasinal móstrase unha vez, a ligazón de visualización caduca despois de 24 horas, 3 días ou 7 días, e podes engadir unha nota curta. Avisámoste cando se abre.
Paso 6: Fai seguimento e revoga
A páxina Compartidos lista todas as ligazóns co seu estado e o seu número de descargas. Podes editar o contrasinal, a caducidade ou o límite, desactivar unha ligazón (deixa de emitir novas URL de descarga ao momento) e reactivala máis tarde co mesmo enderezo.
Compartir con persoas concretas en vez de cunha ligazón
Unha ligazón funciona para calquera que a teña. Cando queres que só entren persoas concretas, Compartir con persoas de Nubbo (nos plans Personal e Pro) envía un ficheiro ou un cartafol a enderezos de correo concretos con permiso de visualización ou de descarga, unha caducidade opcional e un tope de descargas, e rexistra cada acceso. As persoas destinatarias necesitan conta en Nubbo e atopan o elemento en Compartido comigo. Personal permite 10 persoas por elemento e 50 elementos compartidos activos; Pro permite 50 e 500.
Os plans de pagamento tamén ofrecen ligazóns cifradas: o navegador fai unha copia selada do ficheiro e a chave só viaxa na propia ligazón, así que Nubbo non pode lela.
Que opción usar?
- Un ficheiro, unha vez, e tes a AWS CLI configurada: unha URL presinada é o camiño máis rápido.
- Unha aplicación que xa identifica os seus usuarios e serve moito contido: URL ou cookies asinadas de CloudFront.
- Compartir a miúdo con persoas de fóra do teu equipo, cartafoles enteiros ou calquera cousa que necesite contrasinal ou límite: unha ligazón para compartir aforra tempo e erros.
Máis alá dunha ligazón
Dúas funcións relacionadas cobren os outros casos habituais. Os buzóns danche unha ligazón de subida pública para que outras persoas envíen ficheiros ao teu bucket sen ver nada máis del. As galerías converten un cartafol de fotos ou vídeos nunha páxina navegable con deseños, marca de auga e o seu propio contrasinal. No plan Gratuíto tes 3 de cada e ligazóns compartidas ilimitadas; Personal e Pro quitan eses límites. Unha nota, para ser claros: as miniaturas xéranse no servidor de Nubbo e gárdanse no teu propio bucket en .nubbo-thumbs/.
Preguntas frecuentes
Como comparto un ficheiro de S3 sen facelo público?
Mantén o bucket privado e entrega no seu lugar acceso asinado: unha URL presinada para un obxecto (desde a AWS CLI ou un SDK), unha URL ou cookie asinada de CloudFront se xa serves o bucket a través de CloudFront, ou unha ligazón para compartir dunha ferramenta como Nubbo que engade contrasinal, caducidade e límite de descargas por riba das URL presinadas.
Amazon S3 é seguro para compartir ficheiros?
Si, mentres o bucket siga sendo privado. Os buckets novos non permiten o acceso público por defecto e S3 Block Public Access impide que alguén os abra máis tarde. O risco vén de facer públicos os obxectos ou de filtrar ligazóns asinadas, que funcionan para calquera que as teña ata que caducan.
Os buckets novos de S3 son privados por defecto?
Si. AWS indica que os buckets, puntos de acceso e obxectos novos non permiten o acceso público por defecto, e as catro opcións de Block Public Access anulan calquera política ou ACL que os abrise máis tarde.
Quen recibe a ligazón necesita unha conta de AWS ou de Nubbo?
Non. Unha URL presinada, unha URL asinada de CloudFront e unha ligazón para compartir de Nubbo funcionan en calquera navegador sen conta. Só Compartir con persoas, que envía un elemento a persoas concretas, require que teñan conta en Nubbo.
Canto pode durar unha ligazón compartida de S3?
Unha URL presinada dura como moito 7 días cando se asina coas chaves dun usuario de IAM, e menos con credenciais temporais. As URL asinadas de CloudFront duran o que diga a túa política. Unha ligazón para compartir de Nubbo non caduca salvo que lle poñas data, porque emite unha URL nova de curta duración en cada descarga.
Os ficheiros pasan por Nubbo cando alguén descarga desde unha ligazón compartida?
Non: o navegador descarga os ficheiros individuais directamente do teu bucket cunha URL presinada. As descargas ZIP de varios ficheiros ármanse no navegador, que descarga cada ficheiro directamente do teu bucket: Nubbo nunca ve o contido.
Fontes
Os prezos e límites saen das páxinas oficiais de abaixo. Os provedores cámbianos, así que compróbaos antes de decidir.
- Amazon S3: bloquear o acceso público ao teu almacenamento
- Amazon S3: descargar e subir obxectos con URL presinadas
- Referencia da AWS CLI: s3 presign
- Amazon CloudFront: restrinxir o acceso a unha orixe de Amazon S3 (OAC)
- Amazon CloudFront: usar URL asinadas
- Amazon CloudFront: escoller entre URL asinadas e cookies asinadas