La risposta breve è no, non si utilizza autenticazione base. Ma ecco un modo che è effettivamente uguale all'autent semplice, e questo è facilmente rispetto ad altre soluzioni elencate. Credo che sia sicuro, ma non lo so per certo.
È possibile impostare le condizioni su serbatoi s3 che corrispondono alle intestazioni della richiesta. Ad esempio, è possibile utilizzare le intestazioni useragent
e referer
come equivalenti a nome utente e password nell'autenticazione di base. Normalmente useragent è il browser e OS (come Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0)
e il referer è la pagina Web precedente
Ecco un esempio di criterio bucket s3 che consente di inserire oggetti e ottenere oggetti facendo corrispondere l'useragent e il referer (nota cambia : BUCKETNAME
, USERNAME
, PASSWORD
, AWS_REGION
, e FILENAME
per i dati):
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "allow-username-and-password-access",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"s3:PutObject",
"s3:GetObject"
],
"Resource": "arn:aws:s3:::BUCKETNAME/*",
"Condition": {
"StringEquals": {
"aws:UserAgent": "USERNAME",
"aws:Referer": "PASSWORD"
}
}
}
]
}
per mettere una risorsa nel secchio è possibile utilizzare una richiesta ricciolo come questo (cambio nota: BUCKETNAME
, USERNAME
, PASSWORD
, AWS_REGION
, e FILENAME
):
curl --user-agent USERNAME --referer PASSWORD --upload-file "FILENAME" --request PUT "https://s3-AWS_REGION.amazonaws.com/BUCKETNAME/FILENAME"
Per ottenere utilizzare la risorsa si può usare qualcosa di simile:
curl --user-agent USERNAME --referer PASSWORD "https://s3-AWS_REGION.amazonaws.com/BUCKETNAME/FILENAME" > FILENAME
Ancora una volta, credo che questo è sicuro, come l'useragent, e referer devono essere crittografati se siete usando https, ma per favore dimmi se non lo è.
puoi usare [s3auth.com] (http://www.s3auth.com), che è una soluzione hosted gratuita per quello che ti serve – yegor256
[s3auth ] (http://www.s3auth.com/) è sicuramente la soluzione per questo. –