AWS IAM SSM - 限制实例可以运行的文档

2024-03-31

有没有办法限制 EC2 实例的 IAM 策略?它只能运行一小部分文档 - 我尝试限制对 ssm:GetDocument 的访问,如下所示:

{
  "Version": "2012-10-17",
  "Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "ssm:GetDocument"
        ],
        "Resource": [
            "arn:aws:ssm:ap-southeast-2:*:document/MyCommand"
        ]
    }
 ]}

但我可以在实例上运行任何命令,仍然包括 AWS-RunPowershellScript 文档。

此链接显示如何限制用户的 ssm:sendCommand:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/delegate-commands.html http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/delegate-commands.html


我还没有找到一种方法来限制基于文档的SendCommand。如果用户无权访问,您会收到如下错误:

用户:arn:aws:iam::123456789012:user/username 无权对资源执行:ssm:SendCommand:arn:aws:ec2:us-east-1:123456789012:instance/i-01234567890abcdef

这表明SendCommand中的资源可以根据实例id进行限制。如果其中一个条件是文档 ARN,那就太好了,但到目前为止我还没有找到任何方法来实现它(这不是策略生成器向导中的条件)。

更新:我在AWS论坛上发布了这个问题,希望能得到答复:https://forums.aws.amazon.com/thread.jspa?threadID=249039 https://forums.aws.amazon.com/thread.jspa?threadID=249039

