Articles sur : Stockage objet

S3cmd : protéger l'accès à un bucket en fonction de l'adresse IP

S3 - Protection de l'accès d'un bucket en fonction de l'IP
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 à l'aide de s3cmd
On édite un fichier texte contenant les lignes suivantes :

{
    "Version": "2012-10-17",
    "Id": "S3PolicyIPRestrict",
    "Statement": [
        {
            "Sid": "IPAllow",
            "Effect": "Deny",
            "Principal":{
                "AWS":"*"
            },
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::<BUCKET_NAME>",
                "arn:aws:s3:::<BUCKET_NAME>/*"
            ],
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": "xx.xx.xx.xx/xx"
                }
            }
        }
    ]
}


La date de la version ne doit pas être modifiée.
<BUCKET_NAME> 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"
                ]
            },


On applique ensuite la politique avec la commande suivante :

s3cmd setpolicy <fichier_politique> s3://<bucket_name>


On peut vérifier la politique avec la commande suivante :

s3cmd info s3://<bucket_name>


On peut supprimer la politique avec la commande suivante :

s3cmd delpolicy s3://<bucket_name>

Mis à jour le : 27/07/2023

Cet article a-t-il répondu à vos questions ?

Partagez vos commentaires

Annuler

Merci !