Amazon Web Services ブログ

ADFS と AWS の間の信頼を確立し、Active Directory 認証情報を使用して ODBC ドライバーで Amazon Athena に接続する



Amazon Athena はサーバーレスでインタラクティブなクエリサービスです。これにより、標準的な SQL を使用して、Amazon Simple Storage Service (Amazon S3) で未加工および処理済みのデータセットを簡単に分析できます。Athena が提供する JDBC および ODBC ドライバーを使用すると、データ分析ツール (Microsoft Power BI、Tableau、SQLWorkBench など) を Athena とシームレスに統合し、数分でデータに関する洞察を得ることができます。

2018 年 11 月までは、IAM ユーザーまたはロールの認証情報を使用して、ODBC または JDBC ドライバーで Athena に接続する必要がありました。けれども、Athena ODBC/JDBC ドライバーで、Microsoft Active Directory Federation Services (ADFS 3.0) と Security Assertion Markup Language (SAML 2.0) のサポートが 2018 年 11 月 20 日から提供開始されたのに伴い、Microsoft Active Directory (AD) 認証情報を使用して Athena に直接接続できるようになりました。

Windows Server のコンポーネントである Microsoft ADFS 3.0 は、SAML 2.0 をサポートし、AWS Identity and Authentication Management (IAM) と統合されています。この統合により、Active Directory (AD) ユーザーは、Microsoft Active Directory のユーザー名やパスワードなどの企業ディレクトリの認証情報を使用して AWS にフェデレーションできます。

この記事では、Windows Server 2012 R2 Amazon Elastic Compute Cloud (Amazon EC2) インスタンスで ADFS 3.0 を設定し、SAML 2.0 を介して ADFS 3.0 IdP と AWS の間に信頼関係を確立する方法について説明します。次に、Amazon Linux EC2 インスタンス (RHEL インスタンス) に Athena OBDC ドライバーをインストールし、認証に ADFS を使用するように設定する方法を示します。

ソリューションの概要

次のアーキテクチャ図は、組織の AD ユーザーが Athena ODBC/JDBC ドライバーで認証を受ける方法を示しています。

プロセスには次のステップが含まれます。

  1. 組織のユーザーは、JDBC または ODBC ドライバーを備えたクライアントアプリケーションを使用して、組織の IdP に認証をリクエストします。IdP は ADFS 3.0 です。
  2. IdP は、組織の ID ストアである AD に対してユーザーを認証します。
  3. IdP は、ユーザーに関する情報を使用して SAML アサーションを作成し、JDBC または ODBC ドライバーを介してクライアントアプリケーションにアサーションを送信します。
  4. JDBC または ODBC ドライバーは、AWS Security Token Service AssumeRoleWithSAML API オペレーションを呼び出し、次のパラメータを渡します。
    • SAML プロバイダーの ARN
    • 引き受けるロールの ARN
    • IdP からの SAML アサーション
  5. JDBC または ODBC ドライバーを介したクライアントアプリケーションへの API レスポンスには、一時的なセキュリティ認証情報が含まれます。
  6. クライアントアプリケーションは一時的なセキュリティ認証情報を使用して Athena API オペレーションを呼び出します。これにより、ユーザーは Athena API オペレーションにアクセスできます。

この記事では、SAML を介して ADFS-AWS 信頼を確立し、その信頼を使用して Athena JDBC/ODBC ドライバーで AD ユーザーをフェデレーションする方法について説明します。

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

  • Windows Server 2012 R2 Amazon EC2 インスタンスで ADFS (3.0) を設定する
  • SAML 2.0 ルールを介して AWS と ADFS (3.0) 間の信頼を確立する
  • RHEL EC2 インスタンスに Athena ODBC ドライバー 1.0.5 をインストールし、ADFS を使用するように設定する

前提条件

このチュートリアルでは、次の前提条件が必要です。

  • Active Directory の概念の理解。Windows インスタンスで Active Directory を設定する手順は、この記事の範囲外です。
  • IAM のロールと概念の理解。
  • Active Directory サーバーと、Athena ODBC または JDBC ドライバーがインストールされているインスタンスとの間にセットアップされた DNS およびネットワーク。この記事は、Windows Amazon EC2 インスタンスに (ADFS を実行する) Active Directory をセットアップし、同じ AWS VPC とサブネットの一部である別の EC2 インスタンスに ODBC ドライバーをセットアップします。ただし、お客様のユースケースでは、ADFS サーバーと OBDC/JDBC インスタンス間で接続を確立する必要があります。

