ゼファーネットのロゴ

ワークフォースアイデンティティを Amazon EMR Studio と Athena に導入する |アマゾン ウェブ サービス

日付:

現在のお客様は、複数のアプリケーションがデータ アクセス ワークフローに関与している場合、適切なアクセス制御と監査をユーザー レベルで実装するのに苦労する可能性があります。主な課題は、あるアプリケーションが別のアプリケーションのユーザーに代わってデータにアクセスするときに、ユーザー ID に基づいて適切な最小特権のアクセス制御を実装することです。この場合、監査なしでアプリケーションを介してすべてのユーザーに広範なアクセスを許可するか、役割をユーザーにマッピングするための複雑なオーダーメイドのソリューションを実装する必要があります。

使い方 AWS IAM アイデンティティ センターにユーザー ID を伝播できるようになりました。 AWS サービスのセット また、アプリケーション間で役割を交換するための複雑なカスタム システムを構築および保守する必要性を最小限に抑えます。また、IAM Identity Center は、相互接続されたアプリケーションが承認と監査に使用できる、ユーザーとグループの統合ビューを 1 か所に提供します。

IAM Identity Center を使用すると、Okta などのアイデンティティ プロバイダー (IDP) を使用して、AWS アカウントおよびアプリケーションへのユーザー アクセスを一元管理できます。これにより、ユーザーは既存の企業認証情報を使用して一度ログインし、ID 伝播をサポートするダウンストリーム AWS サービスにシームレスにアクセスできるようになります。 IAM Identity Center を使用すると、SCIM 2.0 を使用して Okta ユーザー ID とグループを自動的に同期し、AWS で正確なユーザー情報を得ることができます。

アマゾンEMRスタジオ は、データ エンジニアリングおよびデータ サイエンス アプリケーションを開発できる統合データ分析環境です。対話型クエリを開発して実行できるようになりました。 アマゾンアテナ EMR Studio から (詳細については、を参照してください) Amazon EMR Studio は、Amazon Athena を利用したインタラクティブなクエリエディタを追加します )。 Athena ユーザーは、ログインせずに EMR Studio にアクセスできます。 AWSマネジメントコンソール IAM Identity Center 経由で IdP からのフェデレーション アクセスを有効にすることによって。これにより、さまざまな ID を維持したり、IdP、EMR Studio、Athena 全体でユーザー ロールをマッピングしたりする複雑さが解消されます。

あなたは統治することができます Athena ワークグループ Okta からのユーザー属性に基づいてクエリのアクセスとコストを制御します。 AWSレイクフォーメーション また、Okta ID を使用して、アクセス許可の付与と取り消しを通じて、きめ細かいアクセス制御を適用することもできます。

IAM Identity Center と Okta シングル サインオン (SSO) の統合により、一元化された認証により EMR Studio と Athena へのアクセスが合理化されます。ユーザーは従業員の資格情報を使用して使い慣れたサインイン エクスペリエンスを実現し、Athena でクエリを安全に実行できます。 Athena ワークグループのアクセス ポリシーと Lake Formation 権限により、Okta ユーザー プロファイルに基づいたガバナンスが提供されます。

このブログ投稿では、IAM Identity Center と Okta の統合を使用して EMR Studio へのシングル サインオンを有効にする方法について説明します。 Okta ID を Athena と Lake Formation に伝播して、クエリとデータに対するきめ細かいアクセス制御を提供する方法を示します。このソリューションは、従業員の資格情報を使用した一元的な認証により、分析ツールへのアクセスを合理化します。 AWS IAM Identity Center、Amazon EMR Studio、Amazon Athena、AWS Lake Formation を利用します。

ソリューションの概要

