AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

HashiCorp 策略即代码框架 Sentinel 新增多项开发体验改进

  • 2023-05-18
    北京
  • 本文字数:989 字

    阅读完需:约 3 分钟

HashiCorp策略即代码框架Sentinel新增多项开发体验改进

HashiCorp发布了策略即代码框架Sentinel一些改进,新特性包括:改进导入配置语法、新增静态导入特性、支持命名函数以及 per-policy 参数值。它还提供了新的辅助函数,用来确定一个值是否未定义。

 

0.19 版本引入了经过改进的导入配置系统,提供了标准化的命名约定,以及使用 HCL 语法的一致性更好的导入配置。现在, import块还允许覆盖策略中使用的导入和插件的默认配置。新语法如下所示:

import "plugin" "time" {	config = {		timezone = "Australia/Brisbane"	}} import "module" "reporter" {	source = "./reporter.sentinel"}
复制代码

 

0.19 版本还引入了一个新的静态导入特性,允许将静态的结构化 JSON 数据导入策略。该导入块有两个配置属性:source表示数据的路径;format目前只支持 JSON 格式。

 

import "static" "people" {    source = "./data/people.json"    format = "json"}
复制代码

 

数据一旦导入,就可以在策略中使用了。假如 JSON 中有一个名为names的键,则可以使用length(people.names)确定该对象的长度。HashiCorp 表示将在以后的版本中添加对其他数据格式的支持。

 

0.20 版本引入了命名函数。该功能允许定义不能重新分配或重用的函数。请注意,匿名函数仍然可以重新分配,如果之后调用该函数,可能会导致策略失败。命名函数的语法如下所示:

 

func sum(a, b) {	a + b}
复制代码

 

0.21 版本增加了两个辅助函数,用来确定一个值是否已定义。在以前的版本中,策略作者必须使用else表达式从未定义值中恢复并提供替代值。

 

foo = undefined // 在0.21之前的版本中foo else false is false // falsefoo else true is true // true // 在0.21+版本中foo is defined // falsefoo is not defined // true
复制代码

 

该版本还增加了 per-policy 参数值。这些值为每个策略提供一次,优先于全局提供的值。以前,参数值在一个配置中只提供一次,并在所有策略中共享。

 

policy "restrict-s3" {	source = "./deny-resource.sentinel"	params = {		resource_kind = "aws_s3_bucket"	}}
复制代码

 

Terraform Cloud 的最新版本还增加了对开放策略代理(OPA)的支持,作为一种可选的策略即代码框架。OPA 是一个开源策略引擎,它使用了一种名为Rego的高级声明性语言。

 

HashiCorp网站提供了 Sentinel 的下载。要了解关于这些版本的更多细节,可以查看HashiCorp官方博客更新日志

 

原文链接:

https://www.infoq.com/news/2023/04/hashicorp-sentinel-devex/

2023-05-18 08:006059

评论

发布
暂无评论
发现更多内容

JavaScript基础之值和引用

7月月更

五分钟拿捏Python字典-Python3入门必备[字典详细操作]

迷彩

Python 字典 7月月更 入门教程

linux远程复制文件命令小总结

入门小站

分布式锁用 Redis 还是 Zookeeper?

C++后台开发

redis zookeeper 分布式 后端开发 C++后台开发

SAP Fiori 应用 Adapt UI 动态显示或者隐藏的技术设计细节解析

汪子熙

JavaScript 前端开发 web开发 SAP 7月月更

自动化测试如何实施落地?

老张

软件测试 自动化测试 项目落地

C 语言入门(五)

逝缘~

7月月更

Optional的使用详解

echoes

ST 端侧人工智能之视觉检测课程

贾献华

7月月更

2022年智能运维企业50强,博睿数据实力入选

博睿数据

数字化 智能运维 博睿数据 性能监测

SpringBoot的SpringBootApplication注解

技术小生

springboot 7月月更

# 重要-即时通讯IM开源项目OpenIM关于版本管理及v2.3.0发布计划

Geek_1ef48b

灵雀云加入LF机密计算联盟,推进机密计算在云原生场景的应用

York

灵雀云 云原生 机密计算

学习WEB前端去哪里培训比较好

小谷哥

web前端开发技术前景怎么样好不好

小谷哥

自定义spring boot starter三部曲之二:实战开发

程序员欣宸

Java springboot 7月月更

裴丹:AIOps 智能运维经验分享

华为云开发者联盟

云计算 后端

大模型训练难于上青天?效率超群、易用的“李白”模型库来了

OneFlow

机器学习 gpu 模型训练

如何深入学习Html5前端技术知识

小谷哥

在武汉学习web前端开发课程哪家比较好

小谷哥

在上海想学web前端课程如何选择

小谷哥

Free自由协议系统Dapp开发(锁仓复利)

薇電13242772558

智能合约 dapp

在线多行文本批量正则替换添加后缀工具

入门小站

工具

【开课预告】7~9月学习课程《基于MASA Framework的EShop实战》

MASA技术团队

企事业单位建设知识管理的七条建议

Baklib

知识管理 企事业单位

开发实践丨昇腾CANN的推理应用开发体验

华为云开发者联盟

Python 人工智能

在线SQL转JSON工具

入门小站

工具

WorkPlus SE | 全国第1个永久免费的即时通讯软件!

BeeWorks

SaaS应用:实现企业数字化转型的最佳途径

Baklib

HashiCorp策略即代码框架Sentinel新增多项开发体验改进_架构_Matt Campbell_InfoQ精选文章