Windows Server 2012 R2 Amazon EC2 インスタンスで ADFS (3.0) を設定する

次の手順では、Windows Server 2012 R2 Amazon EC2 インスタンスに ADFS 3.0 をインストールします。前提条件に従って、Windows Server 2012 R2 EC2 インスタンスに Active Directory を既にインストールしていることでしょう。この記事では、ドメイン名は arunad.local です。EC2 インスタンスで Active Directory ドメインコントローラーを設定する手順については、Microsoft TechNet ウェブサイトの「Building Your First Domain Controller on 2012 R2」を参照してください。

ADFS 3.0 の前提条件のインストール

Windows ドメインコントローラーで ADFS 3.0 を設定するには、次のものが必要です。

  • SSL 証明書 – この記事では、IIS (Internet Information Server) をインストールすることで自己署名証明書を作成できます
  • サービスアカウントの設定 –ドメイン管理者グループで Active Directory ユーザーを作成する
  1. Windows Server 2012 R2 Amazon EC2 インスタンスに IIS をインストールします。手順については、The Solving のウェブサイトの「How to install and configure IIS on Windows Server 2012 R2」をご覧ください。この記事では、前述の手順のステップ 2 をスキップできます。
  2. IIS をインストールしたら、自己署名証明書を作成します。手順については、Sophos Community ウェブサイトの「How to Create a Self Signed SSL Certificate with Windows Server」をご覧ください。この記事では、前述の手順の自己署名証明書をバインドするための手順をスキップできます。

ドメインコントローラーでサービスアカウントを設定するには、Active Directory に ADFSSVC という名前のユーザーを作成し、そのユーザーをドメイン管理者グループに追加します。

  1. [Server Manager] を開きます。
  2. [Tools] を選択します。
  3. [Active Directory Users and Computers] を選択します。
  4. ドメインを展開します (arunad.local)。
  5. [User] を選択します (右クリック)。
  6. [New] をクリックします。
  7. [User] を選択します。
  1. ADFSSVC という名前のユーザーを作成します。
  2. パスワードを無期限に設定します。

これで、ユーザー ADFSSVC をドメイン管理者グループに追加できます。

  1. [Users] を選択します。
  2. [ADFSSV] (右クリック) を選択し、[Add to group] をクリックします。
  3. 検索バーに、「domain」と入力します。
  4. [checknames] を選択します。
  5. [Domain Admins] を選択します。
  6. [OK] をクリックします。

ユーザーがグループに追加されたというメッセージが表示されても、確認する必要があります。

  1. [ADFSSVC] (右クリック) を選択し、[Properties] を選択します。
  2. [Member Of] タブで、[Domain Admins] がリストされていることを確認します。

ADFS 3.0 のインストールと設定

ADFS 3.0 の前提条件をインストールしたので、Windows Server 2012 R2 EC2 インスタンスに ADFS 3.0 をインストールして設定できます。

  1. [Server Manager] を開きます。
  2. [Roles and Features] を選択します。
  3. [Role-based or feature-based installation] を選択します。

  1. [Select server roles] に到達するまで、[Next] をクリックします
  2. [Roles] では、[Active Directory Federation Services] を選択します。

  1. [Confirmation installation selections] に到達するまで、[Next] をクリックします
  2. [Install] を選択します。

  1. このサーバーの [Configure the Federation Service] を選択します。
  2. [Create the first federation server in a federation server farm] を選択します。
  3. [Next] をクリックします。

  1. [Specify Service Properties] に到達するまで、[Next] をクリックします
  2. [SSL Certificate] では、先にインストールした自己署名証明書を選択します。
  3. [Federation Service Display Name] には、「ArunADFS」と入力します。
  4. [Next] をクリックします。

  1. [Specify Service Account] ページで、[Use an existing domain user account or group Managed Service Account] を選択します。
  2. [Select] をクリックします。

  1. テキストボックスに、「ADFSSVC」と入力します。
  2. [Check names] を選択します。
  3. 名前が入力されたら、[OK] をクリックします。

  1. パスワードを入力して、[Next] をクリックします。

  1. [Create a database on this server using Windows Internal Database] を選択します。
  2. [Next] をクリックします。

  1. [Pre-requisite Checks] に到達するまで、[Next] をクリックします
  2. [Configure] を選択します。

サーバーが正常に設定されると、次の警告メッセージが表示される場合があります。 

