标签: amazon-kms

密文指的是不存在的客户主密钥,

我有一个lambda可以访问S3.

之前,这个 lambda 程序运行良好。但最近我更改了S3的KMS密钥或其他一些安全组设置,(lambda源代码没有改变)

出现错误。

我猜这lambda并不S3在 VPC 上,因此安全组不相关。

那么,,,和KMS密钥有关吗???

S3已加密bf3cf318-1376-44de-a014-XXXXXXXXX,所以我必须向该 lambda 授予 kms 访问权限?但如何呢?

还是我完全错了??

[ERROR] ClientError: An error occurred (AccessDenied) when calling the GetObject operation: The ciphertext refers to a customer master key that does not exist, does not exist in this region, or you are not allowed to access.
Traceback (most recent call last):
  File "/var/task/app.py", line 48, in handler
    raise e
  File "/var/task/app.py", line 45, in …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services aws-lambda amazon-kms

32
推荐指数
2
解决办法
9万
查看次数

加密密钥轮换到底是如何工作的?

加密密钥轮换到底是如何工作的?我知道出于安全目的不断轮换加密密钥是一个非常好的做法,但轮换密钥需要太多工作。

案件:

假设我有一个存储 30GB 数据的数据库,我们使用内部密钥来加密静态数据,并且我计划每月轮换我的密钥。

问题:

  1. 这是否意味着我的所有数据每月都会用旧密钥解密并用新密钥重新加密?
  2. 整个加密解密将花费大量的时间和计算资源。
  3. 如果我的数据库(或任何加密数据集)明天扩展,这是否意味着当我的密钥轮换时相同的过程会重复?这看起来不像是一个可扩展的解决方案。

其他详情:

  1. 我还看到,如果我们选择了轮换选项,AWS KMS 就会轮换其密钥。AWS 如何设法轮换所有底层服务的密钥和所有加密数据?

security encryption encryption-symmetric amazon-web-services amazon-kms

19
推荐指数
3
解决办法
1万
查看次数

AWS 云 HSM 和 KMS 之间有什么区别?

我正在尝试了解 AWS(Amazon Web Services)中的密钥管理服务,我可以看到 Amazon 推荐更多 AWS Key Management Service(KMS)而不是云硬件安全模块(Cloud HSM)。但我很难找到 KMS 与 Cloud-HSM 两者之间的关键区别。

有人可以列出这两种技术的一些关键区别或比较吗?

cloud amazon-web-services amazon-kms

11
推荐指数
1
解决办法
1万
查看次数

AWS-CDK:在 AWS-CDK 中的多区域(跨区域)堆栈之间传递跨堆栈引用属性

我必须部署一个堆栈,我们将其称为一个区域中的父堆栈。需要在另一个区域中部署第二个堆栈(子堆栈)。第二个堆栈(子堆栈)的区域不能包含部署父堆栈的区域。第二个堆栈可以部署在多个区域。

然而,第二个堆栈需要来自第一个堆栈的道具。具体来说,它需要一个 ARN 值。默认区域是us-east-1. 这就是部署父堆栈的地方。

为了解决这个问题我尝试了以下方法

1-第一次尝试:使用 cfnOutput

  • 在父级和子级中创建了一个cfnOutput 我捕获的值cdk.Fn.ImportValue()
  • 结果:出现错误,因为 cfnOutput 无法在不同区域的堆栈之间使用,如CloudFormation 用户指南中所述

2-第二次尝试:使用 StackProps

  • 在父堆栈中创建一个继承自 StackProps 的接口,设置公共属性并将 ARN 值放在那里

来自 lib/mystack 文件

export interface myStackProps extends cdk.StackProps {
 principalKeyArn: string
}
Run Code Online (Sandbox Code Playgroud)
  • 将值作为 props 以及包含区域的 env 键传递给第二个堆栈,如下所示:

来自 bin/myapp 文件

const app = new cdk.App();
const regions = ["us-east-2"]

const primaryMRKey = new KmsMultiregionPrincipalKey(app, 'KmsMultiregionKeyStack')

