如何在整个组织中共享AWS SES身份

时间:2019-02-19 10:53:40

标签: amazon-web-services amazon-ses

我开始通过单个用户帐户使用SES。现在,我创建了一个组织,邀请了一位同事,创建了一个运营小组,将他加入其中,并附加了FullAWSAccess-政策。

我想确保他可以查看和管理我们的S3帐户,尤其是我过去创建的SES身份。 不幸的是,这不起作用。 知道我想念什么吗?

非常感谢!

3 个答案:

答案 0 :(得分:3)

是的,您可以允许任何其他账户从您的AWS账户发送SES电子邮件。您需要根据他们的问题授予他们适当的权限。

此外,他们还需要以委派的发件人的身份发送电子邮件。可以从API或任何客户端库中完成此操作。

在此处为您提供有关端点的更多详细信息:

答案 1 :(得分:2)

首先,我想根据我的理解重新表述这个问题(使用 AWS 术语):如何使用 AWS Organizations 启用对特定 AWS 服务(例如 S3 或 SES)的跨账户访问?

通过阅读“FullAWSAccess - Police”,我假设 OP 尝试使用 AWS 服务控制策略。这些并不意味着用于授予跨账户访问权限。相反,AWS 文档声明“SCP 提供对组织中所有账户的最大可用权限的集中控制”。 [1] 当您查看文档 [7] 中的策略评估逻辑图表时,您会发现 SCP 永远不会导致最终的允许决定并跳过(隐式)否认充其量。您仍然需要基于资源的策略或基于身份的策略,以做出最终的允许决定。

因此,委派访问权限的正确方法是创建自定义 IAM 角色。 [2] 这涉及以下步骤,文档 [2] 中也概述了这些步骤:

  1. 您创建角色 SesCrossAccountAccess 并在原始帐户和同事帐户之间建立信任。
  2. 您可以通过将内联策略附加到角色来授予新角色访问所需的 SES 操作 [3] 的权限。 (注意:这是基于身份的策略方法)
  3. 您必须确保您同事账户中的 IAM 用户有权承担新角色。
  4. 您的同事可能会使用浏览器中的 AWS 管理控制台或通过假设 AWS CLI 命令 [4] 切换到 SesCrossAccountAccess 角色。
  5. 如果这不起作用,请确保在策略评估逻辑链 [7] 的某处没有明确拒绝。

这个概念与 AWS Organizations 无关。 但是,您可以使用 aws:PrincipalOrgID 条件键 [5] 在 IAM 角色的信任策略中引用您的组织标识符而不是帐号。在 AWS 安全博客文章 [6] 中,此概念也被概述为“限制或扩展对基于 AWS 组织的角色的访问”。如果有多个同事需要访问跨账户角色,它可以简化权限管理。

最佳答案提到了 Amazon SES 发送授权功能的使用。我不确定这是否适用于这种情况,因为据我所知,OP 希望“管理 SES 身份”——这与使用它们不同(即 SendEmail 和 SendRawEmail 操作) .

参考资料

[1] https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html
[2] https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html
[3] https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonses.html#amazonses-actions-as-permissions
[4] https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html
[5] https://aws.amazon.com/de/blogs/security/control-access-to-aws-resources-by-using-the-aws-organization-of-iam-principals/
[6] https://aws.amazon.com/de/blogs/security/how-to-use-trust-policies-with-iam-roles/
[7] https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow

答案 2 :(得分:0)

在研究了另外几个小时后,我想回答这个问题: 即使使用组织,其他用户也无法管理已验证的电子邮件。 我的错误是使用root帐户。通过管理,我的意思是登录到AWS管理控制台并查看/编辑地址,

据我所知,您需要创建一个单独的IAM用户(例如,将其称为shared-ses-user),该用户可以共享。这不是一个好的解决方案,但至少我们可以使它起作用。