An error occurred during an attempt to set the SPN for the specified service account.Set the SPN for the service account manually.For more information about setting the SPN of the service account manually, see the AD FS Deployment Guide.Error message: The SPN required for this Federation Service is already set on another Active Directory account.Choose a different Federation Service name and try again.

問題を解決するには、管理者として PowerShell を開いて次のコマンドを実行します。

setspn -a host/localhost adfssvc

次のコードは出力を示しています。

ADFS 3.0 の設定が完了しました。

  1. ADFS サーバーのフェデレーション XML ファイルをダウンロードするには、Windows サーバーでブラウザを開き、次のアドレスを入力します。https://<yourservername>/FederationMetadata/2007-06/FederationMetadata.xml

このファイルは、ADFS と AWS 間の信頼を確立するために必要です。

または、PowerShell 3.0 以降で管理者として次のコマンドを実行して、ADFS サーバーのフェデレーション XML ファイルをダウンロードすることもできます。

wget https://<your-server-name>/FederationMetadata/2007-06/FederationMetadata.xml -OutFile FederationMetadata.xml

サーバー名を確認するには、[Start] ボタン (Windows アイコン) をクリックし、[My computer] を右クリックしたら、[Properties]、[Full Computer Name] の順にクリックします。

ダウンロードした XML ファイルをローカルマシンにコピーして、次のステップで IAM に SAML ベースのロールを作成するときに使用できるようにします。

SAML 2.0 を介して Windows AD (ADFS IDP を使用) と AWS 間で信頼を確立する

Windows サーバーで ADFS 3.0 を設定したので、SAML アサーションクレームルールを介して、AWS と IdP (ADFS) の間の信頼を確立できます。この信頼を確立することで、AD のユーザーは IAM ロールを使用して AWS にフェデレーションし、Athena や AWS Glue データカタログなどの AWS リソースにアクセスできます。

この信頼を確立するには、AWS と Active Directory の両方で設定する必要があります。AWS では、IAM ロールを設定し、SAML プロバイダーを確立します。Active Directory では、SAML アサーションとクレームルールを記述します。

IAM で SAML プロバイダーを設定する

SAML プロバイダーをセットアップするには、以下の手順を実行します。

  1. IAM コンソールで、[ID プロバイダ] を選択します。
  2. [プロバイダの作成] を選択します。
  3. [プロバイダーのタイプ] では、[SAML] を選択します。
  4. [プロバイダー名] には、「MytestADFS」と入力します。
  5. [メタデータドキュメント] では、前にダウンロードした XML ファイルを選択します。

  1. IAM で新しいロールを作成し、信頼できるエンティティを SAML 2.0 フェデレーションとして選択します。
  2. [SAML プロバイダ] では、先に作成したプロバイダーを選択します (MytestADFS)。
  3. [属性] では、[SAML:aud] を選択します。

  1. このロールに必要な IAM 権限を追加し、IAM ロールを作成します。

この記事では、AthenaFullAccess 管理ポリシーをアタッチして、「ArunADFSTest」という名前を付けます。

この手順で指定するロール名は重要です。それは、次の手順で信頼を確立する一環として Active Directory で作成するユーザーとグループは、すべてこの名前に基づいているためです。

ADFS 3.0 IdP で SAML アサーションルールを設定する

このステップでは、作成した IAM ロールを使用して AWS にフェデレーションできるように、ADFS で SAML アサーションルールを設定します。

AWS で AD グループと IAM のロールを作成して区分する方法を決定することは、アカウントへのアクセスを保護し、リソースを管理する上で重要です。IAM ロールマッピングを一意に識別する AD グループを作成する 1 つの方法は、共通のグループ命名規則を選択することです。

この記事では、命名規則 AWS-<AccountID>-<IAMRolename> で Active Directory にグループを作成します。たとえば、AWS-123456789012-ArunADFSTest です。

この命名規則は次のステップで非常に重要になります。文字列 AWS- <AccountID>- を含む AD ユーザーのすべての AD グループをフェッチする SAML アサーションクレームルールを作成して、グループ名の最後の部分を抽出し、AWS の IAM ロールにマッピングするためです。たとえば、AWS に認証している AD ユーザーが AD グループ AWS-123456789012-ArunADFSTest の一部である場合、後で記述するクレームルールは、文字列 AWS-123456789012- と一致する AD ユーザーのすべてのグループを見つけます。そしてグループ名の最後の部分 (ArunADFSTest) を抽出し、ロール名として aws:arn::iam::<AccountID>: role/ArunADFSTest 形式で AWS SAML エンドポイントに送信します。

  1. [Server Manager] の [Tools] で、[Active directory users and computers] を選択します。
  2. ドメインを選択して (右クリック)、[New] を選択します。
  3. [Group] を選択します。

