【问题标题】:Adding encryption key to already created S3 Bucket object将加密密钥添加到已创建的 S3 Bucket 对象
【发布时间】:2022-01-07 05:57:36
【问题描述】:

我在不同区域创建了一个未加密的存储桶。我想给bucket对象加一个KMS加密

@staticmethod
def change_bucket_encryption(
        stack: Stack,
        bucket_arn: str,
        bucket_id: str,
        kms_key: aws_kms.Key) -> s3.Bucket:
    """Change bucket encryption."""
    bucket = s3.Bucket.from_bucket_arn(
        scope=stack,
        id=bucket_id,
        bucket_arn=bucket_arn
    )
    bucket.encryption_key = kms_key
    return bucket

这是抛出错误:

AttributeError: can't set attribute 'encryption_key'

【问题讨论】:

    标签: python amazon-web-services amazon-s3 aws-cdk amazon-kms


    【解决方案1】:

    根据 AWS CDK 文档,正确的密钥是 encryptionKey 而不是 encryption_key

    参考:https://docs.aws.amazon.com/cdk/api/v1/docs/aws-s3-readme.html

    或者,如果您不使用这种方式,请分享有关框架、语言、sdk 等的更多详细信息。

    【讨论】:

    • 哇...这很有帮助。我正在使用 python,也许我没有正确理解它,但是文档使用了 encryption_key,让我感到困惑 docs.aws.amazon.com/cdk/api/v1/python/aws_cdk.aws_s3/…
    • 这根本不正确。 Python 中的实际属性名称是encryption_key。问题是不能修改导入的资源,所以这个属性不能设置,只能读取。
    猜你喜欢
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多