【发布时间】:2022-02-01 04:48:36
【问题描述】:
在 root 帐户中,我有一个已验证的域身份,用于为交易电子邮件创建 电子邮件身份。
现在,我创建了一个新的 IAM 帐户。
我想为这个 IAM 帐户附加一个政策,允许它使用该已验证的已验证电子邮件身份 root 帐户中的域身份。
并且他必须不能列出或使用根帐户中的已验证的电子邮件身份。
我应该为此使用内联策略(我知道应该避免并作为最后的手段)还是正常的权限配置?
如果是这样,我应该如何编写或选择这样的政策?
编辑 1: 当我尝试使用 IAM 帐户 创建电子邮件时,只是为了看看 AWS 会说什么,通知中是这样写的:
您没有足够的访问权限来执行此操作。
用户:arn:aws:iam::122443365328:user/iam-user-name 不是 授权执行:ses:CreateEmailIdentity on resource:
arn:aws:ses:us-region:122443365328:identity/test@dmain_name.com 因为没有 基于身份的策略允许 ses:CreateEmailIdentity 操作
当我在内联策略创建仪表板中搜索CreateEmailIdentity 时,没有找到:
编辑 2:
当我选择SES-v2 作为服务时,我实际上已经找到了它:
我已授予 IAM 用户以下权限:
我添加了已验证域名的ARN:
这是结果:
但是,当我尝试使用 IAM 帐户 创建 电子邮件身份 时,我仍然得到以下信息:
您没有足够的访问权限来执行此操作。用户: arn:aws:iam::12xxxxxx5328:user/iam-user-name 无权 在资源上执行:ses:CreateEmailIdentity: arn:aws:ses:us-west-2:122443365328:identity/dev@domain_name.com 因为没有基于身份的策略允许 ses:CreateEmailIdentity 行动
我在这里不明白的是没有被授权对我正在尝试创建的新电子邮件资源执行ses:CreateEmailIdentity 的含义。
如何授权我使用仍然不存在的电子邮件身份执行此操作。
编辑 3:
即使在使用 root 用户 创建电子邮件并授予 IAM 用户 使用此策略使用该电子邮件发送电子邮件的权限之后:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "stmt1643366831422",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::12xxxxxx328:user/iam-user-name"
},
"Action": [
"ses:SendEmail",
"ses:SendRawEmail",
"ses:SendTemplatedEmail",
"ses:SendBulkTemplatedEmail"
],
"Resource": "arn:aws:ses:us-west-2:12xxxxxxxx28:identity/test2@domain_name.com",
"Condition": {}
}
]
}
当我在后端发送电子邮件时,会记录以下内容:
???? ~ 文件:emailServices.js ~ 第 297 行 ~ .then ~ 错误访问被拒绝: 用户
arn:aws:iam::12xxxxx5328:user/iam-user-name' is not authorized to performses:SendEmail' 在资源上 `arn:aws:ses:us-west-2:1xxxxx28:identity/domain_name.com'
然后我授权 iam 用户在 Domain Identity 上使用相同的策略发送电子邮件,但应用在 Domain Identity 上。
现在,可以使用 IAM 用户凭证发送电子邮件了。
问题是他可以使用所有已验证的电子邮件身份发送电子邮件。
但是,我希望他能够通过仅使用专门为该 IAM 用户创建的相应电子邮件身份来做到这一点。
注意 1:
我知道我不应该使用 root 帐户,而应该只使用 IAM 帐户。
【问题讨论】:
标签: amazon-web-services cloud amazon-iam amazon-ses aws-policies