我在AWS AMI中運行我的應用程序。 AMI通過雲形成模板啓動,創建AWS::IAM::Role
角色sts:AssumeRole
。 EC2實例啓動後,我使用boto3.create_bucket
從Ec2實例創建S3存儲桶。此操作不支持x-amz-server-side-encryption標頭
在我的應用程序中,我上傳了一個文件到已創建的存儲區,並且加密標誌已打開。不過,雖然上傳我得到一個錯誤:
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=
這是我的代碼在服務器端加密部分:
ObjectMetadata meta = new ObjectMetadata();
meta.setContentLength(contentLength);
meta.setSSEAlgorithm(ObjectMetadata.AES_256_SERVER_SIDE_ENCRYPTION)
我在做什麼錯?當我在其他地方運行我的代碼並使用S3存儲桶時,此操作按預期工作。這是否與雲形成或sts:AssumeRole
?