如何在aws云信息模板中限制特定于SQS的IAM角色



我是aws云信息模板的新手,我想将以下角色仅限于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函数策略,如

{
"Sid": "sqs",
"Effect": "Allow",
"Principal": {
"Service": "sqs.amazonaws.com"
},
"Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-east-2:123456789012:function:my-function"
}

相关内容

  • 没有找到相关文章

最新更新