for (let region of regions){
 const envToDeploy = {region: region, account: "123456789123"}
 new  KmsReplicaKey(app, …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-cloudformation amazon-kms aws-cdk

11
推荐指数
2
解决办法
9575
查看次数

使用 Cloudformation 创建 KMS 密钥时出现消息“没有 IAM 权限来处理 AWS::KMS::Key 资源上的标签”

使用 Cloudformation 创建新的 KMS 密钥时,我在“状态原因”列中看到此消息:

没有 IAM 权限来处理 AWS::KMS::Key 资源上的标签

cloudformation 堆栈似乎已正确创建,但我想知道如何防止显示此消息?

我正在使用以下 Cloudformation 模板来创建 KMS 密钥:

AWSTemplateFormatVersion: "2010-09-09"
Description: "KMS key"
Outputs:
  KeyArn:
    Value: !Sub "${KmsKey.Arn}"
Resources:
  KmsKey:
    Properties:
      Description: "KMS key"
      Enabled: true
      EnableKeyRotation: false
      KeyPolicy:
        Version: "2012-10-17"
        Statement:
          - Sid: "Enable IAM User Permissions"
            Effect: "Allow"
            Principal: 
              AWS: !Sub "arn:aws:iam::${AWS::AccountId}:root"
            Action: "kms:*"
            Resource: "*"          
    Type: "AWS::KMS::Key"
  KmsKeyAlias:    
    Properties:
      AliasName: "alias/KmsKey"
      TargetKeyId: !Ref "KmsKey"
    Type: "AWS::KMS::Alias"
Run Code Online (Sandbox Code Playgroud)

我用来创建资源的角色允许以下操作:

- Action:
    - kms:Create*
    - kms:List*
  Effect: "Allow"
  Resource: "*"
- …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-cloudformation amazon-iam amazon-kms

10
推荐指数
1
解决办法
1万
查看次数

KMS加密和S3 SSE的区别

如果我 KMS 加密文件并将该文件推送到 S3 存储桶与使用 SSE KMS 加密将文件推送到 S3 存储桶有什么区别吗?

python amazon-s3 amazon-web-services boto3 amazon-kms

10
推荐指数
1
解决办法
1万
查看次数

使用 AWS Systems Session Manager 加密 CloudWatch LogGroups 的 KMS 权限

我已设置 CMK(自定义托管密钥)来使用 AWS Systems Session Manager 加密日志组:

  1. 首先,在KMS控制台中添加“关键管理员”和“关键用户/角色”的权限。

  2. 接下来,CMK 在 AWS Systems Manager 会话管理器首选项中附加到 LogGroup,如下图所示:

在此输入图像描述

错误:

指定的 KMS 密钥不存在或不允许与 LogGroup 'arn:aws:logs:my_region:my_account_id:log-group:/SSM' 一起使用

该密钥必须存在,因为它用于加密会话并且不能正确解密日志组,但它链接到日志组并且用户具有权限。是什么赋予了?

amazon-web-services amazon-kms aws-ssm

7
推荐指数
1
解决办法
2万
查看次数

与其他账户共享 AWS 托管 KMS 密钥

我有一个 s3 文件夹,其中包含加密的对象。它使用 AWS KMS 托管密钥而不是自定义密钥进行加密。我需要另一个 AWS 账户才能从此存储桶复制文件。据我所知,我无法跨帐户共享此 KMS 密钥。我也无法轻松更改此存储桶以使用自定义密钥,因为这会对客户产生影响。这里有什么好的解决办法吗?

amazon-web-services amazon-kms

7
推荐指数
1
解决办法
6789
查看次数

AWS Glue 使用 AWS KMS 读取 S3 文件客户端加密

是否可以在 AWS Glue 中抓取使用 CSE-KMS 加密的 S3 文件?我知道 Athena 可以做到这一点,但在 Glue 爬虫中没有找到类似的功能

amazon-s3 amazon-kms aws-glue

6
推荐指数
1
解决办法
5808
查看次数

了解 kms 政策?

我有一个名为 group-dev 的 IAM 组,并且有几个用户附加到该组,我有自定义 IAM 策略(如下)。仅此 IAM 策略是否足以让该组中的用户加密和列出 kms 密钥?

\n

基本上我的目标是创建 IAM 组,并将策略附加到几个用户,当添加新用户时,我不想做双重工作,例如将它们添加到组中,然后将它们添加到 kms 密钥策略中。那么它适用于以下政策吗?

\n

IAM 组内联策略

\n
{\n      "Action": [\n        "kms:List*",\n        "kms:Encrypt",\n        "kms:Decrypt",\n        "kms:Describe*",\n        "kms:Get*"\n      ],\n      "Effect": "Allow",\n      "Resource": "*"\n    },\n\nkms policy \n\n\n{\n    "Id": "key-consolepolicy",\n    "Version": "2012-10-17",\n    "Statement": [\n        {\n            "Sid": "Enable IAM User Permissions",\n            "Effect": "Allow",\n            "Principal": {\n                "AWS": "arn:aws:iam::xxxxxxxxxx:root"\n            },\n            "Action": "kms:*",\n            "Resource": "*"\n        }\n
Run Code Online (Sandbox Code Playgroud)\n

以下是 aws 文档的片段:https ://docs.amazonaws.cn/en_us/kms/latest/developerguide/kms-dg.pdf#page=95&zoom=100,96,105

\n
Allowing multiple IAM users to access a CMK\nIAM groups are not valid …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-iam amazon-kms

6
推荐指数
1
解决办法
5712
查看次数