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:006055

评论

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

物理防火墙是什么?有什么作用?

行云管家

网络安全 防火墙

华为2023届提前批预热开始!左 神的程序代码面试指南终派上用场

程序猿阿宇

Java 算法 后端 Java工程师 算法刷题

墨天轮高分技术文档分享——数据库安全篇(共48个)

墨天轮

MySQL 数据库 oracle postgresql 数据库安全

产品动态丨Android 13 高效适配全新升级

MobTech袤博科技

android

闭关吃透Java性能手册,成功拿到字节Offer!不愧是阿里内部资料

程序猿阿宇

Java 后端 阿里 Java工程师 构架

如何构建面向海量数据、高实时要求的企业级OLAP数据引擎?

字节跳动数据平台

数据仓库 云原生 OLAP Clickhouse

优必选大型仿人服务机器人Walker X的核心技术突破

优必选科技

机器人

行云管家V6.5.1/2/3系列版本发布:数据库OpenAPI能力持续强化

行云管家

数据库 版本 IT运维 行云管家

怒冲GitHub榜首!京东T8幕后打造高并发面试手册,狂虐阿里面试官

程序猿阿宇

Java 高并发 阿里 构架 面试‘

兆骑科创高质量海归人才双创服务平台,线上直播路演

兆骑科创凤阁

手把手教你在 Vue3 中自定义指令

江南一点雨

阿里Java架构师面试高频300题:集合+JVM+Redis+并发+算法+框架等

程序员啊叶

一次性把Docker的概念、容器与虚拟机的区别、容器交付的优势讲清

程序员啊叶

Java 编程 程序员 架构 java面试

CircleIndicator组件,使指示器风格更加多样化

OpenHarmony开发者

OpenHarmony

十字链表的存储结构

乔乔

7月月更

哪个led显示屏厂家更好

Dylan

LED显示屏 led显示屏厂家

BATM面试Java岗:精选200+面试题及答案、6大重点规划和经验总结

程序员啊叶

Java 编程 程序员 架构 java面试

测试驱动开发(TDD)在线练功房 | 9月17日开课

ShineScrum

敏捷 测试 TDD 代码 测试驱动开发

今天去 OPPO 面试,被问麻了

程序员啊叶

Java 编程 程序员 架构 java面试

用GaussDB(for Redis)存画像,推荐业务轻松降本60%

华为云开发者联盟

数据库 redis 存储 GaussDB ( for Redis ) 用户画像

Okaleido上线聚变Mining模式,OKA通证当下产出的唯一方式

鳄鱼视界

华为被迫开源!从认知到落地SpringBoot企业级实战手册(完整版)

程序猿阿宇

Java 程序员、 秋招 构架 面试‘

众人呼唤的 Java 单商户系统,究竟有什么过人之处?

CRMEB

HDD杭州站·HarmonyOS技术专家分享HUAWEI DevEco Studio特色功能

HarmonyOS开发者

HarmonyOS

Beyond Compare 4 实现class文件对比【最新】

白粥

工具 Beyond Compare 文件对比

1000个字带你一次性搞懂JavaAgent技术,反正我是彻底服了

程序员啊叶

Java 编程 程序员 java面试 构架

从业务需求出发,开启IDC高效运维之路

鲸品堂

IDC

兆骑科创海内外高层次创新创业人才服务平台,双创成果转化平台

兆骑科创凤阁

不愧是阿里内部“千亿级并发系统架构设计笔记”面面俱到,太全了

冉然学Java

Java 高并发系统设计 技术栈 构架 高并发处理

终极套娃 2.0 | 云原生交付的封装

尔达Erda

云计算 程序员 微服务 云原生 开发

阿里架构师花近三个月时间整理出来的Java独家面试题(Java岗)

程序员啊叶

Java 编程 程序员 架构 java面试

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