구글 Common Expression Language
(opensource.google)- 보안 정책, 프로토콜 등을 작성하고 평가하기 위한 표현식 언어
ㅤ→ 작고 빠르게, 임베드 및 확장 가능하고, 개발자 친화적으로
ㅤ→ C와 비슷한 문법
- 구글이 Firebase의 보안 규칙을 만들며 개발한 스펙을 확장한 것
- Protocol Buffer 타입을 사용, JSON 지원
- C++ 와 Go 로 된 고성능 Evaluator 오픈소스 제공
service cloud.firestore {
ㅤmatch /databases/{database}/documents {
ㅤㅤ// 사용자가 로그인 되어있거나 요청한 데이터가 퍼블릭이면 참
ㅤㅤfunction signedInOrPublic() {
ㅤㅤㅤreturn request.auth.uid != null || resource.data.visibility == 'public';
ㅤㅤ}
ㅤㅤmatch /cities/{city} {
ㅤㅤㅤallow read, write: if signedInOrPublic();
ㅤㅤ}
ㅤㅤmatch /users/{user} {
ㅤㅤㅤallow read, write: if signedInOrPublic();
ㅤㅤ}
ㅤ}
}
Caddy 2 릴리즈 - 성능 좋고 간편한 HTTPS 자동 지원 웹서버 https://news.hada.io/topic?id=2028
Caddy 웹서버도 Request Matcher 같은 것들 설정시 CEL을 사용합니다.
https://caddyserver.com/docs/caddyfile/matchers