我有一个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) 加密密钥轮换到底是如何工作的?我知道出于安全目的不断轮换加密密钥是一个非常好的做法,但轮换密钥需要太多工作。
案件:
假设我有一个存储 30GB 数据的数据库,我们使用内部密钥来加密静态数据,并且我计划每月轮换我的密钥。
问题:
其他详情:
security encryption encryption-symmetric amazon-web-services amazon-kms
我正在尝试了解 AWS(Amazon Web Services)中的密钥管理服务,我可以看到 Amazon 推荐更多 AWS Key Management Service(KMS)而不是云硬件安全模块(Cloud HSM)。但我很难找到 KMS 与 Cloud-HSM 两者之间的关键区别。
有人可以列出这两种技术的一些关键区别或比较吗?
我必须部署一个堆栈,我们将其称为一个区域中的父堆栈。需要在另一个区域中部署第二个堆栈(子堆栈)。第二个堆栈(子堆栈)的区域不能包含部署父堆栈的区域。第二个堆栈可以部署在多个区域。
然而,第二个堆栈需要来自第一个堆栈的道具。具体来说,它需要一个 ARN 值。默认区域是us-east-1
. 这就是部署父堆栈的地方。
为了解决这个问题我尝试了以下方法
1-第一次尝试:使用 cfnOutput
cfnOutput
我捕获的值cdk.Fn.ImportValue()
2-第二次尝试:使用 StackProps
来自 lib/mystack 文件
export interface myStackProps extends cdk.StackProps {
principalKeyArn: string
}
Run Code Online (Sandbox Code Playgroud)
来自 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) 使用 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
如果我 KMS 加密文件并将该文件推送到 S3 存储桶与使用 SSE KMS 加密将文件推送到 S3 存储桶有什么区别吗?
我已设置 CMK(自定义托管密钥)来使用 AWS Systems Session Manager 加密日志组:
首先,在KMS控制台中添加“关键管理员”和“关键用户/角色”的权限。
接下来,CMK 在 AWS Systems Manager 会话管理器首选项中附加到 LogGroup,如下图所示:
错误:
指定的 KMS 密钥不存在或不允许与 LogGroup 'arn:aws:logs:my_region:my_account_id:log-group:/SSM' 一起使用
该密钥必须存在,因为它用于加密会话并且不能正确解密日志组,但它链接到日志组并且用户具有权限。是什么赋予了?
我有一个 s3 文件夹,其中包含加密的对象。它使用 AWS KMS 托管密钥而不是自定义密钥进行加密。我需要另一个 AWS 账户才能从此存储桶复制文件。据我所知,我无法跨帐户共享此 KMS 密钥。我也无法轻松更改此存储桶以使用自定义密钥,因为这会对客户产生影响。这里有什么好的解决办法吗?
是否可以在 AWS Glue 中抓取使用 CSE-KMS 加密的 S3 文件?我知道 Athena 可以做到这一点,但在 Glue 爬虫中没有找到类似的功能
我有一个名为 group-dev 的 IAM 组,并且有几个用户附加到该组,我有自定义 IAM 策略(如下)。仅此 IAM 策略是否足以让该组中的用户加密和列出 kms 密钥?
\n基本上我的目标是创建 IAM 组,并将策略附加到几个用户,当添加新用户时,我不想做双重工作,例如将它们添加到组中,然后将它们添加到 kms 密钥策略中。那么它适用于以下政策吗?
\nIAM 组内联策略
\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
\nAllowing multiple IAM users to access a CMK\nIAM groups are not valid …
Run Code Online (Sandbox Code Playgroud) amazon-kms ×10
amazon-s3 ×3
amazon-iam ×2
aws-cdk ×1
aws-glue ×1
aws-lambda ×1
aws-ssm ×1
boto3 ×1
cloud ×1
encryption ×1
python ×1
security ×1