IAM Identity Center を使用すると、ユーザーは管理者が手動で設定しなくても EMR Studio に接続できます。 AWS Identity and Access Management(IAM) 役割と権限。これにより、IAM Identity Center グループを既存のコーポレート ID ロールおよびグループにマッピングできるようになります。その後、管理者はロールとグループに権限を割り当て、ユーザーをそれらに割り当てることができるため、ユーザー アクセスをきめ細かく制御できます。 IAM Identity Center は、AWS のすべてのユーザーの中央リポジトリを提供します。ユーザーとグループを IAM Identity Center で直接作成することも、Okta、Ping Identity、Azure AD などのプロバイダーから既存のユーザーとグループに接続することもできます。選択したアイデンティティ ソースを通じて認証を処理し、EMR Studio にアクセスするためのユーザーとグループのディレクトリを維持します。既知のユーザー ID と記録されたデータ アクセスにより、ユーザー アクセスを監査することでコンプライアンスを容易にします。 AWS クラウドトレイル.

次の図は、ソリューションのアーキテクチャを示しています。

ソリューションの概要

EMR Studio のワークフローは、次の高レベルの手順で構成されます。

  1. エンドユーザーは、AWS アクセス ポータル URL を使用して EMR Studio を起動します。この URL は、IAM Identity Center ダッシュボードを介して IAM Identity Center 管理者によって提供されます。
  2. URL はエンドユーザーを Workforce IdP Okta にリダイレクトし、ユーザーはそこで Workforce Id 資格情報を入力します。
  3. 認証が成功すると、ユーザーはフェデレーション ユーザーとして AWS コンソールにログインします。
  4. ユーザーは EMR Studio を開き、EMR Studio で利用可能なリンクを使用して Athena クエリエディターに移動します。
  5. ユーザーは、Athena クエリを実行するためのユーザー ロールに従って正しいワークグループを選択します。
  6. クエリ結果は別の場所に保存されます。 Amazon Simple Storage Service(Amazon S3) ユーザー ID に基づくプレフィックスが付いた場所。

ソリューションを実装するには、次の手順を実行します。

  1. Okta を IAM Identity Center と統合して、ユーザーとグループを同期します。
  2. IAM Identity Center を EMR Studio と統合します。
  3. ユーザーまたはグループを IAM Identity Center から EMR Studio に割り当てます。
  4. IAM Identity Center を使用して Lake Formation をセットアップします。
  5. 伝播された企業 ID に対して Lake Formation を使用して、きめ細かいロールベースの資格を構成します。
  6. アクセスを管理するために Athena でワークグループをセットアップします。
  7. バケット、プレフィックス、オブジェクトなどの Amazon S3 リソースへのきめ細かいアクセスのために Amazon S3 アクセス許可を設定します。
  8. IAM Identity Center を使用して、AWS アクセス ポータルから EMR Studio にアクセスします。
  9. EMR Studio の Athena SQL エディターでクエリを実行します。
  10. Workforce Identity のエンドツーエンドの監査証跡を確認します。

前提条件

この投稿を進めるには、次のものが必要です。

  • An AWSアカウント – 持っていない場合は、次のことを行うことができます ここにサインアップする.
  • An アクティブなサブスクリプションを持つ Okta アカウント – Okta でアプリケーションを設定するには、管理者ロールが必要です。 Okta を初めて使用する場合は、 無料試用 または 開発者アカウント.

IAM Identity Center を使用して Okta を構成する手順については、次を参照してください。 Okta と IAM Identity Center を使用して SAML と SCIM を構成する.

Okta を IAM Identity Center と統合してユーザーとグループを同期する

ユーザーまたはグループを Okta から IAM Identity Center に正常に同期すると、次のスクリーンショットに示すように、IAM Identity Center コンソールにそれらのユーザーまたはグループが表示されます。この投稿では、2 つのユーザー グループを作成して同期しました。

  • データエンジニア
  • データサイエンティスト

IAM Identity Center の Workforce Identity グループ