次のスクリーンショットは、「AWS-123456789012-ArunADFSTest」という名前の AD グループが作成されたことを示しています。

  1. AWS-123456789012-ArunADFSTest という名前で AD にグループを作成した後、そのグループに新しいユーザーを作成します。この記事では、ユーザーに myldapuser1 という名前を付けます。

  1. ユーザーの E メールフィールドを使用し、SAML トークンの作成時に AWS にそれを RolesessionName として AWS に渡すため、ユーザーのこの E-mail フィールドに有効な E メールアドレス構文が入力されていることを確認してください。

  1. ユーザーを作成したら、そのユーザーを AD グループ AWS-123456789012-ArunADFSTest に追加します。

AD グループ、AD ユーザー、および IAM ロールを作成したので、ADFS に証明書利用者信頼を作成し、クレームルールを記述します。ADFS IdP は、SAML アサーションで次の値を作成し、認証のために値を AWS に送信する必要があります。

    • NameID
    • RoleSessionName
    • Roles (AWS の SAML IDP とロール名が含まれます)

ADFS で証明書利用者信頼とクレームルールを設定する手順については、「Active Directory フェデレーションサービス (AD FS) を使用した AWS フェデレーション認証」を参照してください。このチュートリアルでは、「Active Directory フェデレーションサービスの設定」セクションから開始できます。

  1. [Display name] には、[My Amazon Portal] を入力します。

設定後のクレームルールは、次のスクリーンショットのようになります。

次のスクリーンショットは、NameID のルールを示しています。

次のスクリーンショットは、RoleSessionName のルールを示しています。

次のスクリーンショットは、Get AD Groups のルールを示しています。

次のスクリーンショットは、ロールのルールを示しています。IAM の SAML プロバイダーは MyTestADFS (arn arn:aws:iam::123456789012:saml-provider/MytestADFS) という名前で作成されているため、このクレームスクリプトで同じ値 (MyTestADFS) を使用する必要があります。別の名前を使用した場合は、それを IdP ARN 名に置き換えます。

これらの 4 つのルールを作成すると、ADFS 証明書信頼のセットアップが完了します。

IdP の確認

IdP が正常にセットアップされたことを確認するには、次の手順を実行します。

  1. ADFS サーバーの Windows インスタンスのブラウザで次の URL に移動します (Windows サーバーのホスト名を使用します)。https://<windows-hostname>/adfs/ls/IdpInitiatedSignOn.aspx

  1. ADFS 表示名 (My Amazon Portal) を選択します。

  1. 以前に作成したユーザー myldapuser1 の AD 認証情報を入力します。

このデモのドメイン名は arunad.local であるため、ユーザー名を ARUNAD\myldapuser1 として指定するか、myldapuser@arunad.local として指定できます。

すべてが成功すると、AWS マネジメントコンソールにサインインできるはずです。

エラーが発生した場合は、前の手順を確認してください。SAML での一般的なエラーの詳細については、「AWS での SAML 2.0 フェデレーションのトラブルシューティング」を参照してください。トラブルシューティングの詳細については、「トラブルシューティングのためにブラウザで SAML レスポンスを確認する方法」を参照してください。

