1

如何限制某些用户的访问权限,使其仅在 SES 上操作,而不是在我的 AWS 账户上的其他服务上操作?

示例:

{
    "Version": "2021-12-16",
    "Statement": [
        {
            "Sid": "AllowsSES",
            "Effect": "Allow",
            "Action": "ses:*",
            "Resource": "*"
        },
        {
            "Sid": "DenyAllOthers", 
            "Effect": "Deny",
            "Action": "*",
            "Resource": "*"
        }
    ]
}
4

2 回答 2

0

AWS 中的 IAM 用户默认没有访问权限Allow他们只有在特别授予 via策略权限时才具有访问权限。

这可以通过 IAM 策略实现,但某些服务也可以直接授予权限,例如 Amazon S3 存储桶策略和 Amazon SQS 访问策略。

一般来说,最好避免使用Deny策略,因为它们会覆盖Allow策略。最好简单地限制通过Allow策略授予的内容。但是,有时Deny需要 a。例如,管理员可能被授予对所有 S3 存储桶的权限,但特别是拒绝访问包含敏感数据的存储桶。

对于您的情况,只需使用您的第一个 ( Allow) 策略授予他们访问 Amazon SES 的权限就足够了。默认情况下,他们将无法访问任何其他服务。

于 2021-12-17T00:45:26.040 回答
0

对于您的情况,您只需要以下政策

{
"Version": "2021-12-16",
"Statement": [
    {
        "Sid": "AllowsSES",
        "Effect": "Allow",
        "Action": "ses:*",
        "Resource": "arn:aws:ses:(regiondetail):(AWSAccountNumber):identity/(AWSIAMName)"
    }
]
}

原因是您可能会创建一个有点矛盾的策略。您正在提供访问权限并拒绝每个人的访问权限。因此,实时应用的策略可能无法正常工作,因为您期望仍然可以访问您。

在绝对必要时也使用拒绝策略,并酌情使用它来拒绝特定用户或资源的访问。此外,当您像上面那样授予特定访问权限时,它只会授予这些用户访问权限。

包括拒绝,您可以使用以下内容:-

{
"Version": "2021-12-16",
"Statement": [
    {
        "Sid": "AllowsSES",
        "Effect": "Allow",
        "Action": "ses:*",
        "Resource": "*"
    },
    {
        "Sid": "DenySelected", 
        "Effect": "Deny",
        "Action": "*",
        "Resource": "arn:aws:ses:(regiondetail):(AWSAccountNumber):identity/(AWSIAMName)"
    }
]
}
于 2021-12-17T03:20:46.823 回答