次に、IAM Identity Center で信頼できるトークン発行者を作成します。

  1. IAM Identity Center コンソールで、選択 設定 ナビゲーションペインに表示されます。
  2. 選択する 信頼できるトークン発行者の作成.
  3. 発行者のURL、信頼されたトークン発行者の URL を入力します。
  4. 信頼できるトークン発行者名、Oktaを入力します。
  5. マップ属性¸ IdP 属性をマップする メール IAM Identity Center 属性の電子メールに追加します。
  6. 選択する 信頼できるトークン発行者の作成.
    IAM Identity Center で信頼できるトークン発行者を作成する

次のスクリーンショットは、IAM Identity Center コンソール上の新しい信頼されたトークン発行者を示しています。

ID センターの Okta の信頼されたトークン発行者

IAM Identity Center と EMR Studio を統合する

まず、EMR Studio で有効になっている信頼できる ID 伝達を作成します。

EMR Studio 管理者は、EMR Studio を IAM Identity Center 対応アプリケーションとして構成する手順を実行する必要があります。これにより、EMR Studio は IAM Identity Center を自動的に検出して接続し、サインインおよびユーザー ディレクトリ サービスを受信できるようになります。

EMR Studio を IAM Identity Center 管理のアプリケーションとして有効にすることのポイントは、IAM Identity Center 内、または IAM Identity Center に統合されているソースのサードパーティ IdP (この場合は Okta) からユーザーとグループのアクセス許可を制御できるようにすることです。たとえば、ユーザーが EMR Studio にサインインするとき データエンジニア or データサイエンティスト、IAM Identity Center でグループをチェックし、これらは Lake Formation のロールと資格にマッピングされます。このようにして、グループは、一連のテーブルまたは列への読み取りアクセスを許可する Lake Formation データベース ロールにマップできます。

次の手順では、IAM Identity Center を使用して AWS 管理のアプリケーションとして EMR Studio を作成する方法を示し、次に、Lake Formation や Athena などのダウンストリーム アプリケーションが既存の企業認証情報を使用してこれらのロールと資格をどのように伝達するかを確認します。

  1. Amazon EMR コンソールで、EMR Studio に移動します。
  2. 選択する スタジオを作成する.
  3. オプション、選択 カスタム.
  4. スタジオ名、名前を入力します。
  5. ワークスペースストレージの S3 の場所選択 既存の場所を選択してください をクリックして、Amazon S3 の場所を入力します。

カスタム セットアップ オプションを使用して EMR Studio を作成する

6. EMR Studio の権限の詳細を構成します。

選択するときの注意点 権限の詳細を表示するサービスの役割をクリックすると、新しいポップアップ ウィンドウが開きます。ポップアップ ウィンドウに表示されているのと同じポリシーを持つ IAM ロールを作成する必要があります。同じものをあなたのものにも使用できます サービスの役割 & IAMの役割.

EMR スタジオの権限の詳細

  1. ソフトウェア設定ページで、下図のように スタジオを作成する ページ、 認証選択 AWS IAM アイデンティティ センター.
  2. ユーザーの役割、 ユーザーの役割を選択します。
  3. 信頼できるアイデンティティの伝播選択 信頼できる ID の伝播を有効にする.
  4. アプリケーションへのアクセス選択 割り当てられたユーザーとグループのみ.
  5. VPC、VPC を入力します。
  6. サブネット、サブネットを入力します。
  7. セキュリティとアクセス選択 デフォルトのセキュリティグループ.
  8. 選択する スタジオを作成.

ID センターと信頼できる ID の伝播を有効にする

IAM Identity Center 対応の EMR Studio が AmazonEMRコンソール.

IAM Identity Center 対応の EMR Studio

EMR Studio 管理者が信頼できる ID 伝播が有効な EMR Studio の作成を完了し、構成を保存すると、EMR Studio のインスタンスが IAM Identity Center 対応アプリケーションとして表示されます。 IAM Identity Center コンソール.

EMR Studio は IAM Identity Center の AWS マネージド アプリの下に表示されます

IAM Identity Center から EMR Studio にユーザーまたはグループを割り当てる

