gpt4 book ai didi

amazon-web-services - 管理员无法在 AWS KMS 中加密/解密

转载 作者:行者123 更新时间:2023-12-04 16:41:13 25 4
gpt4 key购买 nike

我正在 AWS 中使用 key 管理服务 (KMS),并且目前正在设置 key policies

我创建了两个角色 KmsUser 和 KmsAdmin,并将以下 key 策略附加到我的 CMK:

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "KMS KeyAdmin access",
"Effect": "Allow",
"Principal": {"AWS": [
"arn:aws:iam::1234567890:role/KmsAdmin",
"arn:aws:iam::1234567890:user/myadmin"
]},
"Action": [
"kms:Create*",
"kms:Describe*",
"kms:Enable*",
"kms:List*",
"kms:Put*",
"kms:Update*",
"kms:Revoke*",
"kms:Disable*",
"kms:Get*",
"kms:Delete*",
"kms:TagResource",
"kms:UntagResource",
"kms:ScheduleKeyDeletion",
"kms:CancelKeyDeletion"
],
"Resource": "*"
},
{
"Sid": "KMS KeyUser access",
"Effect": "Allow",
"Principal": {"AWS": [
"arn:aws:iam::1234567890:role/KmsUser"
]},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*"
}
]
}

问题是,现在如果我尝试将我的 key 用作 myadmin 用户(附加了 AdministratorAccess 策略),我会在 CLI 中收到错误消息:

$ aws kms encrypt --key-id "alias/test-key" --plaintext fileb:///tmp/plaintext.dat

An error occurred (AccessDeniedException) when calling the Encrypt operation: User: arn:aws:iam::1234567890:user/myadmin is not authorized to perform: kms:Encrypt on resource: arn:aws:kms:eu-north-1:1234567890:key/99999999-9999-9999-9999-99999999999

特别奇怪的是, IAM policy simulator 告诉我一切都应该按预期工作:

enter image description here

如果我手动将 myadmin 用户作为主要用户添加到 Key User 策略,则一切正常。

最佳答案

您需要在您的 key 策略中添加这样的语句:

        {
"Sid": "Enable IAM User Permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::1234567890:root"
},
"Action": "kms:*",
"Resource": "*"
}

这允许账户访问 key ,这是启用对其的 IAM 访问所必需的。

关于amazon-web-services - 管理员无法在 AWS KMS 中加密/解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60529329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com