0

J'essaie de configurer un flux de livraison Kinesis Firehose pour écrire des fichiers sur S3. J'ai créé le flux Firehose pour utiliser un rôle nommé att1.De quelles stratégies de rôle AWS IAM ai-je besoin pour écrire des fichiers sur S3?

C'est la politique attachée à la configuration de att. Je pris le format de cette page ici https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3

J'ai validé la politique, mais je ne suis pas sûr que ce soit correct.

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "", 
      "Effect": "Allow", 
      "Action": [ 
       "s3:AbortMultipartUpload", 
       "s3:GetBucketLocation", 
       "s3:GetObject", 
       "s3:ListBucket", 
       "s3:ListBucketMultipartUploads", 
       "s3:*", 
       "s3:PutObject" 
      ], 
      "Resource": [ 
       "arn:aws:s3:::s3bucket", 
       "arn:aws:s3:::s3bucket/*" 
      ] 
     }, 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "kms:Decrypt", 
       "kms:GenerateDataKey" 
      ], 
      "Resource": [ 
       "arn:aws:kms:us-east-1:515766555555:key/cdee14ca-12b1-4790-9513-d007a3192f43" 
      ], 
      "Condition": { 
       "StringEquals": { 
        "kms:ViaService": "s3.us-east-1.amazonaws.com" 
       }, 
       "StringLike": { 
        "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::s3bucket*" 
       } 
      } 
     } 
    ] 
} 

Configuration a évidemment été modifié pour les paramètres de confidentialité, mais sinon cela est copié tout droit sorti de la politique

+0

À peu près sûr « s3: * » donne cette politique accès, période. Peut-être pas ce que tu veux? – TheFiddlerWins

+0

Oui, c'est ce que je pensais, mais tout dans le processus de flux de données fonctionne jusqu'à l'écriture sur S3. Je voulais juste voir si cette définition de la politique était le problème ou non – simplycoding

Répondre

0

Je pense que votre StringLike état sur la politique clé KMS est erroné. Les documents suggèrent que cela devrait effectivement être arn:aws:s3:::<s3bucket>/<prefix>*.

Donc, si vous avez configuré votre firehose écrire au seau abc avec préfixe def, il devrait ressembler à ceci:

"StringLike": { 
    "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::abc/def*" 
} 
+0

Bonne capture. Je l'ai changé en 'abc' puisque je place juste ces fichiers dans le répertoire racine du compartiment correspondant, mais j'ai toujours les mêmes problèmes :( – simplycoding