IAM と同期した後、IAM Identity Center ディレクトリから EMR Studio アプリケーションにユーザーとグループを割り当てることができます。 EMR Studio 管理者は、アプリにどの IAM Identity Center ユーザーまたはグループを含めるかを決定します。たとえば、IAM Identity Center に合計 10 個のグループがあるが、そのすべてが EMR Studio のこのインスタンスにアクセスすることを望まない場合、EMR Studio 対応の IAM アプリにどのグループを含めるかを選択できます。

次の手順では、EMR Studio 対応の IAM Identity Center アプリケーションにグループを割り当てます。

  1. EMR Studio コンソールで、新しい EMR Studio インスタンスに移動します。
  2. ソフトウェア設定ページで、下図のように 割り当てられたグループ タブを選択 グループの割り当て.
  3. アプリケーションに含める IAM Identity Center グループを選択します。たとえば、次のように選択できます。 データサイエンティスト & データ エンジニア グループ.
  4. 選択する クリックします.

これにより、EMR Studio 管理者は、IAM Identity Center と統合されたこの特定のインスタンスへのアクセスを割り当てる特定の IAM Identity Center グループを選択できるようになります。 IAM Identity Center ディレクトリのすべてのグループではなく、選択したグループのみが同期され、アクセスが許可されます。

Studio 設定からグループを選択して、Trusted Identity Propagation が有効な EMR Studio をユーザー グループに割り当てます

IAM Identity Center を使用して Lake Formation をセットアップする

IAM Identity Center を使用して Lake Formation を設定するには、Okta を IAM Identity Center の IdP として構成していることを確認し、Okta からのユーザーとグループが IAM Identity Center で使用できることを確認します。次に、次の手順を実行します。

  1. Lake Formation コンソールで、 IAM ID センターの統合管理部門 ナビゲーションペインに表示されます。

IAM Identity Center アプリケーションの ARN とともに「IAM Identity Center が有効になりました」というメッセージが表示されます。

  1. 選択する 創造する.

数分で、Lake Formation が Okta Identity Center からの一元的な IAM ID と正常に統合されたことを示すメッセージが表示されます。具体的には、メッセージには「アプリケーション ARN とのアイデンティティ センター統合が正常に作成されました」と表示され、Lake Formation と Okta で管理されるアイデンティティとの間で統合が行われたことを示します。

IAM Identity Center 対応 AWS Lake Formation

伝播された企業 ID に対して Lake Formation を使用して、きめ細かいロールベースの資格を構成する

次に、Lake Formation でのデータ アクセスに対する詳細な資格を設定します。この投稿では、Lake Formation コンソールで既存の企業 ID を使用して、データに関連する制御とガバナンスを提供するために必要な手順を要約します。これは、後で Athena クエリ エディターを介してクエリします。 Lake Formation でのデータベースとテーブルのセットアップについては、「」を参照してください。 AWS Lake Formation の使用を開始する

この投稿では、Lake Formation について詳しくは説明しません。代わりに、Lake Formation に導入された新しい機能、つまり IAM Identity Center と同期されている既存の企業 ID に基づいてアクセス許可を設定する機能に焦点を当てます。

この統合により、Lake Formation は組織の IdP とアクセス管理ポリシーを使用して、データ レイクへのアクセス許可を制御できるようになります。 Lake Formation 専用にアクセス許可を最初から定義するのではなく、既存のユーザー、グループ、アクセス制御を利用して、データ カタログと基盤となるデータ ソースにアクセスできるユーザーを決定できるようになりました。全体として、この IAM Identity Center との新しい統合により、企業 ID を使用してデータ レイク ワークロードのアクセス許可を簡単に管理できるようになります。これにより、個別のシステム間で権限を調整し続けるための管理オーバーヘッドが軽減されます。 AWS が Lake Formation の強化を続けるにつれて、このような機能により、フル機能のデータレイク管理環境としての実行可能性がさらに向上します。

