私たちは、マルチクラウドおよびSaaSのアナリティクスを提供するオープンソースポリシー-as-codeソフトウェアであるSelefraのローンチを皆様と共有することを大変嬉しく思います。
Selefraの目的
数年前、私はパブリッククラウドでの新しいセキュリティ攻撃技術の研究を行っていたとき、CTO、CISO、SREなどのポジションにいる友人と話しました。マルチクラウドシナリオでのリソース管理やコスト分析などの様々な問題を解決するために、自己開発されたツールや市販のツールを使用していることがわかりました。しかし、我々はすべて、クラウドサービスプロバイダーやSaaSベンダーが提供するAPIおよびSDKを使用してデータを収集するという同じ基本原則に依存していました。異なる分野でのすべてのクラウド分析シナリオが同じタイプのデータを必要とするため、マルチクラウド分析インフラツールを構築することが可能かどうか疑問に思いました。このツールは、標準的なデータ収集とより柔軟なデータ分析フレームワークを提供し、異なる分野の専門家が異なる分析言語を学ぶことなく、分析シナリオを構築することに集中できるようにすることができます。代表的なインフラストラクチャーとして、Terraformがマルチクラウドインフラストラクチャー構築の問題を解決したように、私たちはマルチクラウドインフラストラクチャーの統合分析問題を解決できる製品を持っていることを望んでいます。
私たちのツールは、
- マルチクラウドおよびSaaSサービスのデータ分析要件を満たすことができ、データソースをカスタマイズすることができます。
- 簡単な分析言語を提供します。
- コードで分析戦略を管理することができます。
これらの要件を満たすために、私たちのチームと私は、共通のパブリッククラウドリソースタイプをサポートするインフラストラクチャー分析のためのオープンソースツールを構築するために過去1年間を費やしました。私たちは、すべてのインフラストラクチャーをオープンソース手段で分析できるように顧客に提供するという私たちのビジョンを実現するために、今日この製品をオープンソースとしてリリースすることを大変嬉しく思います。SelefraはSelectとInfrastructureの組み合わせであり、顧客がデータや仕様について学ぶ時間を多く費やすことなく、インフラストラクチャーをより簡単に分析するためにSelefraを使用できることを願っています。
Selefraとは
Selefraは、"select * from infrastructure"を意味します。AWS、GCP、Azure、Alibaba Cloud、Kubernetes、Github、Cloudflare、Slackなど、30以上のサービスを含むマルチクラウドおよびSaaS環境の分析を提供するオープンソースのインフラストラクチャコードソフトウェアです。
SQLは単純なポリシー言語
Selefraは、ポリシーを定義するためにSQL + YAMLを使用しており、開発者は特定のポリシー構文を学ぶ必要がなく、SQL構文を使用して簡単にポリシーを定義できます。TerraformプロバイダーをベースにしたSelefraは、豊富なデータ統合エコシステムを構築しています。開発者として、任意のインフラストラクチャのポリシーを簡単に開発および分析できます。
たとえば、AWS S3バケットに公開書き込みアクセスのセキュリティリスクがあるかどうかを分析するためにSQLを使用できます。
selefra:
name: selefra-demo
cli_version: latest
providers:
- name: aws
source: aws
version: latest
rules:
- name: bucket_resources
query: |
SELECT
DISTINCT(a1.*)
FROM
aws_s3_buckets a1,
aws_s3_bucket_grants a2
WHERE
a1.selefra_id = a2.aws_s3_buckets_selefra_id
AND a2.grantee :: jsonb ->> 'URI' = 'http://acs.amazonaws.com/groups/global/AllUsers'
AND a2.permission IN ('WRITE_ACP', 'FULL_CONTROL')
output: "S3 bucket acl public writable, arn: {{.arn}} , bucket name: {{.name}}"
さらに、GCPストレージサービスのロギング機能が有効になっているかどうかを分析するためにも使用できます:
selefra:
name: selefra-demo
cli_version: latest
providers:
- name: gcp
source: gcp
version: latest
rules:
- name: bucket_logging_disable
query: |
SELECT
*
FROM
gcp_storage_buckets
WHERE
logging IS NULL
output: "Bucket logging disable, bucket name: {{.name}}, region: {{.location}}"
戦略のさらなる例については、Selefraオープンソースの例リポジトリを表示するにはhttps://github.com/selefra/selefra-module-templateをクリックするか、Selefraドキュメンテーションhttps://www.selefra.io/docs/build-projects/overviewに基づいて必要な戦略を作成してください。
Selefraの機能
ポリシー・アズ・コード
SQLとYAMLの組み合わせでカスタム分析ポリシー(セキュリティ、コンプライアンス、コスト)を記述できます。
マルチクラウド、マルチSaaSの構成
SQLを介して、どのクラウドサービスからの構成データの分析もサポートできる統合マルチクラウド構成データ統合機能。
バージョン管理
GitHub / GitlabなどのVCSを介して分析ポリシーを管理できます。
自動化
定期タスクとクラウド自動化ツールを介して、ポリシーを自動化してコンプライアンス、セキュリティ、コスト最適化ルールを強制できます。
使い方
詳しいドキュメントは、SelefraのGet Startedを読んでください。
クイックスタートのために、このデモを実行してください。数分以内に完了します。
-
Selefraをインストールする
macOS以外のユーザーは、Selefraのインストール方法を他の方法で行ってください。
macOSの場合、Homebrewを使ってSelefraをタップしてください:
brew tap selefra/tap
次に、Selefraをインストールしてください:
brew install selefra/tap/selefra
-
初期化プロジェクト
mkdir selefra-demo && cd selefra-demo && selefra init
-
コードをビルドする
selefra apply
Selefra ロードマップ
- AWS、GCP、Azure、K8Sなどのスケールプロバイダのカバレッジを100%にするように拡大する。
- Terraform、Pulumi、Crossplaneなどの主流のIaCツールをサポートし、展開中および本番中にルールを有効にする。
- 合計70のプロバイダに到達するように、さらに30のSaaSプロバイダを拡大する。
- 要件やバグに関するフィードバックは、次のリンクから私たちのロードマップについて歓迎します:https://github.com/orgs/selefra/projects/1
Supporting Quotes
Advance Groupのシニア情報セキュリティマネージャー、Salamanka
Selefraは、クラウドプラットフォームでのセキュリティリスクを効果的に検出および識別し、セキュリティコンプライアンスを確保し、安全なベースラインを確立することで、クラウドプラットフォームの使用に関する懸念を軽減することができます。
AirgramのCTOであるJay
Selefraは、私たちが最も困難だと考えているAWS IAMを分析するのに役立ち、私たちの効率を大幅に向上させることができます。
HashiCorp AmbassadorのZijie He
Selefraは野心的で想像力に富んだオープンソースソフトウェアツールであり、IaCリソースをSQLテーブルに創造的に変換することで、コンプライアンスポリシー、FinOpsなどを含め、マルチクラウドインフラストラクチャリソースに基づくスーパーストラクチャを確立することができます。
Wrapping Up
この記事を読んでSelefraに興味を持った場合は、こちらをクリックして詳細をご覧ください:https://github.com/selefra/selefra
私たちは、インフラストラクチャ開発、データエンジニアリング、およびその他の関連分野に情熱を持つ優れた個人と一緒に製品を構築することを熱望しており、あらゆる種類の貢献を歓迎します。
Slackや私たちの週次のオープンソースコミュニティミートアップに参加してください:https://selefra.io/community/join
Selefraのその他のリンク:
- 公式ウェブサイト:https://selefra.io
- ブログ:https://selefra.io/blog
- Slack:https://selefra.io/community/join
- Twitter:https://twitter.com/SelefraCorp
私たちは、Selefraを使用してどのようなシナリオを構築するか、そしてSelefraと一緒に成長することを非常に楽しみにしています!