laravel - vpc中的Laravel,无需程序访问即可访问sqs
问题描述
我有一个在 VPC 内的 ec2 实例上运行的 Laravel 应用程序。现在我想从应用程序连接到 SQS。使用编程访问似乎可行,但我想使用 SQS 端点,而不必使用密钥和秘密。
从技术上讲,这应该可以通过将 AWS 资源链接在一起来实现。知道如何在 Laravel 中进行设置吗?
解决方案
听起来您需要使用附加到EC2 实例的IAM 角色(基本上是一组策略)。您包含的策略将有一个部分用于访问您的 SQS 队列(或至少在 SQS 中对其执行某些操作)。这有效地允许将临时凭据提供给实例,而无需将它们包含在代码中。
这个角色可能看起来像这样:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sqs:ReceiveMessage",
"sqs:DeleteMessage",
"sqs:GetQueueAttributes"
...<any other actions>
],
"Resource": <SQS Queue ARN>
}
]
}
您在 EC2 控制台中将此角色附加到您的 EC2 实例 - 选择实例,转到Instance Settings > Attach/Replace IAM Role
推荐阅读
- azure - Azure DevOps 发布管道的工件位置
- python - 将 json 源中的数据抓取到 csv 中
- java - SimpleXML Element & Inline Elementlist 随机顺序
- angular - 如何在Angular中有条件地设置动画:进入和:离开过渡?
- java - 将 JPanel 添加到 JFrame 会更改其大小
- angular - 如何在浏览器中快速加载 Angular 6 应用程序?
- xamarin - 我可以使用 XAML 和 CS 模板覆盖控件属性以创建另一个控件吗?
- sql-server - Sql - SQL 错误 [156] [S1000]:关键字“as”附近的语法不正确
- node.js - 一种让不和谐机器人在设定的时间发送私人消息的方法?
- android - Kotlin 顶级函数与对象函数