即使拥有完全的管理权限,SNS中未发布的用户,Lambda也会超出VPC

晚安,我尝试在sns主题中发布时遇到严重问题,我的用户拥有完全访问权限,但仍然没有发布。我知道如果lambda位于vpc中,那么发布到sns会有问题,但是我将vpc lambda与Internet访问lambda分开了,我使用invoke来访问vpc,在sns中发布的lambda不在vpc中而且我无法在sns中发布。有这个问题的人吗?

  

消息:

(?i)(Québec|Ontario|British Columbia|Montreal|Victoria|Saskatchewan|Calgary|Newfoundland|Nova Scotia|Alberta)(?:\h+)?(G[A-Z0-9]+)?(?:\h+)?([A-Z0-9]+)?\h+Canada$

用户s3_developer拥有完全访问权限,但仍未发布到sns。

  

我的爱人

{
 "code": 1072,"message": "User: arn:aws:iam::{accountID}:user/s3_developer is not authorized to perform: snS:Publish on resource: arn:aws:sns:us-east-1:{accountID}:snsMailSend"
}

snS触发并在lambda中创建 var enviroment =“ snS_TOPIC”:“ snsMailSend”

iamRoleStatements:
- Effect: Allow
  action:
    - lambda:InvokeFunction
    - lambda:InvokeAsync
  Resource: "*"
- Effect: Allow
  action:
    - s3:GetObject
    - s3:ListBucket
    - s3:PutObject
  Resource: "arn:aws:s3:::"
- Effect: Allow
  action:
    - ses:SendEmail
    - ses:SendRawEmail
  Resource: "arn:aws:ses:::"
- Effect: Allow
  action:
    - sns:*
  Resource: "*"

该主题已成功创建,我可以通过一个简单的lambda进行发布,但是无法发布我的应用程序,其中包含触发器的lambda和发布的lambda在哪里。我不知道怎么了,有人看见灯了吗?

an_day 回答:即使拥有完全的管理权限,SNS中未发布的用户,Lambda也会超出VPC

最后我解决了,我为SNS创建了一个特定的用户,并为其赋予了适当的特权,并且在实例化sns时,我通过了您的用户访问权限和机密,从而解决了。我看到其他有类似问题的人希望这会有所帮助。

const aws = require('aws-sdk')
const sns = new aws.SNS({ region: process.env.REGION,accessKeyId: process.env.SNS_KEY,secretAccessKey: process.env.SNS_SECRET })
本文链接:https://www.f2er.com/3126529.html

大家都在问