13 votes

Comment ajouter une politique de ressources à un seau S3 existant avec CDK en JavaScript ?

Je travaille à l'ajout d'un document de politique de ressources dans le seau S3.

Cela fonctionne bien lorsque je crée un nouveau seau :

const newbucket = new s3.Bucket(this, 'newBucket', {
      websiteIndexDocument : 'index.html',
      bucketName : 'NewBucket'
});

newbucket.addToResourcePolicy(new iam.PolicyStatement({
      effect : iam.Effect.ALLOW,
      actions: ['s3:*'],
      resources: [newbucket.arnForObjects('*')],
      principals: [new iam.AnyPrincipal],
    }));

newbucket.addToResourcePolicy(new iam.PolicyStatement({
      effect : iam.Effect.DENY,
      actions: ['s3:*'],
      resources: [newbucket.arnForObjects('*')],
      principals: [new iam.AnyPrincipal],
      conditions : {
        'NotIpAddress' : {
          'aws:SourceIp' : '***.***.***.***'
        }
      }
    }));

Mais si j'essaie de récupérer un seau qui existe déjà et d'ajouter un document de politique, cela ne fonctionne pas :

const existingbucket = Bucket.fromBucketAttributes(this, 'ImportedBucket',{
      bucketName :'ExistingBucket'
    })

existingbucket.addToResourcePolicy(new iam.PolicyStatement({
      effect : iam.Effect.ALLOW,
      actions: ['s3:*'],
      resources: [existingbucket.arnForObjects('*')],
      principals: [new iam.AnyPrincipal],
    }));

Le document sur la politique des ressources ne sera pas ajouté.

En outre, ce code supprime le document de politique existant et le rend vierge.

Quelqu'un a-t-il une expérience ou une solution à ce problème ?

-1voto

Philipe Atela Points 15

Je crois que vous ne pouvez pas modifier la politique d'un seau existant par le biais de votre CDK App. C'est pourquoi cela fonctionne parfaitement lorsque vous créez un nouveau bucket.

Si vous devez apporter des modifications à la politique de ressources de ce seau, je crains que vous ne deviez le faire manuellement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X