並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 31 件 / 31件

新着順 人気順

Regoの検索結果1 - 31 件 / 31件

  • Trivy + Regoを用いたパッケージ脆弱性管理 /trivy-rego

    2021.12.14 (Tue) Ubie Tech Talk で発表した資料です

      Trivy + Regoを用いたパッケージ脆弱性管理 /trivy-rego
    • OPA/Regoによる汎用的なGo言語の静的解析

      TL; DR Go言語は様々な静的解析ツールがあるが、独自ルールのチェックなどをするには都度ツールを自作する必要がある 1つのツールでより汎用的なチェックができるように、汎用ポリシー言語のRegoでGo言語のAST(抽象構文木)を検査できるようにした 「第一引数に必ずcontext.Contextをとる」というルールをCIでチェックした様子 背景 Go言語では様々な静的解析ツールが提供されており、一般的なベストプラクティスが正しく記述されているか?については既存の静的解析ツールを利用することで概ね必要なチェックをすることができます。例えばセキュアなGoのコーディングをするためのツールとして gosec などがあり、自分も愛用させてもらっています。しかし、ソフトウェア開発におけるコーディング上のルールはベストプラクティスによるものだけでなく、そのソフトウェアやチームに依存したルールというのも

        OPA/Regoによる汎用的なGo言語の静的解析
      • GitHub - fugue/regula: Regula checks infrastructure as code templates (Terraform, CloudFormation, k8s manifests) for AWS, Azure, Google Cloud, and Kubernetes security and compliance using Open Policy Agent/Rego

        Regula is a tool that evaluates infrastructure as code files for potential AWS, Azure, Google Cloud, and Kubernetes security and compliance violations prior to deployment. Regula supports the following file types: CloudFormation JSON/YAML templates Terraform source code Terraform JSON plans Kubernetes YAML manifests Azure Resource Manager (ARM) JSON templates (in preview) Regula includes a library

          GitHub - fugue/regula: Regula checks infrastructure as code templates (Terraform, CloudFormation, k8s manifests) for AWS, Azure, Google Cloud, and Kubernetes security and compliance using Open Policy Agent/Rego
        • Conftest で CI 時に Rego で記述したテストを行う - @amsy810's Blog

          Conftest で CI 時に Rego を用いたテストを行う こんにちは。青山(@amsy810)です。 実は少しだけ PLAID さんでお手伝いをしており、CI に Conftest を組み込んで Kubernetes マニフェストのポリシーチェックを行うようにしたので、その時の備忘録を書いておきます。 PLAID さんでも GKE を基盤として選定して開発しています。 Conftest とは? Conftest は Rego 言語で記述したポリシーを用いて、JSON や YAML などがポリシーに合致しているかをチェックする OSS です。 今回は Kubernetes のマニフェストがポリシーに合致しているかどうかを判別するために利用します。 例えば下記の例では、Deployment や StatefulSet などの Workloads リソースの Selector や起動して

            Conftest で CI 時に Rego で記述したテストを行う - @amsy810's Blog
          • OPA/Regoを活用して継続的監査を実現して、楽をしよう | Money Forward Kessai TECH BLOG

            あけましておめでとうございます。Open Policy Agent(以下OPA)/Rego x 監査で継続的監査をあたりまえにしていきたいと思っているMoney Forward Kessai(以下MFK)のshinofaraです。 Regoとは、OPAのポリシーを記述する言語です。 本日はOPA / Rego Advent Calendar 2021の影響を受けて、MFKでOPA/Regoを活用して実現している監査に関することの1つを紹介できればと思いブログを書き始めました。 そもそもOPAって何?に関しては、以下のZennに詳しく書かれておりますので、こちらのブログでは割愛させていただきます。 OPA/Rego入門: OPA/Regoとはなんなのか MFKではOPAで何をチェックしているか 昨年「2021年に入ってやめた3つの開発に関わる仕組み」を書かせていただきました。今回はその中で書

              OPA/Regoを活用して継続的監査を実現して、楽をしよう | Money Forward Kessai TECH BLOG
            • OPA/Rego入門

              情報セキュリティの分野で注目されている汎用的なポリシーエンジンOPAと、OPAで利用するポリシー記述言語Regoについて解説します

                OPA/Rego入門
              • Policy as Codeを実現する Open Policy Agent / Rego の紹介 - 電通総研 テックブログ

                こんにちは、Xイノベーション本部の柴田です。 このポストは 電通国際情報サービス Advent Calendar 2021 の5日目のポストです。 4日目のポストは加納さんの「リアルタイムレンダラーP3Dのご紹介」でした。 さて、このポストではOpen Policy Agentとポリシー言語Regoの紹介をしたいと思います。 前半ではRegoの文法を簡単に説明します。 後半では私がOpen Policy AgentとRegoを実際に使っていてハマった点をいくつかご紹介します。 このポストを読んでくださる方の役に立てば幸いです。 Open Policy Agentとは Regoとは まずは動かしてみる 設問 構造化データ(input.json) ポリシー(example.rego) 検証 Regoの文法 本章で扱う構造化データ 変数 変数の束縛 配列、集合、オブジェクトへのアクセス ルール

                  Policy as Codeを実現する Open Policy Agent / Rego の紹介 - 電通総研 テックブログ
                • クリーンなコードを書けるOPA、定番の機能をサポートしているRego言語 2つを使用したポリシーの組み立てと実践

                  LINEのサービス開発拠点の1つである「LINE KYOTO」のオフィスで開催する技術イベント「LINE KYOTO 交流会 ~3年ぶりのおこしやす~」。ここで京都開発室K4チームのミッチェル氏が登壇。OPAとRego言語について話します。 OPAとは何か ミッチェル・ロバート氏(以下、ロバート):京都開発室のロバートと申します。よろしくお願いします。今日はOPAとRegoの紹介をしたいと思います。 まずは今日のアジェンダなんですが、OPAの簡単な説明と、特徴と長所から始めたいと思います。あとはRego言語の紹介と、一緒にポリシーを書いてみようと思っています。最後にポリシーの実行とまとめに移りたいと思います。 まずOPAとは何でしょうか? OPAは「Open Policy Agent」の省略で、サーバースタックに(対して)全体的にポリシー適用を標準化するために使用されるポリシー・エンジンで

                    クリーンなコードを書けるOPA、定番の機能をサポートしているRego言語 2つを使用したポリシーの組み立てと実践
                  • OPA / Rego Advent Calendar 2021 - Adventar

                    汎用的なポリシーエンジン Open Policy Agent (OPA) とそれを記述するポリシー言語 Rego に関する記事ならなんでもOKなアドベントカレンダーです。 https://www.openpolicyagent.org/ 追記:本アドベントカレンダーの一部をzenn.devで本にしました https://zenn.dev/mizutani/books/d2f1440cfbba94

                      OPA / Rego Advent Calendar 2021 - Adventar
                    • Open Policy Agent Rego Knowledge Sharing Meetupを開催しました #opa_rego | メルカリエンジニアリング

                      Open Policy Agent Rego Knowledge Sharing Meetupを開催しました #opa_rego はじめに こんにちは、メルカリMicroservices Platform Group Infra Teamの @keke です。 7月7日にメルカリ主催のOpen Policy Agent Rego Knowledge Sharing Meetupをオンライン配信にて開催しました。 この記事では、当日の各発表を簡単に紹介します! 動画もアップロードされてますので、こちらもぜひご覧ください。 OPA and cloud resources 1つ目のセッションはメルカリ Platform Group Infra Teamの@toshi0607 さんによる「OPA and cloud resources」です。メルカリではCloud resourceをTerrafo

                        Open Policy Agent Rego Knowledge Sharing Meetupを開催しました #opa_rego | メルカリエンジニアリング
                      • OPA/Rego概論

                        この記事はOPA/Regoアドベントカレンダーの1日目です。 このアドベントカレンダーでは、最近セキュリティエンジニア界隈で注目されつつある汎用的なポリシーエンジンOPA(読み:オーパ)と、OPAで利用するポリシー記述言語Rego(読み:レゴ)について解説していきます。 初日はOPA/Regoについてのざっくりどういうものかを理解してもらうための概論になります。 OPA/Regoとは OPAはサービスやソフトウェアの意思決定機能を本体と分離するために作られたエンジンです。ここで言う「意思決定」とはいわゆる認可の話だけではなく、様々なことに応用できます。 Infrastructure as Code で記述された設定に危険な構成(例えばアクセス制御が適切でない)のチェック デプロイされたリソースがポリシーに準拠した設定・構成になっているかのチェック セキュリティスキャンで検出された結果に対し

                          OPA/Rego概論
                        • 📕 はじめに|OPA/Rego入門

                            📕 はじめに|OPA/Rego入門
                          • OPA/Regoによる汎用的なGo言語の静的解析(実践編)

                            これまでのあらすじ 前回執筆した記事がなかなかの好評をいただけたようなので、今回はより実践的な内容の説明をしたいと思います。前回の記事では全体イメージのわかりやすさ優先で細かい説明を端折っていました。今回は実際にどのようにASTを評価するのか、どのようなルールが書けるのか、テストはどうするのか、などについて説明します。 goastによるソースコード検査の仕組み まずはじめにgoastがどのような仕組みでGoのソースコードを検査するかの仕組みについて簡単に説明します。Goはastパッケージによってソースコードをparseすることで、Abstract Syntax Treeを作成します。非常に大雑把ではありますが、イメージとしては下図のようになります。 いろいろと省略していますが、基点となる構造体が ast.File というファイル全体を示すノード(ast.Node interface)となっ

                              OPA/Regoによる汎用的なGo言語の静的解析(実践編)
                            • Creating Exceptions Lists for Conftest in Rego

                              February 26, 2020 4 min read Policy as code · conftest · OPA · Rego For those who don’t know what conftest is, conftest is an open-source utility that helps engineers write tests against structured configuration data. At the time of writing, conftest supports many formats such as YAML, JSON, Dockerfile, and HCL/HCL2 amongst others. This variety of formats allows teams to validate their configurati

                                Creating Exceptions Lists for Conftest in Rego
                              • Rego Deep Dive

                                This document provides an introduction and overview of Open Policy Agent (OPA). It discusses how OPA can be used to add fine-grained policy controls to other projects. Key points include: - OPA allows integrating policy decisions from a project into OPA and offloading policy logic. Policies can be authored in OPA and decisions retrieved. - Policies are invoked by sending decision requests to OPA A

                                  Rego Deep Dive
                                • Dame Paula Rego: Celebrated Portuguese-British artist dies at 87

                                  A retrospective exhibition of Dame Paula Rego was held at the Tate Britain gallery last year Renowned artist Dame Paula Rego has died at the age of 87, a gallery representing her has confirmed.

                                    Dame Paula Rego: Celebrated Portuguese-British artist dies at 87
                                  • RegoとConftest ことはじめ - tech.guitarrapc.cóm

                                    Kubernetes の面倒なことといえばYAML、というのはよく聞くし私もそう思います。 YAMLが面倒なことはいくつもありますが、その1つに「YAMLの定義がポリシーとして正しいかの検証」があります。 コードを書いているときのように、YAML もポリシーにあっているのかユニットテストができれば、いざデプロイするときまでわからないという事態は避けられそうですね? ということで、今回はKubernetes でポリシーチェックをする方法として良くあげられる Open Policy Agent のRego言語とContest を使っていくメモです。 なお、ポリシーチェックというとConftest や Gatekeeper がありますが、個人的にはローカルで気軽に始められるConftestから慣れていくのがいいと思います。試行錯誤しやすいところから入るのが大事。 tl;dr; Rego基本情報

                                      RegoとConftest ことはじめ - tech.guitarrapc.cóm
                                    • SaaS でも Policy as Code ができるかやってみた - # SCuBaGear, # OPA/Rego|pirox

                                      SaaS でも Policy as Code ができるかやってみた - # SCuBaGear, # OPA/Rego 私の所属するコーポレートシステム部 / CorpOps チームは、組織内で使用するクラウドサービス (laaS から SaaSまで)に対して適切なセキュリティポリシーを策定・適用し、ITガバナンスを保証する責任を持っています。将来的には Policy as Code のアプローチで組織のセキュリティポリシーをコードとして管理し、複雑化し拡大する ITシステムのガバナンスを実現したいと考えています。 対サービス・プロダクトにおける Policy as Code の事例を目にしていますが、組織内で使用される SaaS ではまだ馴染みがないように思います。そんな中、CISA が開発・公開したツール「SCuBaGear」をはじめとする新しい取り組みがあります。 今回は、CISAが

                                        SaaS でも Policy as Code ができるかやってみた - # SCuBaGear, # OPA/Rego|pirox
                                      • OPA/Regoの応用(脆弱性管理)

                                        この記事はOPA/Regoアドベントカレンダーの23日目です。今回、次回ではOPA/Regoを使った応用事例について(構想段階のものも含めて)紹介したいと思います。本日は組織内で開発しているプロダクトの脆弱性管理についてになります。 今回のトピックは筆者がUbie Tech Talk 〜Ubieを支えるプロダクト基盤と分析環境〜(アーカイブ)で講演させてもらった内容をベースに、発表時には時間の都合上割愛させてもらった技術の詳細について深堀りしたいと思います。発表資料やアーカイブは以下で閲覧できますので、興味のある方は併せてご覧ください。 脆弱性の「管理」とは すでに発表・資料内で説明しているのですが、簡単に整理だけしたいと思います。 昨今のソフトウェア開発(特にWebサービス周り)は3rd partyのパッケージを利用しないという選択肢はほぼなく、OSSを中心にその恩恵をうけながらの開発が

                                          OPA/Regoの応用(脆弱性管理)
                                        • GitHub - StyraInc/rego-style-guide: Style guide for Rego

                                          You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                            GitHub - StyraInc/rego-style-guide: Style guide for Rego
                                          • 📕 OPA/Regoとはなんなのか|OPA/Rego入門

                                              📕 OPA/Regoとはなんなのか|OPA/Rego入門
                                            • Regoのテスト

                                              この記事はOPA/Regoアドベントカレンダーの9日目です。 Policy as Codeとはの記事でも述べたとおり、ポリシーをコードで記述する大きなメリットの1つがテスト可能になることです。シンプルで少ないポリシーだけを運用しているうちはいいですが、ポリシーが複雑化・巨大化することによって記述した内容が意図したとおりに動作するか、あるいは新たに追加・修正したことで既存のポリシーに影響を及ぼしていないかを確認するコストが肥大化していきます。 OPAはポリシーをテストする機能を提供しており、容易にテストの記述や実施ができるようになっています。この記事ではテスト機能の基本的な部分をかいつまんで紹介します。 基本的なテストの流れ 以下のようなポリシーがあった場合のテストについて説明します。

                                                Regoのテスト
                                              • あまねくGitHubイベントのSlack通知をOPA/Regoで制御する

                                                TL;DR GitHubは公式の通知機能やコメント内容に応じた通知ツールがすでにあるが、より多くの通知ユースケースがありそう OPA/Regoを使うと通知ルールと実装をうまく分離できる 全てのGitHubイベントの通知ができるツールをPoCとして実装してみた GitHub通知の活用 GitHub上での出来事を通知する方法は、公式のEmail通知やSlack連携だけでなく、様々なツールがこれを実現しています。特に(以前お世話になっていた)tokiteはIssueやPull Request(PR)内の文字列を検査して、特定のキーワードを含むコメントなどがあった場合にSlackへ通知してくれます。具体的なユースケースとしては、 直接IDによってメンションされていないが、自分の名前がでてきた話題を見つける 自分が興味のあるトピックに関連するキーワード(自分の場合だと、例えば「セキュリティ」「個人情

                                                  あまねくGitHubイベントのSlack通知をOPA/Regoで制御する
                                                • Regoの基礎(結果の出力編)

                                                  この記事はOPA/Regoアドベントカレンダーの5日目です。今回はOPAで利用されるポリシー記述言語であるRegoで出力される変数への代入のパターンを解説します。 Regoはポリシーのトップレベルで定義された変数がそのまま「出力」として扱われますが、代入にはいくつか方法があります。特に条件の分岐や値の入れ込み方などがやや特殊なため、パターンごとに具体例で解説していきたいと思います。 代入のパターン 直代入

                                                    Regoの基礎(結果の出力編)
                                                  • OPA / Rego Advent Calendar 2021 - Adventar

                                                    汎用的なポリシーエンジン Open Policy Agent (OPA) とそれを記述するポリシー言語 Rego に関する記事ならなんでもOKなアドベントカレンダーです。 https://www.openpolicyagent.org/ 追記:本アドベントカレンダーの一部をzenn.devで本にしました https://zenn.dev/mizutani/books/d2f1440cfbba94

                                                      OPA / Rego Advent Calendar 2021 - Adventar
                                                    • 📝 デバッグ|OPA/Rego入門

                                                        📝 デバッグ|OPA/Rego入門
                                                      • OPA / Rego Advent Calendar 2021 - Adventar

                                                        汎用的なポリシーエンジン Open Policy Agent (OPA) とそれを記述するポリシー言語 Rego に関する記事ならなんでもOKなアドベントカレンダーです。 https://www.openpolicyagent.org/ 追記:本アドベントカレンダーの一部をzenn.devで本にしました https://zenn.dev/mizutani/books/d2f1440cfbba94

                                                          OPA / Rego Advent Calendar 2021 - Adventar
                                                        • Open Policy Agent Rego Knowledge Sharing Meetup - 資料一覧 - connpass

                                                          終了 2021/07/07(水) 19:00〜 Open Policy Agent Rego Knowledge Sharing Meetup Knowledge sharing meetup for Open Policy Agent mercari_event 他 オンライン

                                                            Open Policy Agent Rego Knowledge Sharing Meetup - 資料一覧 - connpass
                                                          • GitHub Action で Trivy + OPA/Rego による脆弱性管理

                                                            この記事はOPA/Regoアドベントカレンダーの19日目です。 今回は GitHub Actions で Trivy を用いてOSSパッケージの脆弱性検査をした際に、カスタムポリシーによってCIを落とすような仕組みについて紹介[1]します。 もともとコンテナイメージの脆弱性スキャナとして開発されていたTrivyですが、最近はファイルシステムにあるパッケージシステムの脆弱性をスキャンする機能も実装されています。この機能を利用したGitHub Actionsも提供されており、自分が開発してるリポジトリで利用している外部パッケージにどのような脆弱性が含まれているかを簡単に調べることができるようになっています。 またTrivy自体のオプションも多彩で、終了時に異常終了(exit codeが非ゼロ)しGitHub Actionsを失敗させ、CIを止めることもできます。例えば一定以下のSeverity

                                                              GitHub Action で Trivy + OPA/Rego による脆弱性管理
                                                            • OPA/Regoの応用(SOAR: Security Orchestration, Automation and Response)

                                                              OPA/Regoの応用(SOAR: Security Orchestration, Automation and Response) この記事はOPA/Regoアドベントカレンダーの24日目です。 本日は前回に引き続き、OPA/Regoによる応用がテーマです。今回はセキュリティ監視・対応の運用を自動化する Security Orchestration, Automation and Response (SOAR) にOPA/Regoを組み込む可能性について議論します。こちらも実装を形にしつつはあるのですがまだ不十分なこともあり、今回は構想について紹介するにとどめたいと思います。 SOARとは 単語としてはGartnerが2017年くらいから言い始めた単語で、セキュリティ監視によって得られたアラートを自動的に評価・対応するためのフレームワークや製品を指しています。筆者が以前に登壇で使った資料

                                                                OPA/Regoの応用(SOAR: Security Orchestration, Automation and Response)
                                                              • Regoの基礎(Safety)

                                                                package example p := { "blue": 1, "red": 0, "yellow": 2, } result[x] { not p[x] == 0 } % opa eval -b . data { "errors": [ { "message": "var x is unsafe", "code": "rego_unsafe_var_error", "location": { "file": "example.rego", "row": 9, "col": 5 } } ] } OPAはルールが有限個の入力と出力を持つことを保証するために Safety という概念を持っています。ちゃんと定義された変数のみが ドキュメントでは "Safety" は以下のように定義されています。 Safety: every variable appearing in the head or

                                                                  Regoの基礎(Safety)
                                                                1