如何使用 CDK 生成 AWS SES SMTP 凭证?
How can I generate AWS SES SMTP credentials using the CDK?
关于如何使用 GUI 获取 SMTP 凭据的手册:
Obtaining Amazon SES SMTP credentials using the Amazon SES console
有没有办法使用 Amazon CDK 实现此目的?到目前为止,我已经尝试使用零运气的 aws-ses
包。
我不指望你为我写代码,只是为我指出正确的方向。
描述工作流程就可以了,谢谢。
获取 Amazon SES SMTP 凭据需要根据 docs 的以下 IAM 策略:
Your IAM policy must allow you to perform the following IAM actions: iam:ListUsers
, iam:CreateUser
, iam:CreateAccessKey
, and iam:PutUserPolicy
.
GUI 背后发生的事情是:
- 输入(并使用
iam:ListUsers
验证)或创建(使用 iam:CreateUser
)IAM 用户名
- 内联策略已添加到用户权限(使用
iam:PutUserPolicy
)以授予他们执行 ses:SendRawEmail
: 的权限
"Statement":[{"Effect":"Allow","Action":"ses:SendRawEmail","Resource":"*"}]
- 然后为上述用户生成 SMTP 凭据(使用
iam:CreateAccessKey
)
您基本上需要使用 @aws-cdk/aws-iam
模块来执行上述操作,而不是 @aws-cdk/aws-ses
模块(因为那是为了实际使用 SES)。
为了进一步确认,这里是提到上述内容的 AWS 控制台:
据我所知,接受的答案没有回答如何在 CDK 中生成 SMTP 凭据。
首先您需要为该用户创建一个 IAM 用户和一个 CfnAccessKey。
然后需要从此处记录的秘密访问密钥生成 SMTP 密码:
https://docs.aws.amazon.com/ses/latest/dg/smtp-credentials.html#smtp-credentials-convert
据我所知,在 CDK 中执行此操作的唯一方法是使用 CustomResource。
可以在此处找到此类实现的示例:
https://github.com/binxio/cfn-secret-provider/blob/master/src/cfn_accesskey_provider.py
但是,正如 README (https://github.com/isotoma/ses-smtp-credentials-cdk#nota-bene-confidentiality-of-keys) 中提到的那样,
STMP 密码不应从 CustomResource 返回,而是存储为 Secret。
关于如何使用 GUI 获取 SMTP 凭据的手册:
Obtaining Amazon SES SMTP credentials using the Amazon SES console
有没有办法使用 Amazon CDK 实现此目的?到目前为止,我已经尝试使用零运气的 aws-ses
包。
我不指望你为我写代码,只是为我指出正确的方向。
描述工作流程就可以了,谢谢。
获取 Amazon SES SMTP 凭据需要根据 docs 的以下 IAM 策略:
Your IAM policy must allow you to perform the following IAM actions:
iam:ListUsers
,iam:CreateUser
,iam:CreateAccessKey
, andiam:PutUserPolicy
.
GUI 背后发生的事情是:
- 输入(并使用
iam:ListUsers
验证)或创建(使用iam:CreateUser
)IAM 用户名 - 内联策略已添加到用户权限(使用
iam:PutUserPolicy
)以授予他们执行ses:SendRawEmail
: 的权限
"Statement":[{"Effect":"Allow","Action":"ses:SendRawEmail","Resource":"*"}]
- 然后为上述用户生成 SMTP 凭据(使用
iam:CreateAccessKey
)
您基本上需要使用 @aws-cdk/aws-iam
模块来执行上述操作,而不是 @aws-cdk/aws-ses
模块(因为那是为了实际使用 SES)。
为了进一步确认,这里是提到上述内容的 AWS 控制台:
据我所知,接受的答案没有回答如何在 CDK 中生成 SMTP 凭据。
首先您需要为该用户创建一个 IAM 用户和一个 CfnAccessKey。
然后需要从此处记录的秘密访问密钥生成 SMTP 密码:
https://docs.aws.amazon.com/ses/latest/dg/smtp-credentials.html#smtp-credentials-convert
据我所知,在 CDK 中执行此操作的唯一方法是使用 CustomResource。
可以在此处找到此类实现的示例:
https://github.com/binxio/cfn-secret-provider/blob/master/src/cfn_accesskey_provider.py
但是,正如 README (https://github.com/isotoma/ses-smtp-credentials-cdk#nota-bene-confidentiality-of-keys) 中提到的那样,
STMP 密码不应从 CustomResource 返回,而是存储为 Secret。