この投稿では、というデータベースを作成しました。 zipcode-db-tip また、ユーザー グループ Data-Engineer に、データベース内の基になるテーブルをクエリするための完全なアクセス権が付与されました。次の手順を実行します。

  1. Lake Formation コンソールで、 データレイク権限を付与する.
  2. プリンシパルの場合、選択します IAM アイデンティティ センター.
  3. ユーザーとグループ、「データ エンジニア」を選択します。
  4. LF-タグまたはカタログリソース選択 名前付きデータカタログリソース.
  5. データベース、選択する zipcode-db-tip.
  6. テーブル類、選択する tip-zipcode.
    IAM Identity Center でユーザーに Data Lake 権限を付与する

同様に、ユーザーとグループがデータに対してクエリを実行できるように、基になるテーブルに対する適切なアクセスをユーザーとグループに提供する必要があります。

  1. 前の手順を繰り返して、データ エンジニア グループにアクセスしてデータをクエリできるようにします。
  2. テーブルのアクセス許可選択 選択, 説明する, スーパー.
  3. データ権限選択 すべてのデータアクセス.

特定の要件に応じて、行とコメントに対する選択的なアクセスを許可できます。

AWS Data Lake でテーブル権限を付与する

Athena でワークグループをセットアップする

Athena ワークグループは、AWS アカウント内のデータとクエリを分離できる AWS の機能です。データを分離し、各グループが自分に関連するデータのみにアクセスできるようにアクセスを制御する方法を提供します。 Athena ワークグループは、機密データセットへのアクセスを制限したい組織や、クエリが相互に影響を与えないようにする組織に役立ちます。ワークグループを作成するときに、ユーザーとロールをワークグループに割り当てることができます。ワークグループ内で起動されたクエリは、そのワークグループに構成されたアクセス制御と設定を使用して実行されます。これらにより、ガバナンス、セキュリティ、リソースの詳細な制御が可能になります。 Athena ワークグループは、大規模な組織全体で Athena の使用を管理および最適化するための重要な機能です。

この投稿では、データ エンジニアリング チームのメンバー専用のワークグループを作成します。その後、Data Engineer ユーザー プロファイルでログインしたときに、このワークグループ内からクエリを実行して、Athena ワークグループへのアクセスをユーザー プロファイルに基づいて制限する方法を示します。これにより、ガバナンス ポリシーを適用できるようになり、ユーザーは自分の役割に基づいて許可されたデータセットとクエリのみにアクセスできるようになります。

  1. Athenaコンソールで、 ワークグループ管理部門 ナビゲーションペインに表示されます。
  2. 選択する ワークグループを作成.
  3. 認証選択 AWS アイデンティティセンター.
  4. Athena を承認するサービス ロール選択 新しいサービスロールを作成して使用する.
  5. サービスロール名、役割の名前を入力します。
    Athena 認証用の IAM Identity Center オプションを選択します
  6. クエリ結果の場所、 Athena クエリ結果を保存するための Amazon S3 の場所を入力します。

これは、認証に IAM Identity Center を指定する場合の必須フィールドです。

クエリ結果の場所を構成し、ユーザー ID ベースの S3 プレフィックスを有効にする

ワークグループを作成したら、ユーザーとグループをワークグループに割り当てる必要があります。この投稿では、data-engineer という名前のワークグループを作成し、グループ Data-Engineer (IAM Identity Center からの信頼された ID 伝播を通じて伝播) を割り当てます。

  1. ソフトウェア設定ページで、下図のように グループ データ エンジニアの詳細ページのタブで、割り当てるユーザー グループを選択し、 グループの割り当て.
    グループの割り当てオプションは、ワークグループ設定の「グループ」タブで使用できます。

Amazon S3 アクセス許可を設定して、ワークフォース ID ごとにクエリ結果を分離する

次に、Amazon S3 の付与を設定します。

助成金を設定するには、次のビデオを視聴するか、以下を参照してください。 Amazon EMR と S3 アクセス許可を使用して、Spark アクセス Amazon S3 をスケールする 手順を参照してください。

