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