[英]How to restrict IAM Role specific to SQS in aws cloudformation template
我是 aws cloudformation 模板的新手,我只想将以下角色限制为 SQS 服务。 请建议我如何使用条件来实现相同的目标。
我的模板样本::
AWSTemplateFormatVersion: 2010-09-09
Description: >-
This template creates Role
Parameters:
vpcname:
Type: String
Description: Enter vpcname
Resources:
ErrorQueueRole:
Type: 'AWS::IAM::Role'
Properties:
RoleName: !Join ["",[ErrorQueueRole.,!Ref vpcname]]
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal:
Service:
- sqs.amazonaws.com
Action:
- sts:AssumeRole
Condition:
StringEquals:
SQS 使用SQS 策略而不是 IAM 角色,因此您将在此处受限于它提供的功能。
SNS、Lambda 和 S3 等数量有限的服务支持通常所说的资源策略。 假设服务 (SQS) 支持连接到服务的功能,您需要将 Arn 添加到您尝试触发的服务中。
例如,允许 SQS 调用 Lambda,将需要您修改 Lambda function 策略,例如
{
"Sid": "sqs",
"Effect": "Allow",
"Principal": {
"Service": "sqs.amazonaws.com"
},
"Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-east-2:123456789012:function:my-function"
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.