amazon-web-services - 具有服务相关角色的基于标签的访问控制
问题描述
我正在尝试为 ECS 任务执行角色实施基于标签的访问控制 (TBAC)。基本上,我想创建一个由 ECS 任务承担的服务相关角色,并基于该任务上的标签,我想授予对 SSM 参数的访问权限。该服务相关角色的 IAM 策略如下所示:
{
"Statement": [
{
"Action": [
"ssm:GetParameterHistory",
"ssm:GetParametersByPath",
"ssm:GetParameters",
"ssm:GetParameter"
],
"Effect": "Allow",
"Resource": [
"arn:aws:ssm:*:<accountNumber>:parameter/config/${aws:PrincipalTag/AppName}/*"
],
"Sid": "VisualEditor3"
}
],
"Version": "2012-10-17"
}
任务上的标签和 SSM 中的路径匹配,但我仍然收到此错误消息:
assumed-role/taskExecutionRole/<someRoleId> is not authorized to perform: ssm:GetParametersByPath
在Resource
上面指定的路径上。
我假设将 PrincipalTag 与服务相关角色一起使用,其中:
Principal = {
Service = "ecs-tasks.amazonaws.com"
}
应该可以正常工作,但它根本不起作用,我正在努力寻找有关这实际上应该如何工作以及它是否受支持的文档。
解决方案
推荐阅读
- javascript - 在 componentDidMount() 中反应 Axios 调用
- reactjs - 将 Vue 插槽代码转换为 React 插槽代码 - 传递数据时遇到问题
- windows - 无法使用远程容器将 C/C++ 扩展安装到 VisualCode
- ios - 在 App Store Connect 上找不到编辑版本。尝试使用'--use_live_version true'
- magento - Magento 2.3.3 数据库 ERD
- azure - Azure Blob 存储错误 - 不满足使用 HTTP 条件标头指定的条件
- firebase - 颤振 | 如何从 Firestore 获取对象列表?
- performance - 如何提高 Fortran 到 Fortran 操作的效率?
- mysql - 如何检查一列是否有两个以上的项目,以及它是否比 SQL 中的 avg() 多?
- themes - 如何更改 RStudio 终端中光标的颜色?