ADFS サーバーへの接続を開始するときに、Athena ODBC/JDBC ドライバーも同じフェデレーション URL (https://<windows-hostname>/adfs/ls/IdpInitiatedSignOn.aspx) を使用して、SAML アサーション AWS プロパティを取得します。

Amazon EC2 Linux インスタンスに Athena ODBC ドライバー 1.0.5 をインストールし、ADFS を使用するように設定する

ADFS 3.0 を設定し、AWS との信頼をセットアップしたので、最後のステップは、認証メカニズムとして ADFS を使用するように Athena ODBC ドライバーを設定することです。

前提条件に従って、Active Directory Windows EC2 インスタンスと Athena ODBC ドライバー Linux (RHEL) EC2 インスタンスを同じ VPC とサブネットで起動し、両方のインスタンス間のすべてのトラフィックを許可しました。ただし、ご使用の環境では、ADFS サーバーが Athena JDBC/ODBC がインストールされているマシンと通信できることを確認する必要があります。

この記事では、(Linux EC2 を起動する) VPC の DHCP オプションセットのドメインネームサーバーが次のように変更されています。172.31.XX, AmazonProvidedDNS。ここで 172.31.XX は、ADFS がドメイン名 arunad.local で設定されている EC2 Windows インスタンスの IP アドレスです。

EC2 インスタンスに環境を設定する

ご使用の環境を設定するには、次の手順を実行します。

  1. Red Hat Enterprise Distribution をサポートする AMI を使用して Linux EC2 インスタンスを起動します (たとえば、RHEL-7.6_HVM_GA-20181017-x86_64-0-Hourly2-GP2 を備えた AMI)。
  2. SSH をインスタンスに入力し、次のコマンドを入力します。
sudo yum install telnet
sudo yum install nc
sudo yum install gcc
sudo yum install wget
sudo yum install vim
  1. 選択したネットワークツールを使用して、ADFS サーバーと RHEL EC2 インスタンス間の接続を確認します。

この記事では、ping ユーティリティを使用しています。次のコードは出力を示しています。

  1. open-ldap クライアントをインストールし、この Linux インスタンスから AD でユーザーを検索できるかどうかをテストします (値をユーザー名とドメイン名に置き換えます)。
sudo yum install openldap-clients
ldapsearch -h arunad.local -p 389 -D "CN=mylapuser1,CN=Users,DC=arunad,DC=local" -x -W -b "DC=arunad,DC=local"

このコマンドが成功すると、RHEL EC2 インスタンスは AD サーバーと通信し、認証情報を取得できます。

UnixODBC Driver Manager 2.3.4 のインストールと設定

Linux 上の Athena ODBC ドライバーでは、接続をセットアップするには、次の ODBC ドライバーマネージャーのいずれかがインストールされている必要があります。

  • iODBC 3.52.9、3.52.10、3.52.11、または 3.52.12
  • unixODBC 2.3.2、2.3.3、または 2.3.4
  1. UnixODBC ドライバーマネージャー 2.3.4 を RHEL EC2 インスタンスにインストールします。手順については、Beyond Linux From Scratch ウェブサイトの「unixODBC-2.3.4」を参照してください。

EC2 インスタンスへのインストールに必要なコマンドは、次のコードのようになります。

wget ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.4.tar.gz
tar -zxvf unixODBC-2.3.4.tar.gz
cd unixODBC-2.3.4
./configure --prefix=/usr --sysconfdir=/etc/unixODBC && make
  1. root ユーザーに切り替えて、ODBC Driver Manager をインストールします。次のコードを参照してください。
sudo -su root

make install &&

find doc -name "Makefile*" -delete                &&
chmod 644 doc/{lst,ProgrammerManual/Tutorial}/*   &&

install -v -m755 -d /usr/share/doc/unixODBC-2.3.4 &&
cp      -v -R doc/* /usr/share/doc/unixODBC-2.3.4

  1. ODBC ドライバーマネージャーをインストールした後、次のファイルが存在することを確認します。このファイルがあれば、RHEL EC2 インスタンスに ODBC ドライバーマネージャーが正常にインストールされています。
    • /etc/unixODBC/odbcinst.ini
    • /etc/unixODBC/odbc.ini
  1. インストールの一部として作成された ODBC ドライバーマネージャーライブラリファイルは、パス /usr/lib にあります。非ルートユーザーとして次のコマンドを入力して、共有ライブラリパスを設定して、ODBC Driver Manager ライブラリをポイントします。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib

  1. コード odbcinst -j を入力して、ODBC Driver Manager 環境設定が正しくロードされていることを確認します。

Simba Athena ODBC Driver Manager (64 ビット) のインストールと設定

ODBC ドライバーマネージャーが設定されたので、最後の手順は、Athena ODBC ドライバー 1.0.5 をこの Linux インスタンスにインストールし、ADFS を認証メカニズムとして使用するように設定することです。

  1. この EC2 インスタンスに Athena ODBC ドライバーをインストールするには、次のコードを入力します。
wget https://s3.amazonaws.com/athena-downloads/drivers/ODBC/SimbaAthenaODBC_1.0.5/Linux/simbaathena-1.0.5.1006-1.x86_64.rpm

sudo yum --nogpgcheck localinstall simbaathena-1.0.5.1006-1.x86_64.rpm

ダウンロードしたドライバーのサンプル ODBC 設定ファイルは、パス /opt/simba/athenaodbc/Setup/odbc.ini に含まれています。

  1. 認証メカニズムとして ADFS を使用するように ODBC ドライバーを設定するには、ec2-user としてログインし、次のコードを入力します。

vim .odbc.ini

  1. 次の設定ディレクティブを挿入します。
[ODBC]
Trace=no

[ODBC Data Sources]
Simba Athena 64-bit=Simba Athena ODBC Driver 64-bit


[Simba Athena 64-bit]
Description=Simba Athena ODBC Driver (64-bit) DSN
Driver=/opt/simba/athenaodbc/lib/64/libathenaodbc_sb64.so


# Connection configurations should be set here.
AwsRegion=us-west-2
Schema=default
S3OutputLocation=s3://aws-athena-query-results-123456780912-us-west-2
AuthenticationType=ADFS
UID=ARUNAD\myldapuser1
PWD=XXXXXXXX
IdP_Host=win-qikm653mpj9.arunad.local
IdP_Port=443
SSL_Insecure=true

ADFS サーバーを指すように IdP_HostIdP_Port の値を置き換えます。この記事では、これらの値は win-qikm653mpj9.arunad.local443 です。同様に、UIDPWD を、前に作成した LDAP ユーザー名とパスワードに置き換えます。この記事では ARUNAD\myldapuser1 を使用しています。  また、環境に応じて、AwsRegionS3OutputLocation の値を置き換えます。運用ワークロードでは、ドライバーがサーバー証明書を検証できるように、SSL_Insecure を false に設定していることを確認してください。

Windows AD サーバーインスタンスの電源シェルで次のコードを入力すると、ADFS サーバーの HTTPS ポート番号を取得できます。

Get-AdfsProperties

  1. Athena ODBC ドライバーでデバッグレベルのロギングを有効にするには、ファイル /opt/simba/athenaodbc/lib/64/simba.athenaodbc.ini を編集して、次の値を設定します。
[Driver]
## - Note that this default DriverManagerEncoding of UTF-32 is for iODBC.
ErrorMessagesPath=/opt/simba/athenaodbc/ErrorMessages
LogLevel=5
LogPath=/home/ec2-user/odbclogs/
SwapFilePath=/tmp
  1. Athena ODBC ドライバーが設定されたので、次のコードを入力してテストできます。

isql -v "Simba Athena 64-bit"

上記のコードで、Simba Athena 64-bit は、ODBC ドライバーへの接続中に /home/ec2-user/.odbc.ini で指定した DSN の名前を指します。

接続している場合は、ADFS に対してユーザーを認証することにより、Athena ODBC ドライバーマネージャーに正常に接続したことを意味します。

接続ログを確認して、ドライバーが使用する接続 URI と ADFS から Athena ODBC ドライバーに返される値を確認することもできます。

接続ログスニペットからのエントリは次のようになります。

May 09 01:40:58.761 DEBUG 50743104 IAMAdfsCredentialsProvider::FormBasedAuthentication: verifySSL: false
May 09 01:40:58.761 DEBUG 50743104 IAMAdfsCredentialsProvider::FormBasedAuthentication: Using URI: https://win-qikm653mpj9.arunad.local:443/adfs/ls/IdpInitiatedSignOn.aspx?loginToRp=urn:amazon:webservices
May 09 01:40:58.821 DEBUG 50743104 IAMSamlPluginCredentialsProvider::GetAWSCredentialsWithSaml: Using RoleArn: arn:aws:iam::143280751103:role/ArunADFSTest, PrincipalArn: arn:aws:iam::143280751103:saml-provider/MytestADFS

まとめ

この記事では、Active Directory で ADFS 3.0 を設定し、それを IdP として使用して、SAML を使用して AWS にフェデレーションする方法を示しました。また、Athena ODBC ドライバーを ADFS に統合し、Active Directory の認証情報を直接使用して Athena に接続する方法も示しました。Active Directory と Athena ODBC ドライバーを統合すると、使い慣れた BI ツールから Athena にアクセスし、SQL を使用して Amazon S3 のデータを分析する柔軟性が得られます。個別の IAM ユーザーを作成する必要はありません。

組織で AWS へのシングルサインオン (SSO) が OKTA サービスプロバイダーを使用して有効になっている場合は、Athena JDBC ドライバーの最新バージョン、バージョン 2.0.9 を使用して、OKTA を認証メカニズムとして使用できます。詳細については、「Athena JDBC での OKTA の使用」を参照してください

ご質問やフィードバックがございましたら、コメントをお寄せください。

 


著者について

Alapati Arun は、ダラスを拠点とする AWS のクラウドサポートエンジニアです彼は、お客様がビッグデータテクノロジーを使用する際にサポートすることに力を入れています。彼の趣味は旅行や映画鑑賞です。