AWS、アプリケーション内できめ細かなアクセス制御を実現するポリシー言語「Cedar」と認可エンジンをオープンソースで公開
Amazon Web Services(AWS)は、アプリケーション内できめ細かなアクセス制御を実現するポリシー言語「Cedar」と、Cedarに対応した認可エンジンをオープンソースで公開したことを発表しました。
CedarはAmazon Verified Permissionsで使われている言語
Cedarは昨年(2022年)末に開催されたイベント「AWS re:Invent 2022」で発表された新サービス「Amazon Verified Permissions」(現在プレビュー中)で使われているポリシー言語です。
一般にクラウドで提供されるアプリケーションのほとんどは、例えば管理者のみ参照できる画面やデータ、ユーザー本人のみ可能な操作や参照可能なデータ、ユーザーが許可した別のユーザーが参照できるデータ、ユーザーと同じ組織の別のユーザーが可能な操作など、ユーザーの組織や役割、属性などによって異なる権限を持ち、画面構成や可能な操作が異なるように作られています。
しかもこうしたアクセス制御はあらかじめ固定されたものではなく、新規ユーザーに対する追加設定や既存ユーザーの設定変更など、あとから再設定や再構成が可能なものであることが必要とされるでしょう。
こうしたきめ細かなアクセス権の設定や承認を開発者がアプリケーションごとにいちいち実装するのは大変に手間がかかるだけでなく、万が一バグがあった場合には情報漏洩につながるため、入念なデバッグや検証もしなければなりません。
Amazon Verified Permissionsは、このアクセス権の設定や承認をビジネスロジックから分離して実装可能にすることで、アプリケーション内できめ細かい権限と承認を管理することを可能にするAWSのマネージドサービスです。
今回オープンソースとして公開されたCedarは、このAmazon Verified Permissionsで使われているポリシー言語です(認可エンジンの方はAmazon Verified Permissionsで使われているものをオープンソース化したとは書かれていませんが、おそらくほぼ同じものがオープンソース化されたのではないかと想像されます)。
Amazon Verified PermissionsとCedarについては、下記の関連ドキュメントとAWS re:Invent 2022の動画などが参考になります。
あわせて読みたい
「Amazonでさえサーバレスやマイクロサービスを理解できない」とDHH氏が主張する一方で、「進化可能なアーキテクチャこそ重要」とAmazonのVogels博士
≪前の記事
マイクロソフト、Rust言語による開発を含む初めてのWindowsカーネルをInsiderプログラム参加者向けに提供開始