更新 2:我得到了回复,解决方案是要完成此操作,您必须使用 Resource 来指定允许运行命令的实例以及允许用户运行的文档。例如,这就是我最终得到的结果:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:*:123456789012:instance/*",
                "arn:aws:ssm:*:123456789012:document/RestartServices"
            ]
        }
    ]
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AWS IAM SSM - 限制实例可以运行的文档 的相关文章

  • Emacs + 流浪汉 + plink

    我正在尝试让 emacs trapmp 在 Windows XP 下运行 以便在 Amazon EC2 实例上通过 putty plink 工作 用于执行此操作的文档很少 我可以找到部分文档 但没有一个文档能够解决实现此功能所需的所有步骤
  • 如何在亚马逊AWS上加载ena驱动程序?

    我正在尝试在 Ubuntu VM 上加载 ena 驱动程序 根据文档 我的虚拟机有vif低性能驱动程序 ubuntu ip 172 31 14 190 ethtool i eth0 driver vif version firmware v
  • 将 EC2 实例注册到 ECS 集群,无需公网 IP

    我很难将在我的 VPC 和私有子网上 没有附加互联网网关 创建的实例添加到 ECS 集群 目前 我设法做到这一点的唯一方法是添加公共 IP 并配置 NAT 实例 网关 如何使用具有私有子网的 ECS 集群 我想我已经在 AWS 文档中找到了
  • 如何在 Lambda 中将对象上传到 S3?

    似乎无法将对象上传到 Lambda 中的 S3 本地一切正常 日志中没有错误可以显示出了什么问题 代码如下 console log Loading function var AWS require aws sdk var s3 new AW
  • 如何在网络服务器中的端口 80 而不是端口 5000 上运行“部署”。

    我正在使用 deployd 运行一个网站 并且在将在端口 5000 上运行的应用程序更改为端口 80 时遇到问题 我想要做的是不要使用 mydomain com 5000 而只想使用 mydomain com 5000 com 谢谢 根据内
  • 如何将 AWS CLI 的输出保存在变量中?

    我想将 AWS CLI 的输出保存在变量中 并在另一个 AWS CLI 中使用该变量 我所做的如下 taskarn aws ecs list tasks cluster mycluster service name myService re
  • 在AWS EC2上挂载NVME磁盘

    所以我在每个节点上使用 NVME 磁盘创建了 i3 large 这是我的过程 lsblk gt nvme0n1 检查 nvme 是否尚未安装 sudo mkfs ext4 E nodiscard dev nvme0n1 sudo mount
  • Spark s3 写入(s3 与 s3a 连接器)

    我正在从事一项在 EMR 上运行的作业 它在 s3 上保存了数千个分区 分区为年 月 日 我有过去 50 年的数据 现在 当 Spark 写入 10000 个分区时 使用以下命令大约需要 1 小时s3a联系 它非常慢 df repartit
  • 如何在 NextJS 中设置 AWS-SDK 凭证

    我需要从 NextJs 应用程序将一些文件上传到 S3 由于它是服务器端 我的印象是简单地设置环境变量应该可以工作 但事实并非如此 我知道还有其他选择 例如为 EC2 分配角色 但我想使用 accessKeyID 和 SecretKey 这
  • Jackson反序列化SNS消息错误MismatchedInputException

    我正在编写一个通过 SNS HTTP 请求处理来自 Amazon Simple Email Service 的回调的功能 我想将亚马逊提供的消息解析为本地对象结构 问题是 SNS 将 JSON 消息包装成字符串 并且 Jackson 无法解
  • 在 AWS Glue 中覆盖动态框架中的镶木地板文件

    我使用动态框架在 S3 中写入镶木地板文件 但如果文件已存在 我的程序会附加一个新文件而不是替换它 我用的句子是这样的 glueContext write dynamic frame from options frame table con
  • 无法登录 mediawiki:为了防止会话劫持而取消?

    我多年来一直使用托管在 AWS EC2 实例上的私有 mediawiki 我认为某些扩展出了问题 特别是在数学渲染过程中停止了 所以我尝试使用 Google Chrome 浏览器重新加载页面 缓存全部被删除 之后 我无法登录并看到此消息 您
  • 如何使用 AWS SAM 为 HttpApi 配置自定义域?

    我正在使用 AWS Lambda AWS API Gateway 和 aws sam 开发 API 我已经实现了 firebase 身份验证 我也使用嵌套堆栈 我正在尝试为我的 API 端点使用自定义域 因此我可以像这样调用api mydo
  • 如何计算 OpenID Connect 服务器的指纹?

    创建 OpenID Connect 提供商 例如 AWS 时 我需要指定一个指纹对于连接器 它是什么 我如何获得它 例如 从如何在不使用密钥的情况下将 GitHub 操作与 AWS 部署连接起来 https stackoverflow co
  • 如何在 RTMP 流中嵌入 pic_timing SEI 挂钟时间码?

    我需要将我的桌面流式传输到 AWS MediaLive 服务 并且根据要求 我必须在流中包含挂钟时间码 AWS 支持人员善意地通知我 对于 h 264 编码流 我需要提供时间码作为 pic timing SEI 消息 我在 Windows
  • 为什么只有 50 个实例在 AWS lambda 上运行?

    我在用context logStreamName识别 lambda 实例 并发设置为无保留 但日志显示只有 50 个实例正在运行 我是否误解了logStream pre logStream pre实例 我从那里得到的信息这个博客 https
  • 亚马逊 Linux - 安装 openjdk-debuginfo?

    我试图使用jstack在 ec2 实例上amazon linux 所以我安装了openjdk devel包裹 sudo yum install java 1 7 0 openjdk devel x86 64 但是 jstack 引发了异常j
  • 无法在 xcode 8 beta 6 上编译 AWS CustomIdentityProvider

    我在 iOS 应用程序中使用 Amazon Cognito 和 Facebook 登录 直到 beta 5 为止此代码从这个SO线程 https stackoverflow com questions 37597388 aws cognit
  • AWS - 如何从 CloudWatch Alarm 重新启动或重新启动 EC2 实例?

    有时我的应用程序会无缘无故地死掉 我可以使用 CloudWatch 和 CPU 使用指标下降来检测到这一点 此时我想重新启动java应用程序或整个EC2实例 有什么建议我怎样才能实现这一目标 Thanks AWS 云观察 https aws
  • 如何通过 API Gateway 使用事件调用类型调用 Lambda 函数?

    文件说 默认情况下 Invoke API 采用 RequestResponse 调用类型 您可以选择通过将 Event 指定为 InitationType 来请求异步执行 因此 我可以发送到我的函数 python 的就是到处都是 Inspi

随机推荐

  • 如何将数据从 Amazon SQS 流式传输到 Amazon S3 中的文件

    如何快速创建从 Amazon SQS 读取 json 数据并将其保存在 s3 存储桶中的 avro 文件 可能是其他格式 中的机制 并按 json 消息中给定字段的日期和值进行分区 你可以写一个AWS Lambda 函数由发送到 Amazo
  • 最低成本流程

    R 中是否有实现最小成本流算法的包 The igraph包似乎只有最大流量 通过graph maxflow 函数 这里或上面没有其他内容rseek org http www rseek org 看起来很有帮助 也许您可以返回所有流 然后按值
  • 以编程方式添加的用户控件不会创建其子控件

    我的项目中有一个用户控件 ascx 我在页面的 Page Load 事件处理程序中以编程方式将其添加到页面 如下所示 Controls Add new MyProject Controls ControlWidget Databind 当我
  • 如何允许传入连接到 VirtualBox 内的服务器?

    我配置了一个 NAT 以便在 VitualBox 中加载我最喜欢的 Linux 发行版时运行 这使得传出连接能够成功工作 如何允许传入此框的连接 例如 Web 流量 IP 地址是 10 0 2 15 来自我的主机的 ping 请求导致超时
  • iOS 部署目标

    如果我在提交到应用程序商店时将应用程序的部署目标设置为 iOS 4 2 则使用 iOS 3 2 或低于 4 2 的任何版本 的用户是否能够下载并安装该应用程序 并且该应用程序将无法运行或无法运行下载并安装应用程序本身 Thanks 他们将无
  • 管理归档表单和结果页面的最佳方式

    在 Symfony 中管理过滤器页面和结果页面的最佳方式是什么 我有一个管理过滤器表单并执行查询的控制器 该查询的结果必须传入另一个控制器操作 结果必须显示在另一个控制器操作中 因为我使用了 knp paginator 如果我在过滤器表单的
  • Android ==> ant 和 proguard?

    我在混淆我的应用程序时收到以下错误 如何在 build xml 中定义输出 jar java Shrinking java java io IOException The output jar is empty Did you specif
  • 使用 R 提取多条推文中的主题标签

    我迫切需要一个从 R 中的集体推文中提取主题标签的解决方案 例如 1 1 RddzAlejandra RT NiallOfficial What a day for johnJoeNevin Sooo proud t have been t
  • 后台附件:已修复在 iOS 上不起作用

    我正在尝试找到解决 iOS 设备上固定背景问题的方法 我宁愿不必重新设计这个网站的所有内容 我希望一些 CSS 更改可以解决它 This https i stack imgur com Yxa22 jpg该网站在 iPhone 上的外观是这
  • Ionic2,如何将自定义插件(appsee 或 uxcam)导入到 Ionic App 中

    我正在尝试使用Appsee https www appsee com docs ios ionic or UXcam https uxcam com docs 我尝试像下面这样导入 但没有成功 从 ionic native appsee 导
  • 如何使用@agm-core在有角度的谷歌地图上绘制多边形?

    在我的应用程序中 我使用 Angular Google Maps AGM 来构建地图 如何在其上绘制多边形 我按照中描述的解决方案进行操作https stackblitz com edit agm polygon https stackbl
  • 关于在 MVVM 中绑定 Listbox.SelectedItem 的说明

    我有一个ListBox在我的用户控件之一中 我想获得SelectedItem 在 ViewModel 中使用 这ListBox由 组成TextBlocks 这个问题 https stackoverflow com questions 138
  • 无法使用灵活类型 plt.hist 执行归约

    我有一个包含数千个元素及其各自频率的数据集 我需要绘制出现次数最多的 10 个元素的直方图 我做了 top words Counter my data most common top words 10 top words 10 plt hi
  • 使用 SwiftyJSON 解析 JSON 时遇到问题

    我是 swift 新手 我正在尝试解析从我拥有的私有 API 检索的一些简单的 JSON 数据 我正在使用 SwiftJSON 库 无论我做什么 我都无法将来自 JSON 响应的 video upload id 值分配给变量 videoUp
  • 过滤 pandas 中的数据帧:使用条件列表

    我有一个具有两个维度的 pandas 数据框 col1 和 col2 我可以使用以下方法过滤这两列的某些值 df df col1 foo df col2 bar 有什么方法可以同时过滤两列吗 我天真地尝试将数据帧限制为两列 但我对等式第二部
  • 如何决定一个方法是私有的、受保护的、内部的还是公共的?

    我正在设计一个类 其中某些方法如果公开为公共 则不会造成任何伤害 但它们也可以是私有的 因为它们只能在我的项目中的同一个类中使用 公开它们有以下优点 可进行单元测试 无需访问器 灵活性 将它们设为私有有以下优点 公共文档简化 一些未知的错误
  • require未定义如何解决?

    我跟着本教程 https github com manoharkhadka1 laravel chat app创建一个聊天应用程序vuejs questions tagged vuejs and laravel questions tagg
  • phpMyAdmin 不会停止抛出“#1130 - 主机‘localhost’不允许连接到此 MySQL 服务器”

    我正在尝试进入http localhost phpmyadmin index php但我不断得到 Error MySQL said 1130 Host localhost is not allowed to connect to this
  • 如何从另一台服务器中的存储过程运行作业?

    是否可以从位于不同服务器的存储过程运行作业 如果是这样 怎么办 那么为什么不考虑使用 exec LINKEDSERVERNAME msdb dbo sp start job Job Name 虽然没有测试过 也许一些看不见的答案是一样的 但
  • AWS IAM SSM - 限制实例可以运行的文档

    有没有办法限制 EC2 实例的 IAM 策略 它只能运行一小部分文档 我尝试限制对 ssm GetDocument 的访问 如下所示 Version 2012 10 17 Statement Effect Allow Action ssm