S3cmd : protéger l'accès à un bucket en fonction de l'adresse IP
Pré-requis
Il est possible de protéger l'accès d'un bucket en fonction de l'adresse IP.
Cette protection peut être réalisée en modifiant la politique (policy) associée à ce bucket.
Mise en place de la protection par IP
Créer un fichier sur votre machine en local contenant les lignes suivantes :
{
"Version": "2012-10-17",
"Id": "S3PolicyIPRestrict",
"Statement": [
{
"Sid": "IPAllow",
"Effect": "Deny",
"Principal":{
"AWS":"*"
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::<nom_du_bucket>",
"arn:aws:s3:::<nom_du_bucket>/*"
],
"Condition": {
"NotIpAddress": {
"aws:SourceIp": "xx.xx.xx.xx/xx"
}
}
}
]
}
- La date de la version ne doit pas être modifiée.
- <nom_du_bucket> doit être remplacé par le nom du bucket. Il est possible d'en protéger plusieurs.
- "xx.xx.xx.xx/xx" doit être remplacé par l'adresse IP ou le sous-réseau autorisé. Il est possible d'en protéger plusieurs à l'aide d'un tableau :
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"192.0.2.0/24",
"203.0.113.0/24"
]
},
Appliquer la politique :
s3cmd setpolicy /chemin/du/fichier/nom_du_fichier s3://<nom_du_bucket>
Vérifier la politique :
s3cmd info s3://<nom_du_bucket>
Supprimer la politique :
s3cmd delpolicy s3://<nom_du_bucket>
Mis à jour le : 15/11/2024
Merci !