我的情况是这样的:
我正在尝试通过 AWS Cognito 使用类似 UNIX 的主目录来控制对 S3 存储桶的访问。这些主目录应该可由用户组而不是每个单独的用户访问。IE:
s3-bucket/home/group1
s3-bucket/home/group2
s3-bucket/home/group3
Run Code Online (Sandbox Code Playgroud)
当使用组信息(当前用作通配符的目录名称的一部分)单独创建角色时,类似于此链接,它可以工作。但是,我不想为每个组创建单独的 IAM 角色。
在使用增强流程之前,我可以通过 STS 调用使用进一步的策略来限制角色assumeRoleWithWebIdentity。然而,当仅使用 cognito 时,它期望只应用一个角色。
我不想直接将策略应用于 ID 令牌的主题(例如${cognito-identity.amazonaws.com:sub}),而是希望它使用组(例如 from ${cognito-identity.amazonaws.com:cognito:groups}),这样我就不必为每个新组创建角色,并且变量其本身将有助于定义资源范围。
有人对此很幸运吗?或者通常在 IAM 资源定义中使用字符串数组/集?我试图做类似的事情
{"Fn::Select": [0, "${cognito-identity.amazonaws.com:cognito:groups}"]}
但cloudformation抱怨
Template error: Fn::Select requires a list argument with two elements: an integer index and a list。
谢谢!
PS我看到这个页面,其中指出没有特定于服务的密钥用于策略中的认知,但这似乎并不正确,因为我看到人们sub aud amr在网络上其他示例的策略中使用等,尽管这是一个明确的指南似乎没有很好的记录。
我将为这个网站做一个简化的示例,但基本上我正在尝试编写一个 Athena 查询(由 Glue 爬虫加载的数据,旨在在 Quicksight 中使用),这将允许我在 select 语句内扩展结构。
在我的示例中,假设我有一个my_table类似于以下内容的表:
id string,
scores struct<prediction:double,score:int>
Run Code Online (Sandbox Code Playgroud)
但由于我不知道该scores列在查询时的确切结构,因此我想将其扩展到查询范围。
我尝试了很多组合,但仅使用结构内部嵌套字段的确切名称似乎会产生结果,即
select results.id, results.scores.score, results.scores.prediction from my_table results
Run Code Online (Sandbox Code Playgroud)
如果类似的东西有效的话我会很高兴select results.id, results.scores.* from my_table results,但不幸的是它没有。
我一直在将我的代码从JIT转换到D3,并使用树形布局.我已经使用我的树数据复制了http://mbostock.github.com/d3/talk/20111018/tree.html中的代码,但我想再做一些.
在我的情况下,我想创建子节点,合并回来形成较低级别的父节点,我意识到更多的是有向图形结构,但是希望树能够适应这种情况(即注意到子节点之间的公共id应该是合并).
所以基本上一棵树在从父母到孩子的路上像正常一样划分,但是也有能力将这些孩子节点聚集在一起成为父母(有点像乱伦的关系:).
问类似的东西 - > 如何使用D3布局非树层次结构
听起来我可以将层次化边缘捆绑与树层次结构布局结合使用,但我还没有看到完成.尽管如此,我可能会稍微偏离一点.