IAM Identity Center アクセス ポータルを使用して AWS フェデレーション アクセス経由でログインを開始する

これで、IAM Identity Center 認証を使用して EMR Studio とフェデレーション ログインに接続する準備が整いました。

  1. IAM Identity Center コンソールで、ダッシュボードに移動し、AWS アクセス ポータルの URL を選択します。
  2. ブラウザーのポップアップにより Okta ログイン ページに移動し、Okta 認証情報を入力します。
  3. 認証が成功すると、フェデレーション ユーザーとして AWS コンソールにログインします。
  4. EMR Studio アプリケーションを選択します。
  5. EMR Studio にフェデレートした後、ナビゲーションペインで [クエリエディター] を選択して、Athena クエリエディターで新しいタブを開きます。

次のビデオでは、フェデレーション ユーザーが AWS アクセス ポータル URL を使用して、IAM Identity Center 認証を使用して EMR Studio にアクセスする様子を示しています。

エディターでのきめ細かなアクセスでクエリを実行

EMR Studio では、ユーザーは Athena クエリ エディターを開き、クエリ エディターで適切なワークグループを指定してクエリを実行できます。

データ エンジニア ワークグループでの Athena クエリの結果

データ エンジニアは、ユーザーがアクセス権を持つテーブルのみをクエリできます。クエリ結果は、従業員 ID ごとに異なる S3 プレフィックスの下に表示されます。

Workforce Identity のエンドツーエンドの監査証跡を確認する

IAM Identity Center 管理者は、次の IAM Identity Center コンソールのスクリーンショットに示すように、ID の伝播に関して信頼されているダウンストリーム アプリを調べることができます。

信頼できるアプリケーションの AWS IAM Identity Center ビュー

CloudTrail コンソールのイベント履歴には、特定の Workforce Identity によってアクセスされたイベント名とリソースが表示されます。

監査人は、AWS Data Lake でクエリを実行した従業員の ID を確認できます。

CloudTrail でイベントを選択すると、監査人は基盤となる AWS Analytics サービスにアクセスした一意のユーザー ID を確認できます。

クリーンアップ

リソースをクリーンアップするには、次の手順を実行します。

  1. IAM Identity Center と統合するために作成した Okta アプリケーションを削除します。
  2. IAM Identity Center 構成を削除します。
  3. テスト用に作成した EMR Studio を削除します。
  4. IAM Identity Center と EMR Studio の統合用に作成した IAM ロールを削除します。

まとめ

この投稿では、ワークフォース ID を EMR Studio に導入し、その ID を Athena や Lake Formation などの接続された AWS アプリケーションに伝播するための詳細なチュートリアルを紹介しました。このソリューションは、追加の資格情報を覚えたり、さまざまな分析システム間で複雑な役割マッピングを維持したりする必要がなく、従業員に使い慣れたサインイン エクスペリエンスを提供します。さらに、監査人は従業員のアイデンティティと分析サービスへのアクセスをエンドツーエンドで可視化できます。

信頼できる ID の伝播と EMR Studio の詳細については、次を参照してください。 Amazon EMR と AWS IAM ID センターを統合する.


著者について

マンジット・チャクラボルティ AWS のシニア ソリューション アーキテクトです。彼は、金融分野で豊富な経験を持ち、世界中でコアビジネスのエンタープライズ ソリューションのアドバイス、設計、主導、導入において顧客と協力してきた、経験と結果を重視する専門家です。余暇には、マンジットは釣り、格闘技の練習、娘と遊ぶことを楽しんでいます。

ニーラジロイ ロンドンを拠点とする AWS のプリンシパル ソリューション アーキテクトです。彼は、グローバル金融サービスの顧客と協力して、AWS への移行を加速させています。余暇には、読書を楽しんだり、家族と時間を過ごしたりしています。

スポット画像

最新のインテリジェンス

スポット画像