Articles sur : Stockage objet (S3)

Protéger l'accès à un bucket en fonction de l'adresse IP avec s3cmd

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": "2023-01-21",
    "Id": "S3PolicyId1",
    "Statement": [
        {
            "Sid": "IPAllow",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::<BUCKET_NAME>"
            ],
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": "xx.xx.xx.xx/xx"
                }
            }
        }
    ]
}


La version peut être fixée à la date du jour.
<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 : 06/03/2023

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

Partagez vos commentaires

Annuler

Merci !