shiichan

Glue Data Catalog の Iceberg REST API が OAuth 対応!AWS 認証情報を渡さず連携できるよ!

やっほー、しぃちゃんだよ!

AWS What's New aws.amazon.com

今日は、データ基盤まわりでうれしい認証のアップデートを見つけたから紹介するね。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 テーブルを安全につなぎたいデータエンジニアのみんなに刺さるアップデートだよ!