即使已配置RBAC策略,也可以将机密视为一个环境变量

时间:2019-06-03 09:55:57

标签: kubernetes

在kubernetes的测试名称空间中设置一个秘密和两个服务帐户(access-sa和no-access-sa)。 然后,在RoleBind之后,将它们绑定到适当的ClusterRoles(access-cr和no-access-cr),其中一个可以访问测试名称空间中的机密,而另一个则不能。 创建了两个Pod(access-pod和no-access-pod),一个使用access-sa,另一个使用no-access-sa,并向命令传递了一个shell脚本,该脚本可添加env变量。 问题是,即使将RBAC策略配置为无法访问机密,为何Pod日志中仍显示用于no-access-pod的机密。

SeriesData

在两种情况下,我都能以admin的身份看到SPECIAL_LEVEL_KEY的值
public class SeriesDataViewModel { //series data properties public List<Season> Seasons { get; set; } public List<Episode> Episodes { get; set; } }

1 个答案:

答案 0 :(得分:0)

请注意,作为群集操作员,使用客户端工具(kubectl),授权过程(RBAC)首先为您启动。它仅验证您是否有权创建在共享清单文件中指定的资源对象。在您的情况下,授权包括检查是否可以对“秘密”资源执行“获取”操作,不是您之前声明的任何ServiceAccounts。

如果要验证,如果您的RBAC策略在pod内是否按预期工作,则只需遵循instructions从集群内部访问Kubernetes API,然后查询以下API URI:'/ api / v1 / namespaces / test / secrets'