私はAWS AMIでアプリケーションを実行しています。 AYは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
に結びついていますか?