アマゾンアテナ は、データを直接分析することを容易にする対話型のクエリ サービスです。 Amazon シンプル ストレージ サービス (Amazon S3) 標準 SQL を使用します。 クラウド運用チームが利用できるのは、 AWS IDおよびアクセス管理 (IAM) フェデレーションにより、Athena へのアクセスを一元管理します。 これにより、管理チームがオンプレミスの Active Directory に接続された一元管理された Azure AD から Athena ワークグループへのユーザー アクセスを制御できるため、管理が簡素化されます。 この設定により、IAM ユーザーを管理する際のクラウド運用チームのオーバーヘッドが軽減されます。 Athena は、Active Directory Federation Service (ADFS)、PingFederate、Okta、および Microsoft Azure Active Directory (Azure AD) フェデレーションとのフェデレーションをサポートしています。
このブログ投稿では、オンプレミス AD に接続された Azure AD を使用して AWS IAM フェデレーションをセットアップし、さまざまなユーザーに対して Athena ワークグループ レベルのアクセスを構成する方法を説明します。 次の XNUMX つのシナリオについて説明します。
- Azure AD はユーザーとグループ、およびオンプレミスの AD を管理します。
- オンプレミスの Active Directory は、Azure AD に同期されたユーザーとグループを管理します。
Azure AD Connect を使用してオンプレミス AD と Azure AD の間の同期をセットアップする方法については説明しません。 Azure AD を AWS Managed AD と統合する方法の詳細については、「」を参照してください。 ユーザーパスワード同期なしで AWS Managed Microsoft AD を使用して Office 365 を有効にする Azure AD とオンプレミス AD を統合する方法については、Microsoft の記事を参照してください。 Azure Active Directory Connect のカスタム インストール.
ソリューションの概要
このソリューションは、オンプレミス AD に接続された Azure AD との IAM フェデレーションを構成し、ユーザーに対して Athena ワークグループ レベルのアクセスを構成するのに役立ちます。 ワークグループへのアクセスは、オンプレミスの AD グループまたは Azure AD グループのいずれかによって制御できます。 ソリューションは XNUMX つのセクションで構成されます。
- Azure AD を ID プロバイダー (IdP) として設定します。
- Azure AD を AWS 単一アカウント アプリの SAML IdP として設定します。
- 委任されたアクセス許可を使用して Azure AD アプリを構成します。
- IAM IdP とロールを設定します。
- Azure AD を信頼する IdP を設定します。
- 読み取りロール権限を持つ IAM ユーザーを設定します。
- Athena ワークグループごとに IAM ロールとポリシーを設定します。
- Azure AD でユーザー アクセスを設定します。
- 自動 IAM ロール プロビジョニングを設定します。
- Athena ワークグループロールへのユーザーアクセスを設定します。
- アテナへのアクセス:
- Web ベースの Microsoft を使用して Athena にアクセスする マイアプリポータル.
- を使用して Athena にアクセスします SQLワークベンチ/J DBMS に依存しない無料のクロスプラットフォーム SQL クエリ ツール。
次の図は、ソリューションのアーキテクチャを示しています。
ソリューションワークフローには、次の手順が含まれます。
- 開発者ワークステーションは、SQL Workbench/j JDBC Athena ドライバーを介して Azure AD に接続し、SAML トークンを要求します (XNUMX 段階の OAuth プロセス)。
- Azure AD は、Azure AD パススルー エージェントまたは ADFS を介して認証トラフィックをオンプレミスに送り返します。
- Azure AD パススルー エージェントまたは ADFS は、オンプレミス DC に接続し、ユーザーを認証します。
- パススルー エージェントまたは ADFS は、成功トークンを Azure AD に送信します。
- Azure AD は、割り当てられた IAM ロールを含む SAML トークンを構築し、クライアントに送信します。
- クライアントが接続するのは、 AWSセキュリティトークンサービス (AWS STS) そして、Athena ロールを引き受けるための SAML トークンを提示し、一時的な認証情報を生成します。
- AWS STS は一時的な認証情報をクライアントに送信します。
- クライアントは一時認証情報を使用して Athena に接続します。
前提条件
ソリューションを構成する前に、次の要件を満たす必要があります。
- Azure AD 側で、次の手順を実行します。
- Azure AD Connect サーバーをセットアップし、オンプレミス AD と同期する
- Azure AD とオンプレミス AD の間で Azure AD パススルーまたは Microsoft ADFS フェデレーションをセットアップする
- XNUMX 人のユーザーを作成します (
user1
,user2
,user3
) と XNUMX つのグループ (athena-admin-adgroup
,athena-datascience-adgroup
,athena-developer-adgroup
) XNUMX つのそれぞれの Athena ワークグループ用
- Athena 側で、XNUMX つの Athena ワークグループを作成します。
athena-admin-workgroup
,athena-datascience-workgroup
,athena-developer-workgroup
サンプル Athena ワークグループの使用の詳細については、「 COVID-19データの分析のための公開データレイク.
Azure AD をセットアップする
このセクションでは、Microsoft Azure サブスクリプションの Athena の Azure AD 構成の詳細について説明します。 主に、アプリの登録、フェデレーションの構成、アプリの権限の委任、アプリのシークレットの生成を行います。
Azure AD を AWS 単一アカウント アプリの SAML IdP として設定する
Azure AD を SAML IdP として設定するには、次の手順を実行します。
- にサインインする Azureポータル Azure AD グローバル管理者の資格情報を使用します。
- 選択する Azure Active Directory.
- 選択する エンタープライズアプリケーション.
- 選択する 新しいアプリ.
- 検索する
Amazon
検索バーで - 選択する AWS 単一アカウントアクセス.
- 名前、 入力します
Athena-App
. - 選択する 作成します。
- スタートガイド セクション シングルサインオンを設定する、選択する 始める.
- シングルサインオン方法を選択します、選択する SAML.
- 基本的なSAML構成、選択する 編集する。
- 識別子(エンティティID)、 入る
https://signin.aws.amazon.com/saml#1
. - 選択する Save.
- SAML署名証明書、用 フェデレーションメタデータXML、選択する ダウンロード.
このファイルは、次のセクションで IAM IdP を構成するために必要です。 後で AWS で IAM を構成するときに使用できるように、このファイルをローカル マシンに保存します。
委任されたアクセス許可を使用して Azure AD アプリを構成する
Azure AD アプリを構成するには、次の手順を実行します。
- 選択する Azure Active Directory.
- 選択する アプリの登録 & すべてのアプリケーション.
- 探して選ぶ アテナアプリ.
- の値に注意してください。 アプリケーション(クライアント)ID & ディレクトリ(テナント)ID.
Athena に接続するときは、JDBC 接続でこれらの値が必要です。
- API権限、選択する 権限を追加する.
- 選択する Microsoft Graph & 委任された権限.
- 権限を選択する、 検索する
user.read
. - ユーザー、選択する ユーザー.読み取り.
- 選択する 許可を追加する.
- 選択する 管理者の同意を与える & 有り.
- 選択する 認証 & プラットフォームを追加する.
- 選択する モバイルおよびデスクトップ アプリケーション.
- カスタムリダイレクト URI、 入る
http://localhost/athena
. - 選択する 構成.
- 選択する 証明書と秘密 & 新しいクライアントの秘密.
- 説明を入力します。
- 期限、選択する 24か月間.
- JDBC 接続の構成時に使用するクライアント シークレット値をコピーします。
IAM IdP とロールを設定する
このセクションでは、AWS アカウントの IAM 構成について説明します。 主に、IAM ユーザー、ロール、ポリシーを作成します。
Azure AD を信頼する IdP をセットアップする
Azure AD を信頼する IdP を設定するには、次の手順を実行します。
- IAMコンソールで、 IDプロバイダー ナビゲーションペインに表示されます。
- 選択する プロバイダーを追加.
- プロバイダータイプ、選択する SAML.
- プロバイダ名、 入る
AzureADAthenaProvider
. - メタデータドキュメント, Azure Portal からダウンロードしたファイルをアップロードします。
- 選択する プロバイダーを追加.
読み取りロール権限を持つ IAM ユーザーを設定する
IAM ユーザーを設定するには、次の手順を実行します。
- IAMコンソールで、 ユーザー ナビゲーションペインに表示されます。
- 選択する ユーザーを追加.
- ユーザー名、 入る
ReadRoleUser
. - アクセスタイプ選択 プログラムによるアクセス.
- 選択する 次:パーミッション.
- 権限を設定する、選択する 既存のポリシーを直接添付.
- 選択する ポリシーを作成する.
- 選択 JSONの 次のポリシーを入力します。これにより、IAM でロールを列挙するための読み取りアクセスが付与されます。
- 選択する 次:タグ.
- 選択する 次:レビュー.
- 名前 、 入る
readrolepolicy
. - 選択する ポリシーを作成する.
- ソフトウェア設定ページで、下図のように ユーザーを追加する タブでロールを検索して選択します
readrole
. - 選択する 次:タグ.
- 選択する 次:レビュー.
- 選択する ユーザーを作成.
- アクセス キー ID とシークレット アクセス キーを含む .csv ファイルをダウンロードします。
これらは、Azure AD 自動プロビジョニングを構成するときに使用します。
Athena ワークグループごとに IAM ロールとポリシーを設定する
Athena ワークグループの IAM ロールとポリシーを設定するには、次の手順を実行します。
- IAMコンソールで、 役割 ナビゲーションペインに表示されます。
- 選択する 役割を作成する.
- 信頼できるエンティティのタイプを選択してください、選択する SAML2.0フェデレーション.
- SAMLプロバイダー、選択する AzureADAthenaプロバイダー.
- 選択する プログラムによるアクセスとAWSマネジメントコンソールへのアクセスを許可する.
- 調子、選択する キー.
- 選択 SAML:aud.
- 調子選択 文字列が等しい.
- 値、 入る
http://localhost/athena
. - 選択する 次:パーミッション.
- 選択する ポリシーを作成する.
- 選択する JSONの 次のポリシーを入力します (ワークグループの ARN を指定します)。
このポリシーは、Athena ワークグループへの完全なアクセスを許可します。 に基づいています。 AWS管理ポリシー AmazonAthenaFullAccess
& ワークグループのポリシーの例.
- 選択する 次:タグ.
- 選択する 次:レビュー.
- 名前 、 入る
athenaworkgroup1policy
. - 選択する ポリシーを作成する.
- ソフトウェア設定ページで、下図のように 役割を作成する タブ、検索
athenaworkgroup1policy
をクリックしてポリシーを選択します。 - 選択する 次:タグ.
- 選択する 次:レビュー.
- 選択する 役割を作成する.
- 名前 、 入る
athenaworkgroup1role
. - 選択する 役割を作成する.
Azure AD でのユーザー アクセスの設定
このセクションでは、自動プロビジョニングを設定し、Microsoft Azure ポータルからアプリにユーザーを割り当てます。
自動 IAM ロール プロビジョニングを設定する
自動 IAM ロール プロビジョニングを設定するには、次の手順を実行します。
- にサインインする Azureポータル Azure AD グローバル管理者の資格情報を使用します。
- 選択する Azure Active Directory.
- 選択する 業務アプリケーション 選択して アテナアプリ.
- 選択する ユーザーアカウントのプロビジョニング.
- プロビジョニング セクションでは、選択 始める.
- プロビジョニングモード、選択する オートマチック.
- 詳細 管理者の資格情報 そして人口を投入する クライアントの秘密 & シークレットトークン のアクセスキーIDとシークレットアクセスキーを使用して、
ReadRoleUser
それぞれ。 - 選択する 試験用接続 & Save.
- 選択する プロビジョニングを開始します.
最初のサイクルが完了するまでに時間がかかる場合があります。その後、IAM ロールが Azure AD に設定されます。
Athena ワークグループロールへのユーザーアクセスを設定する
ワークグループ ロールへのユーザー アクセスを設定するには、次の手順を実行します。
- にサインイン Azureポータル Azure AD グローバル管理者の資格情報を使用します。
- 選択する Azure Active Directory.
- 選択する 業務アプリケーション 選択して アテナアプリ.
- 選択する ユーザーとグループを割り当てる & ユーザー/グループを追加.
- ユーザーとグループ、Athena 権限を割り当てるグループを選択します。 この投稿では、
athena-admin-adgroup
; あるいは、user1 を選択することもできます。 - 選択する 選択.
- 役割を選択してください、役割を選択します
athenaworkgroup1role
. - 選択する 選択.
- 選択する 割り当てます.
アテナにアクセス
このセクションでは、AWS コンソールと開発者ツール SQL Workbench/J から Athena にアクセスする方法を説明します。
Web ベースの Microsoft My Apps ポータルを使用して Athena にアクセスする
Microsoft My Apps ポータルを使用して Athena にアクセスするには、次の手順を実行します。
- にサインイン Azureポータル Azure AD グローバル管理者の資格情報を使用します。
- 選択する Azure Active Directory
- 選択する 業務アプリケーション 選択して アテナアプリ.
- 選択する
- プロパティ.
- の値をコピーします ユーザーアクセスURL.
- Web ブラウザを開いて URL を入力します。
リンクにより、Azure ログイン ページにリダイレクトされます。
- オンプレミスのユーザー資格情報を使用してログインします。
にリダイレクトされます AWSマネジメントコンソール.
SQL Workbench/J を使用して Athena にアクセスする
厳しく規制された組織では、内部ユーザーはコンソールを使用して Athena にアクセスすることを許可されません。 このような場合は、JDBC ドライバーを使用して Athena への接続を可能にするオープンソース ツールである SQL Workbench/J を使用できます。
- 最新のダウンロード Athena JDBC ドライバー (Java のバージョンに基づいて適切なドライバーを選択してください)。
- ダウンロードしてインストール SQLワークベンチ/J.
- SQL ワークベンチ/J を開きます。
- ソフトウェア設定ページで、下図のように File メニュー、選択 接続ウィンドウ.
- 選択する ドライバーの管理.
- 名前 、ドライバーの名前を入力します。
- ドライバーをダウンロードして解凍したフォルダーの場所を参照します。
- 選択する OK.
Athena ドライバーを設定したので、次は Athena に接続します。 接続 URL、ユーザー名、パスワードを入力する必要があります。
次の接続文字列を使用して、MFA なしのユーザー アカウントで Athena に接続します (投稿の前半で収集した値を指定します)。
MFA が有効になっているユーザー アカウントを使用して接続するには、ブラウザーの Azure AD 資格情報プロバイダーを使用します。 接続 URL を作成し、ユーザー名とパスワードを入力する必要があります。
次の接続文字列を使用して、MFA が有効になっているユーザー アカウントで Athena に接続します (前に収集した値を指定します)。
接続が確立されたら、Athena に対してクエリを実行できます。
プロキシ構成
プロキシ サーバー経由で Athena に接続している場合は、プロキシ サーバーがポート 444 を許可していることを確認してください。結果セット ストリーミング API はポートを使用します。 444 アウトバウンド通信用の Athena サーバー上。 をセットする ProxyHost
プロパティをプロキシ サーバーの IP アドレスまたはホスト名に設定します。 をセットする ProxyPort
プロパティを、プロキシ サーバーがクライアント接続をリッスンするために使用する TCP ポートの番号に設定します。 次のコードを参照してください。
まとめ
この投稿では、オンプレミス AD に接続された Azure AD との IAM フェデレーションを構成し、Athena ワークグループへのきめ細かなアクセスを設定しました。 また、Microsoft My Apps Web ポータルと SQL Workbench/J ツールを使用して、コンソールから Athena にアクセスする方法についても説明しました。 プロキシ経由で接続がどのように機能するかについても説明しました。 同じフェデレーション インフラストラクチャを ODBC ドライバーの構成にも利用できます。 この投稿の手順を使用して SAML ベースの Azure IdP を設定し、Athena Workgroups へのフェデレーション アクセスを有効にすることもできます。
著者について
ニライ・クマール 彼は、AWS の金融サービスのプリンシパル テクニカル アカウント マネージャーであり、顧客が AWS 上で安全かつ堅牢な方法でワークロードを設計、設計、構築、運用、サポートできるよう支援しています。 彼は、エンタープライズ アーキテクチャ、クラウドと仮想化、セキュリティ、IAM、ソリューション アーキテクチャ、情報システムとテクノロジの分野で 20 年以上の多様な IT 経験を持っています。 自由時間には、指導、コーチング、トレッキング、息子と一緒にドキュメンタリーを見たり、毎日違う本を読んだりすることを楽しんでいます。
- '
- &
- 100
- 11
- 420
- 7
- 9
- アクセス
- Action
- アクティブ
- Active Directory
- Ad
- 管理人
- すべて
- 許可
- Amazon
- 分析
- API
- アプリ
- アプリ
- 建築
- 記事
- 認証
- AWS
- Azure
- ブログ
- ブラウザ
- ビルド
- 例
- クラウド
- コード
- 通信部
- 接続
- Connections
- 接続性
- 同意
- コロナ
- Credentials
- クロスプラットフォームの
- Customers
- データ
- データレイク
- 中
- dc
- 設計
- Developer
- ドキュメンタリー
- ドライバー
- Enterprise
- 体験
- フィールズ
- ファイナンシャル
- 金融業務
- 無料版
- フル
- グローバル
- 助成
- グループ
- 認定条件
- How To
- HTTPS
- IAM
- アイデンティティ
- 情報
- インフラ
- 相互作用的
- IP
- IPアドレス
- IT
- Java
- キー
- 最新の
- レベル
- LINK
- ローカル
- 場所
- 見
- 管理
- MFA
- Microsoft
- モバイル
- ナビゲーション
- オフィス365
- 組織
- パスワード
- プラグイン
- ポリシー
- 方針
- ポータル
- 校長
- 財産
- 代理
- 公共
- リーディング
- リダイレクト
- 要件
- リソースを追加する。
- ラン
- を検索
- セキュリティ
- サービス
- セッションに
- 簡単な拡張で
- 息子
- SQL
- ステートメント
- ストレージ利用料
- ストリーミング
- 購読
- 成功
- サポート
- サポート
- システム
- 技術的
- テクノロジー
- 一時的
- 時間
- トークン
- トラフィック
- users
- 値
- ウェブ
- ウェブブラウザ
- ワークフロー
- 作品
- 年