Cedar是一种专为现代授权需求设计的策略语言,既易于人类阅读,又便于机器分析。它通过基于角色的访问控制(RBAC)解决了Kubernetes授权的挑战,并提供条件操作符,允许对特定资源进行细粒度的权限控制。
最近,Micah Hausler,AWS的首席工程师,详细阐述了Cedar的策略管理方法在CNCF博客中。当在云原生环境中扩展Kubernetes部署时,组织面临管理访问控制和授权的问题。在这种情况下,Kubernetes管理员必须为各种类型的控制管理不同的策略框架和工具。在2024年第四季度,Cedar扩展了其与Kubernetes的集成。
使用Cedar,Kubernetes管理员可以使用相同的语言和框架编写授权和准入策略。Cedar可以在Kubernetes API的多个扩展点使用,以在Kubernetes中实施访问控制。
通过基于标签和属性的访问控制,Cedar基于资源标签和属性实现细粒度的权限,创建了以前复杂的安全边界。另一个显著特点是为Kubernetes内置类型和自定义资源定义生成的模式,确保策略在创建前可以被验证。
Cedar还提供了对模拟授权的明确支持,这使得作者更容易纠正UID、用户名和组的模拟策略。由于Cedar与现有的RBAC配置保持兼容,组织可以逐步采用Cedar,而不会对其当前的安全态势造成太大干扰。
在KubeCon + CloudNativeCon NA 2024上,Gabriel L. Manor,Permit.io的开发者关系副总裁,主持了一场小组讨论 -策略引擎对决。代表Cedar,Joy Scharmen,StrongDM的基础设施工程高级总监,说道:
Cedar建立在AWS广泛的IAM专业知识之上,使其成为一种高度可读和可预测的策略语言。其可分析性是一个突出特点,确保策略完全按照预期执行。
小组还包括其他策略引擎的代表:OpenFGA,Topaz,和Open Policy Agent (OPA)。
有Hausler在LinkedIn上的公告帖子,也得到了技术社区的良好互动。
组织可以从Cedar开始,使用开发环境中的工具,如kind。读者可以查看Cedar for Kubernetes GitHub仓库以获取有关实施或贡献的更多信息。