我将以类似于以下示例的分层方式组织不同部门的参数:
/Finance/Accountants/UserList
/Finance/Analysts/UserList
/HR/Employees/EU/UserList
然后,我想使用 IAM 策略管理对参数的访问。根据以下 AWS 文档摘录,如果用户A有权访问/Finance/Accountants
则他也可以通过递归调用GetParametersByPath
来访问/Finance/Analysts
。
这里有一个问题:如果用户A尝试通过根路径递归访问参数存储:"/"怎么办。在这种情况下,即使他被明确拒绝访问/HR
路径下的参数,他是否也能访问参数?
如果用户有权访问路径,则用户可以访问所有级别的 那条路。例如,如果用户有权访问路径/a, 然后,用户还可以访问/a/b。即使用户已明确 在 IAM 中拒绝对参数/b 的访问,他们仍然可以调用 GetParametersByPath API 操作递归并查看/a/b。
它仅适用于子级别,不适用于父级别。
如果访问是针对/Finance/Accountants*
(不是/*
或/Finance*
(,则用户无法查询GetParametersByPath
以获取/Finance
并获取其所有子级别。
您可以拒绝GetParametersByPath
操作,以使其更加明确。仅允许/拒绝特定路径或仅在请求中传递recursive=True
时才允许/拒绝它。
您还可以使用基于标签的 IAM 策略,这将需要标记参数。