[アップデート] Amazon Athena でも AWS IAM Identity Center の ID 伝播がサポートされたので試してみた

2023.12.12

いわさです。

今朝のアップデートで Amazon Athena が IAM Identity Center を使った「信頼された ID の伝播」をサポートしました。

なんだそれは。という方も多いと思いますが、re:Invento 2023 の期間中にデータアナリティクス系のサービスの管理のために IAM Identity Center に信頼された ID 伝播という機能が登場しました。

この機能を使うと、IAM Identity Center のユーザーが QuickSight や EMR Studio にサインインした際に、そこから派生して使うアナリティクス系のサービスの権限管理を IAM Idenitity Center のユーザー/グループプリンシパルで行うことが出来ます。

今回のアップデートではそのサービスに Amazon Athena も仲間入りした、というものになっています。
本日はこのアップデート内容を整理し、実際の構成しながら使ってみましたのでその様子を紹介したいと思います。

信頼された ID 伝播を Amazon Athena で利用する流れ

Athena の ID 伝播を使う場合は、前提としてフロントが EMR Studio のクエリエディターであり、バックエンドソースが Lake Formation で管理されている必要があります。

まずはじめにユーザーは EMR Studio へ IAM Identity Center を使ってログインします。
EMR Studio は IAM 認証と IAM Identity Center 認証をサポートしており、後者を構成した場合のみ利用可能です。

EMR Studio はいくつかの機能のハブというかポータルになってるのですが、その中のひとつにクエリエディターがあります。
このクエリエディター、実体は Athena のクエリエディターと同じものなのですが、EMR Studio から IAM Identity Center 経由で ID 伝播した場合に Athena に対して、どのユーザーが操作しているのか情報が伝播されるようになりました。
そして、Athena 側では今回のアップデートで IAM Identity Center 認証を統合したワークグループが作成出来るようにもなっており、この統合が前提となっています。

さらに、このワークグループから Lake Formation で管理されているデータカタログを使用します。
Lake Formation もまた IAM Identity Center を統合して、データベースやテーブルへのアクセス管理を Identity Center のプリンシパルベースで行うことが出来ます。

なお、今回のアップデート(Athena のサポート)は本日時点で以下のリージョンがサポートとなっており東京リージョンは対象外となっています。

  • ap-southeast-1 – Asia Pacific (Singapore)
  • ap-southeast-2 – Asia Pacific (Sydney)
  • ca-central-1 – Canada (Central)
  • eu-central-1 – Europe (Frankfurt)
  • eu-west-1 – Europe (Ireland)
  • eu-west-2 – Europe (London)
  • us-east-1 – US East (N. Virginia)
  • us-east-2 – US East (Ohio)
  • us-west-2 – US West (Oregon)

設定方法

前述のとおり登場するサービスが多いのでちょっと設定に苦労しました。
しかも、最終的にはうまく動作確認が出来ませんでした。EMR Studio の IAM Identity Center 統合がうまく動かなかった。

ただ、概ね設定は正しいはずなので、少し中途半端ではあるのですが構成の流れも紹介してしまいます。
前提として IAM Identity Center の組織インスタンスを作成済みとします。

Athena で IAM Identity Center 用ワークグループを作成する

今回はバージニア北部リージョンへ構築していこうと思います。
サポートリージョンの場合、Athena の既存ワークグループに次の表示が追加されていると思います。

従来のタイプは IAM 認証となっており、今回のアップデートではまずここの認証方式をワークグループに設定していきます。
ワークグループの認証方式は新規ワークグループの作成時にのみ設定が可能で、変更は出来ません。
そのため、ここでは新しいワークグループを作成します。

認証で「AWS IAM アイデンティティセンター」が選択出来るようになっているので選択します。

フィードバックしたのですぐに修正されるだろうと思っていますが、本日時点ではマネジメントコンソールが日本語表記の場合に IAM Identity Center インスタンスの情報を取得出来ずにワークグループ作成時にエラーとなってしまうようです。

マネジメントコンソールの言語を英語にするとうまく動作したので本日は英語に切り替えて構築しました。
日本語と異なり、Identity Center のインスタンスが自動で検出されているのがわかります。

作成すると次のようにワークグループが作成され、IAM 認証時とは異なりユーザーとグループの割り当て用のタブが追加されていることも確認出来ます。

また、この時点で IAM Identity Center 側には AWS マネージドアプリケーションとして Athena が登録されていることも確認が出来ました。

ユーザー追加しておく

Athena で作成した IAM Identity Center 用のワークグループにユーザーを追加してみます。
ユーザータブから追加を行います。

ユーザー追加のダイアログが表示されるので、アサインしたいユーザーを検索し追加します。

追加すると次のようにユーザータブに表示されます。

Lake Formation でも権限設定

冒頭解説したとおり、Athena から更に Lake Formation まで ID 伝播を行い権限管理に使用します。
このケースで Athena から参照するデータレイクやデータカタログは Lake Formation で作成する必要があるそうなので、Lake Formation で適当なデータソースを参照出来るようにしておきます。

さらに、Lake Formation の管理画面で IAM Identity Center の統合も行っておきます。

任意のデータベースやテーブルが Lake Formation 側で用意出来たら、権限管理画面から IAM Identity Center のプリンシパルを対象に許可設定を行っておきます。

EMR Studio でも IAM Identity Center 統合...したのだが

さて、Athena に追加したワークグループですが、Athena コンソールのクエリエディタからは次のように利用することが出来ません。

EMR Studio のクエリディタから利用する必要があります。
ただし、デフォルトの IAM 認証で EMR Studio を使っている場合だと、ワークグループの選択は出来るのですが、利用が出来ません。

そこで EMR Studio も IAM Identity Center 認証を有効化したものを用意しましょう。
ID 伝播のオプションがあるので、これを有効化することで EMR Studio で認証したプリンシパルが EMR Studio → Athena → Lake Formation と伝播していくというわけです(多分)

IAM Identity Center を有効化した EMR Studio は一覧上で次のように見分けることが出来ます。

また、EMR Studio 側で追加した IAM Identity Center プリンシパルのユーザーは、IAM Identity Center へログインすると、次のようにアプリケーションが表示されます。

また、IAM Identity Center 管理コンソールのアプリケーション画面を確認すると、EMR Studio の ID 伝播画面に次のように Athena や Lake Formation が統合されていることも確認出来ました。

EMR Studio へのアクセスに失敗した

あとは EMR Studio からクエリが確認出来れば最高だったのですが、本日時点で私が試した際には IAM Identity Center を有効化すると EMR Studio へのサインインに失敗してしまいました。

CLI で確認したところ、セッションマッピングは正しく出来ているのですが、今回のアップデートとは関係のないところで何か問題が発生して失敗しているようです。
このあたりは解決したらまた追記出来たらと思います。

さいごに

本日は Amazon Athena でも AWS IAM Identity Center の ID 伝播がサポートされたので試してみました。

最後の EMR Studio のところが確認出来なかったのが残念ですが、IAM Identity Center のアプリケーション画面から ID 伝播の統合の様子も少し確認出来たので一旦記事にしてみました。

今後 IAM Identity Center を軸にこのあたりのサービス統合を行って、アクセス管理を一元化する方向になっていくのかもしれません。
普及するのはまだ先かなと勝手に思っていますが、こういう機能がすでにあるという点は知っておきましょう。