Skip to content

Commit fb3410b

Browse files
authored
Merge pull request ceph#58689 from clwluvw/sse-c-policy
rgw: add support sse-c to bucket policy conditions Reviewed-by: Casey Bodley <[email protected]>
2 parents 2fd1280 + 55bd03d commit fb3410b

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

src/rgw/rgw_iam_policy_keywords.gperf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ Null, TokenKind::cond_op, TokenID::Null, (uint64_t) Type::null, true, true
103103
#s3:x-amz-grant-full-control, TokenKind::cond_key, TokenID::s3x_amz_grant_permission, (uint64_t) Type::boolean, true, false
104104
#s3:x-amz-copy-source, TokenKind::cond_key, TokenID::s3x_amz_copy_source, (uint64_t) Type::string, true, false
105105
#s3:x-amz-server-side-encryption, TokenKind::cond_key, TokenID::s3x_amz_server_side_encryption, (uint64_t) Type::boolean, true, false
106+
#s3:x-amz-server-side-encryption-customer-algorithm, TokenKind::cond_key, TokenID::s3x_amz_server_side_encryption_customer_algorithm, (uint64_t) Type::boolean, true, false
106107
#s3:x-amz-server-side-encryption-aws-kms-key-id, TokenKind::cond_key, TokenID::s3x_amz_server_side_encryption_aws_kms_key_id, (uint64_t) Type::arn, true, false
107108
#s3:x-amz-metadata-directive, TokenKind::cond_key, TokenID::s3x_amz_metadata_directive, (uint64_t) Type::string, true, false
108109
#s3:x-amz-storage-class, TokenKind::cond_key, TokenID::s3x_amz_storage_class, (uint64_t) Type::string, true, false

src/rgw/rgw_iam_policy_keywords.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ enum class TokenID {
7777
s3x_amz_grant_permission,
7878
s3x_amz_copy_source,
7979
s3x_amz_server_side_encryption,
80+
s3x_amz_server_side_encryption_customer_algorithm,
8081
s3x_amz_server_side_encryption_aws_kms_key_id,
8182
s3x_amz_metadata_directive,
8283
s3x_amz_storage_class,

src/rgw/rgw_op.cc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -772,6 +772,12 @@ static void rgw_iam_add_crypt_attrs(rgw::IAM::Environment& e,
772772
rgw_add_to_iam_environment(e, s3_encrypt_attr, h->second);
773773
}
774774

775+
constexpr auto customer_algo_attr = "x-amz-server-side-encryption-customer-algorithm";
776+
constexpr auto s3_customer_algo_attr = "s3:x-amz-server-side-encryption-customer-algorithm";
777+
if (auto h = attrs.find(customer_algo_attr); h != attrs.end()) {
778+
rgw_add_to_iam_environment(e, s3_customer_algo_attr, h->second);
779+
}
780+
775781
constexpr auto kms_attr = "x-amz-server-side-encryption-aws-kms-key-id";
776782
constexpr auto s3_kms_attr = "s3:x-amz-server-side-encryption-aws-kms-key-id";
777783
if (auto h = attrs.find(kms_attr); h != attrs.end()) {

0 commit comments

Comments
 (0)