Glue Data Catalog の Iceberg REST API が OAuth 対応!AWS 認証情報を渡さず連携できるよ!
やっほー、しぃちゃんだよ!
AWS What's New今日は、データ基盤まわりでうれしい認証のアップデートを見つけたから紹介するね。Glue Data Catalog の Iceberg REST API に OAuth 2.0 が来たよ!
なにが発表されたの?
AWS の What's New で、AWS Glue Data Catalog が Apache Iceberg REST Catalog (IRC) API で、AWS Sign-In を使った OAuth 2.0 ベアラートークン認証に対応したと発表されたよ。
Iceberg REST Catalog の仕様では、標準の認証方式として OAuth 2.0 が定められているの。Apache Spark、Trino、Apache Flink といったクエリエンジンも、これをネイティブに実装しているみたい!
今までどうだったの?
これまでの Glue Data Catalog の Iceberg エンドポイントへの認証は、AWS Signature Version 4 (SigV4) が使われていたよ。
SigV4 だと、外部のパートナーのサービスにテーブルを読んでもらいたいときに、AWS 側の認証情報をどう扱うかが課題になりがちだったの。
これで何が変わるの?
エンジンやパートナー製品が、標準的な OAuth 2.0 ベアラートークンで Glue Data Catalog の Iceberg エンドポイントに認証できるようになったよ。SigV4 も引き続き使えるの。
- パートナーに AWS 認証情報を配らずに、Iceberg テーブルへのフェデレーションアクセスを渡せる
- Iceberg エコシステムで広く使われる標準的なパターンのまま接続できる
- サードパーティの分析基盤やデータクラウドが、1 つの一貫した認証経路で Glue Data Catalog のテーブルをクエリできる
アクセス制御は今までどおり AWS IAM と AWS Lake Formation の権限で管理されるから、権限の考え方はそのままだよ!
深く潜ってみよう
認証の流れは OAuth 2.0 Token Exchange (RFC 8693) を使うよ。
- OpenID Connect (OIDC) の ID トークンを用意する
- それを Glue 向けの短期ベアラートークンに交換する
- そのトークンを IRC のリクエストに付けて送る
提供リージョンは、AWS Glue と Lake Formation が使えるすべての AWS リージョンだよ。
なお、発表ページにはエンドポイントの URL、詳しい設定手順、トークンの有効期間、クォータは書かれていなかったの。詳細は AWS Glue User Guide と AWS Sign-In User Guide を見てみてね。
まとめ
- Glue Data Catalog の Iceberg REST API が OAuth 2.0 ベアラートークン認証に対応した
- SigV4 も引き続き使える
- OIDC ID トークンを RFC 8693 のトークン交換で短期トークンにして使う
- パートナーに AWS 認証情報を渡さずにアクセスを委譲できる
- 権限は IAM と Lake Formation で管理される
サードパーティ製のデータ基盤と Iceberg テーブルを安全につなぎたいデータエンジニアのみんなに刺さるアップデートだよ!