

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Mail Manager 的权限策略
<a name="eb-policies"></a>

本章中的策略为使用 Mail Manager 所有不同功能所必需的策略提供了一个单一参考点。

在 Mail Manager 功能页面中，提供了链接，单击后会跳转到本页包含您使用该功能所需策略的相应部分。选择所需策略的复制图标，并按照相应功能说明中的指示进行粘贴。

以下策略允许您通过资源权限策略和 AWS Secrets Manager 策略使用 Amazon SES Mail Manager 中包含的不同功能。如果您不熟悉权限策略，请参阅 [Amazon SES 策略剖析](policy-anatomy.md)和 [AWS Secrets Manager的权限策略](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html)。

## 入口端点的权限策略
<a name="eb-policies-ingress"></a>

创建入口端点需要同时使用本节中的两个策略。要了解如何创建入口端点以及在何处使用这些策略，请参阅[在 SES 控制台中创建入口端点](eb-ingress.md#eb-ingress-create-console)。

### 入口端点的 Secrets Manager 密钥资源权限策略
<a name="eb-policies-ingress-secrets"></a>

要使 SES 能够通过入口端点资源访问密钥，需要使用以下 Secrets Manager 密钥资源权限策略。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "Id",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "ses.amazonaws.com"
            },
            "Action": "secretsmanager:GetSecretValue",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "{{000000000000}}"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:ses:{{us-east-1}}:{{000000000000}}:mailmanager-ingress-point/*"
                }
            }
        }
    ]
}
```

------

### 入口端点的 KMS 客户自主管理型密钥（CMK）密钥策略
<a name="eb-policies-ingress-cmk"></a>

必须使用客户托管密钥 (CMK) 作为您的密钥。要允许 SES 使用您的密钥作为您的密钥，您的 KMS 密钥策略中必须包含以下声明。

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": "ses.amazonaws.com"
    },
    "Action": "kms:Decrypt",
    "Resource": "*",
    "Condition": {
        "StringEquals": {
            "kms:ViaService": "secretsmanager.{{us-east-1}}.amazonaws.com",
            "aws:SourceAccount": "{{000000000000}}"
        },
        "ArnLike": {
            "aws:SourceArn": "arn:{{aws}}:ses:{{us-east-1}}:{{000000000000}}:mailmanager-ingress-point/*"
        }
    }
}
```

### 适用于 mTLS 信任存储库的 KMS 客户托管密钥 (CMK) 密钥策略
<a name="eb-policies-ingress-mtls-cmk"></a>

如果您使用客户托管密钥 (CMK) 来加密您的 mTLS 信任存储，则需要在您的 KMS 密钥策略中使用以下声明以允许 SES 使用您的密钥。

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": "ses.amazonaws.com"
    },
    "Action": [
        "kms:Decrypt",
        "kms:DescribeKey"
    ],
    "Resource": "*",
    "Condition": {
        "StringEquals": {
            "aws:SourceAccount": "{{000000000000}}"
        },
        "ArnLike": {
            "aws:SourceArn": "arn:{{aws}}:ses:{{us-east-1}}:{{000000000000}}:mailmanager-ingress-point/*"
        }
    }
}
```

## SMTP 中继的权限策略
<a name="eb-policies-relay"></a>

创建 SMTP 中继需要同时使用本节中的两个策略。要了解如何创建 SMTP 中继以及在何处使用这些策略，请参阅[在 SES 控制台中创建 SMTP 中继](eb-relay.md#eb-relay-create-console)。

### SMTP 中继的 Secrets Manager 密钥资源权限策略
<a name="eb-policies-relay-secrets"></a>

要使 SES 能够通过 SMTP 中继资源访问密钥，需要使用以下 Secrets Manager 密钥资源权限策略。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue",
                "secretsmanager:DescribeSecret"
            ],
            "Principal": {
                "Service": [
                    "ses.amazonaws.com"
                ]
            },
            "Resource": "*",
            "Condition": {
               "StringEquals": {
                   "aws:SourceAccount": "{{888888888888}}"
                },
               "ArnLike": {
                   "aws:SourceArn": "arn:aws:ses:{{us-east-1}}:{{888888888888}}:mailmanager-smtp-relay/*"
               }
           }
        }
    ]
}
```

------

### SMTP 中继的 KMS 客户自主管理型密钥（CMK）密钥策略
<a name="eb-policies-relay-cmk"></a>

要允许 SES 使用您的密钥作为您的密钥，您的 KMS 密钥策略中必须包含以下声明。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:DescribeKey"
            ],
            "Principal": {
                "Service": "ses.amazonaws.com"
            },
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": "secretsmanager.{{us-east-1}}.amazonaws.com",
                    "aws:SourceAccount": "{{000000000000}}"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:ses:{{us-east-1}}:{{000000000000}}:mailmanager-smtp-relay/*"
                }
            }
        }
    ]
}
```

------

## 电子邮件存档的权限策略
<a name="eb-policies-archiving"></a>

**存档导出**  
IAM 身份调用者`StartArchiveExport`必须有权访问由以下 IAM 策略配置的目标 S3 存储桶：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": "arn:aws:s3:::{{MyDestinationBucketName}}"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:PutObjectTagging",
                "s3:GetObject"
            ],
            "Resource": "arn:aws:s3:::{{MyDestinationBucketName}}/*"
        }
    ]
}
```

------

这是目标存储桶的 S3 存储桶策略：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "ses.amazonaws.com"
            },
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": "arn:aws:s3:::{{MyDestinationBucketName}}"
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "ses.amazonaws.com"
            },
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:PutObjectTagging",
                "s3:GetObject"
            ],
            "Resource": "arn:aws:s3:::{{MyDestinationBucketName}}/*"
        }
    ]
}
```

------

**注意**  
存档不支持[混淆的副条件键](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html#access-analyzer-reference-policy-checks-security-warning-restrict-access-to-service-principal)（aws: SourceArn、aws: SourceAccount、aws: SourceOrg ID 或 aws:SourceOrgPaths）。这是因为 Mail Manager 的电子邮件存档在开始实际导出之前，会使用[转发访问会话](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html)测试调用身份是否具有对导出目标存储桶的写入权限，从而防止出现混淆代理问题。

**使用 KMS CMK 进行存档静态加密**  
IAM 身份调用`CreateArchive`者`UpdateArchive`必须能够通过以下策略访问 KMS 密钥 ARN：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "kms:DescribeKey",
            "kms:Decrypt",
            "kms:GenerateDataKey"
        ],
        "Resource": "arn:aws:kms:{{us-east-1}}:{{111122223333}}:key/{{MyKmsKeyArnID}}"
    }
}
```

------

您的 KMS 密钥策略中需要以下声明：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{111122223333}}:user/{{MyUserRoleOrGroupName}}"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey*",
                "kms:DescribeKey"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": [
                        "ses.{{us-east-1}}.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "ses.amazonaws.com"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey*",
                "kms:DescribeKey"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## 执行规则操作的权限和信任策略
<a name="eb-policies-rule-action"></a>

SES 规则执行角色是一个 AWS Identity and Access Management (IAM) 角色，它授予规则执行权限以访问 AWS 服务和资源。在规则集中创建规则之前，必须使用允许访问所需 AWS 资源的策略创建一个 IAM 角色。SES 在执行规则操作时会代入此角色。例如，您可以创建一个规则执行角色，该角色具有将电子邮件消息写入 S3 存储桶的权限，作为在规则条件满足时要采取的规则操作。

因此，*除了*本节中执行每个特定规则操作所需的单独权限策略之外，还需要以下信任策略。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Principal": {
          "Service": "ses.amazonaws.com"
        },
        "Action": "sts:AssumeRole",
        "Condition": {
          "StringEquals": {
                   "aws:SourceAccount": "{{888888888888}}"
          },
          "ArnLike": {
             "aws:SourceArn": "arn:aws:ses:{{us-east-1}}:{{888888888888}}:mailmanager-rule-set/*"
          }
        }
      }
    ]
  }
```

------

**Topics**
+ [写入 S3 策略](#eb-policies-s3)
+ [传送到邮箱策略](#eb-policies-workmail)
+ [发送到互联网策略](#eb-policies-internet)
+ [传送到 Q Business 策略](#eb-policies-q)
+ [发布到 SNS 策略](#eb-policies-sns)
+ [退回政策](#eb-policies-bounce)
+ [调用 Lambda 函数策略](#eb-policies-lambda)

### *写入 S3* 规则操作的权限策略
<a name="eb-policies-s3"></a>

您的 IAM 角色需要以下策略才能使用 **“写入 S3**” 规则操作，该操作将收到的电子邮件发送到 S3 存储桶。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPutObject",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::{{MyDestinationBucketName}}/*"
            ]
        },
        {
            "Sid": "AllowListBucket",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::{{MyDestinationBucketName}}"
            ]
        }
    ]
}
```

------

如果您对启用了服务器端加密的 S3 存储桶使用 AWS KMS 客户托管密钥，则需要添加 IAM 角色策略操作。`"kms:GenerateDataKey*"`使用前面的示例，将此操作添加到您的角色策略中，如下所示：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowKMSKeyAccess",
            "Effect": "Allow",
            "Action": "kms:GenerateDataKey*",
            "Resource": "arn:aws:kms:{{us-east-1}}:{{888888888888}}:key/*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "kms:ResourceAliases": [
                        "alias/{{MyKeyAlias}}"
                    ]
                }
            }
        }
    ]
}
```

------

有关为 AWS KMS 密钥附加策略的更多信息，请参阅*《AWS Key Management Service 开发人员指南*》[AWS KMS中的使用密钥策略](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)。

### *传送到邮箱*规则操作的权限策略
<a name="eb-policies-workmail"></a>

您的 IAM 角色需要遵循以下策略才能使用**发送到邮箱**规则操作，该操作将收到的电子邮件发送到 Amazon WorkMail 账户。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": ["workmail:DeliverToMailbox"],
        "Resource": "arn:aws:workmail:{{us-east-1}}:{{888888888888}}:organization/{{MyWorkMailOrganizationID}}>"
      }
    ]
  }
```

------

### *发送到互联网*规则操作的权限策略
<a name="eb-policies-internet"></a>

您的 IAM 角色需要以下策略才能使用 “**发送到 Internet**” 规则操作将收到的电子邮件发送到外部域。

**注意**  
如果您的 SES 身份正在使用默认配置集，您还需要添加配置集资源，如下例所示。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": ["ses:SendEmail", "ses:SendRawEmail"],
        "Resource":[
        "arn:aws:ses:{{us-east-1}}:{{888888888888}}:identity/{{example.com}}",
        "arn:aws:ses:{{us-east-1}}:{{888888888888}}:configuration-set/{{my-configuration-set}}"
        ]        
      }
    ]
  }
```

------

### *传送到 Q Business* 规则操作的权限策略
<a name="eb-policies-q"></a>

使用**传送到 Q Business** 规则操作（将接收到的电子邮件传送到 Amazon Q Business 索引）需要以下策略：

您的角色所需的 IAM 政策：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAccessToQBusiness",
            "Effect": "Allow",
            "Action": [
                "qbusiness:BatchPutDocument"
            ],
            "Resource": [
                "arn:aws:qbusiness:{{us-east-1}}:{{888888888888}}:application/{{ApplicationID}}/index/{{IndexID}}"
            ]
        }
    ]
}
```

------

您的 KMS 密钥策略中需要声明：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAccessToKMSKeyForQbusiness",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey*",
                "kms:Encrypt",
                "kms:DescribeKey"
            ],
            "Resource": [
                "arn:aws:kms:{{us-east-1}}:{{888888888888}}:key/*"
            ],
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": "qbusiness.{{us-east-1}}.amazonaws.com",
                    "kms:CallerAccount": "{{888888888888}}"
                 },
                 "ForAnyValue:StringEquals": {
                    "kms:ResourceAliases": [
                        "alias/{{MyKeyAlias}}"
                    ]
                }
            }
        }
    ]
}
```

------

有关为 AWS KMS 密钥附加策略的更多信息，请参阅*《AWS Key Management Service 开发人员指南*》[AWS KMS中的使用密钥策略](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)。

### *发布到 SNS* 规则操作的权限策略
<a name="eb-policies-sns"></a>

使用**发布到 SNS** 规则操作（将接收到的电子邮件传送到 Amazon SNS 主题）需要以下策略。

您的角色所需的 IAM 政策：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAccessToSNSTopic",
            "Effect": "Allow",
            "Action": [
                "sns:Publish"
            ],
            "Resource": [
                "arn:aws:sns:{{us-east-1}}:{{888888888888}}:{{MySnsTopic}}"
            ]
        }
    ]
}
```

------

您的 KMS 密钥策略中需要声明：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAccessToKMSKeyForSNS",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey*",
                "kms:Encrypt",
                "kms:DescribeKey"
            ],
            "Resource": [
                "arn:aws:kms:{{us-east-1}}:{{888888888888}}:key/*"
            ],
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": "qbusiness.{{us-east-1}}.amazonaws.com",
                    "kms:CallerAccount": "{{888888888888}}"
                 },
                 "ForAnyValue:StringEquals": {
                    "kms:ResourceAliases": [
                        "alias/{{MyKeyAlias}}"
                    ]
                }
            }
        }
    ]
}
```

------

有关为 AWS KMS 密钥附加策略的更多信息，请参阅*《AWS Key Management Service 开发人员指南*》[AWS KMS中的使用密钥策略](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)。

### *退回*规则操作的权限策略
<a name="eb-policies-bounce"></a>

您的 IAM 角色需要遵循以下策略才能使用**退回规则操作，**该操作通过向发件人返回退回回复来退回电子邮件。

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowSendBounce",
            "Effect": "Allow",
            "Action": [
                "ses:SendBounce"
            ],
            "Resource": [
                "arn:aws:ses:{{us-east-1}}:{{123456789012}}:identity/*"
            ],
            "Condition": {
                "StringEquals": {
                    "ses:FromAddress": "{{sender@example.com}}"
                }
            }
        }
    ]
}
```

### *调用 Lambda 函数*规则操作的权限策略
<a name="eb-policies-lambda"></a>

您的 IAM 角色必须遵循以下策略才能使用 Invok **e Lambda 函数规则操作，该操作调用** AWS Lambda 函数来处理电子邮件。

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowInvokeLambdaFunction",
            "Effect": "Allow",
            "Action": [
                "lambda:InvokeFunction"
            ],
            "Resource": [
                "arn:aws:lambda:{{us-east-1}}:{{123456789012}}:function:{{MyFunction}}"
            ]
        }
    ]
}
```