Ich verwende meine Anwendung in einem AWS AMI. Das AMI wird über eine Cloud-Formationsvorlage gestartet, die AWS::IAM::Role
role mit sts:AssumeRole
erstellt. Sobald die EC2-Instanz aktiv ist, erstelle ich einen S3-Bucket von der Ec2-Instanz mit boto3.create_bucket
.x-amz-server-side-encryption header wird für diesen Vorgang nicht unterstützt
In meiner Anwendung lade ich eine Datei in den erstellten Bucket mit Verschlüsselungsmarkierung auf. Aber beim Hochladen Ich erhalte eine Fehlermeldung:
com.amazonaws.services.s3.model.AmazonS3Exception: x-amz-server-side-encryption header is not supported for this operation. (Service: Amazon S3; Status Code: 400; Error Code: InvalidArgument; Request ID: 04DD9259D04F92CA), S3 Extended Request ID: EVdqFn6jUNshxUejZFWa6VN/lHPXHyi0F+TG+UZ3K9Sh8Gy0MPABi1AnxZloIajypLb39/5UAVA=
Dies ist die serverseitige Verschlüsselung Teil meines Code:
ObjectMetadata meta = new ObjectMetadata();
meta.setContentLength(contentLength);
meta.setSSEAlgorithm(ObjectMetadata.AES_256_SERVER_SIDE_ENCRYPTION)
Was mache ich falsch? Dies funktioniert wie erwartet, wenn ich meinen Code anderswo ausführe und einen S3-Bucket verwende. Ist das irgendwie an Wolkenbildung oder sts:AssumeRole
gebunden?