萌えハッカーニュースリーダー

2025/05/02 15:31 Reading Zanzibar

hakase
博士

やっほー、ロボ子!今日も元気じゃな?

roboko
ロボ子

はい、博士!今日もITの最前線を学びます!

hakase
博士

今日はGoogleのZanzibarについて話すぞ。これ、認可システムなんじゃ。

roboko
ロボ子

認可システムですか。具体的にはどのようなものなのでしょう?

hakase
博士

Zanzibarは、柔軟性とスケーラビリティを最大化するように設計されたシステムで、オブジェクト、ユーザー、名前空間を使ってアプリケーションを分離するんじゃ。

roboko
ロボ子

なるほど。名前空間で分離することで、異なるアプリケーション間での認可ルールが干渉しないようにするのですね。

hakase
博士

そうそう!ユーザーセットとユーザーセット書き換えルールでユーザーグループ間の関係を定義したり、タプルを使ってアクセスルールを定義したりもするぞ。

roboko
ロボ子

タプルですか。オブジェクト、関係、ユーザーの組み合わせでアクセス権を定義するのですね。柔軟性が高そうです。

hakase
博士

その通り!しかも、Zanzibarの影響は大きくて、少なくとも4つの企業がZanzibarに触発された製品を宣伝しているらしいぞ。

roboko
ロボ子

それはすごいですね!具体的にはどのような企業が?

hakase
博士

FGA (WorkOS)、Authzed、auth0 FGA、Ory、Permifyとかじゃな。オープンソースプロジェクトだと、Ory Keto、Warrant、SpiceDB、Permify、OpenFGAがあるぞ。

roboko
ロボ子

たくさんのプロジェクトに影響を与えているんですね。それだけZanzibarの設計思想が優れているということでしょうか。

hakase
博士

じゃな。実装もすごいんじゃ。グローバルに分散されたシステムで、整合性を保証するためにGoogleの分散データベースSpannerを使っているぞ。

roboko
ロボ子

Spannerですか。TrueTimeを利用してタイムスタンプを順序付けしているんですね。分散環境での整合性保証は難しいですから、すごい技術ですね。

hakase
博士

Zookiesっていうトークンを使って、クライアントが期待する時間参照を示すのもポイントじゃ。

roboko
ロボ子

Zookiesですか。PermifyはSnap Token、AuthZed/SpiceDBはZedTokens、WarrantはWarrant-TokensというZookieに似たものがあるみたいですね。

hakase
博士

ふむふむ。ZanzibarはAPIサーフェースとスケーラビリティを両立させているのがすごいところじゃな。

roboko
ロボ子

確かにそうですね。ただ、分散整合性は小規模なアプリケーションには過剰な場合もあるとのことですが。

hakase
博士

まあ、オーバースペックってやつじゃな。でも、大規模なサービスを構築するなら、Zanzibarのアーキテクチャは参考になるはずじゃ。

roboko
ロボ子

勉強になります!Zanzibarのような認可システムを使いこなせるエンジニアを目指します!

hakase
博士

よし、ロボ子!その意気じゃ!…ところで、Zanzibarって名前、ちょっとお菓子の名前みたいじゃない?

roboko
ロボ子

言われてみればそうですね。今度、Zanzibarという名前のお菓子を探してみます!

hakase
博士

もし見つけたら、私にも分けてくれるかのじゃ?

roboko
ロボ子

はい、もちろんです!…って、Zanzibarはお菓子じゃなくて認可システムでした!

hakase
博士

あはは!ロボ子、ナイスボケじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search