接続の設定
コネクタのインストール 後、Amazon Athena 内のデータのデータソースに接続して作成できます。
データソースの設定
データに接続するには、次の手順を実行してください:
- 接続 | To a Server で詳細をクリックします。
- Amazon Athena by CData というデータソースを選択します。
- 接続に必要な情報を入力します。
- サインインをクリックします。
- 必要に応じて、データベースおよびスキーマを選択して利用可能なテーブルとビューを確認できます。
Connection Builder の使用
connector は、代表的な接続プロパティをTableau 内で直接利用できるようにします。 しかし、より高度な設定が必要な場合や接続に関するトラブルシューティングが必要な場合には、使いにくいことがあります。 connector には、Tableau の外で接続を作成してテストできる、独立したConnection Builder が付属しています。
Connection Builder にアクセスする方法は2つあります。
- Windows では、スタートメニューのCData Tableau Connector for Amazon Athena フォルダの下にあるConnection Builder というショートカットを使用します。
- また、ドライバーのインストールディレクトリに移動し、lib ディレクトリで.jar ファイルを実行することによってもConnection Builder を開始できます。
Connection Builder では、接続プロパティに値を設定し、接続テストをクリックしてその動作を確認できます。 また、クリップボードにコピーボタンを使用して、接続文字列をコピーすることもできます。 この接続文字列は、Tableau 内のconnector 接続ウィンドウにあるConnection String オプションに指定できます。
Amazon Athena への接続
データに接続するには、以下の基本的な接続パラメータを指定します。- DataSource:接続するAmazon Athena データソース。
- Database:接続するAmazon Athena データベース。
- AWSRegion:Amazon Athena データがホストされているリージョン。
- S3StagingDirectory:クエリの結果を保存するS3 フォルダ。
Database またはDataSource が設定されていない場合、connector はAmazon Athena の利用可能なデータソースからすべてのデータベースをリストしようと試みます。両方のプロパティを設定することでconnector のパフォーマンスが向上します。
Amazon Athena への認証
CData Tableau Connector for Amazon Athena は幅広い認証オプションに対応しています。以下のセクションで、各オプションについて説明します。AWS キーを取得
IAM ユーザーの認証情報を取得するには:- IAM コンソールにサインインします。
- ナビゲーションペインでユーザーを選択します。
- ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してからセキュリティ認証情報タブに移動します。
- ルートアカウントの認証情報を使用してAWS 管理コンソールにサインインします。
- アカウント名または番号を選択します。
- 表示されたメニューでMy Security Credentials を選択します。
- ルートアカウントのアクセスキーを管理または作成するには、Continue to Security Credentials をクリックし、[Access Keys]セクションを展開します。
ルートクレデンシャル
アカウントのルートクレデンシャルで認証するには、次のパラメータを設定します。
- AuthScheme:AwsRootKeys。
- AWSAccessKey:AWS ルートアカウントに紐づいているアクセスキー。
- AWSSecretKey:AWS ルートアカウントに紐づいているシークレットキー。
Note:Amazon は、単純なテスト以外にはこの認証スキームの使用を推奨していません。アカウントのルート認証情報はユーザーの完全な権限を持つため、これが最も安全性の低い認証方法になります。
多要素認証が必要な場合は、以下を指定します。
- CredentialsLocation:MFA クレデンシャルが保存される設定ファイルの場所。詳しくは、接続文字列オプションのCredentials File Location のページを参照してください。
- MFASerialNumber:MFA デバイスが使用されている場合は、そのシリアル番号。
- MFAToken:MFA デバイスから利用できる一時トークン。
Note: 一時的な認証情報の有効期間(デフォルトは3600秒)を制御するには、TemporaryTokenDuration プロパティを設定します。
一時クレデンシャル
一時クレデンシャルで認証するには、次を設定します。
- AuthScheme:TemporaryCredentials。
- AWSAccessKey:ロールを担うIAM ユーザーのアクセスキー。
- AWSSecretKey:ロールを担うIAM ユーザーのシークレットキー。
- AWSSessionToken:一時クレデンシャルと共に提供されるAWS のセッショントークン。 詳細はAWS Identity and Access Management ユーザーガイド を参照してください。
connector は、一時クレデンシャルの有効期間中、長期的な認証情報(IAM ユーザー認証情報など)によって提供されるものと同じ権限を使用してリソースをリクエストできるようになりました。
一時クレデンシャルおよびIAM ロールの両方を使用して認証するには、上記のすべてのパラメータを設定し、さらに以下のパラメータを指定します。
- AWSRoleARN:認証したいロールのRole ARN。これにより、connector は指定されたロールの認証情報を取得しようと試みます。
- AWSExternalId(オプション):別のAWS アカウントでロールを引き受ける場合にのみ必要です。
多要素認証が必要な場合は、以下を指定します。
- CredentialsLocation:MFA クレデンシャルが保存される設定ファイルの場所。詳しくは、接続文字列オプションのCredentials File Location のページを参照してください。
- MFASerialNumber:MFA デバイスが使用されている場合は、そのシリアル番号。
- MFAToken:MFA デバイスから利用できる一時トークン。
Note: 一時的な認証情報の有効期間(デフォルトは3600秒)を制御するには、TemporaryTokenDuration プロパティを設定します。
EC2 インスタンスからのAWS の使用
AuthScheme をAwsEC2Roles に設定します。
EC2 インスタンスからconnector を使用していて、そのインスタンスにIAM ロールが割り当てられている場合は、 認証にIAM ロールを使用できます。connector は自動的にIAM ロールの認証情報を取得し、それらを使って認証するため、AWSAccessKey およびAWSSecretKey を指定する必要はありません。
認証にIAM ロールも使用している場合は、さらに以下を指定する必要があります。
- AWSRoleARN:認証したいロールのRole ARN を指定。これにより、connector は指定されたロールの認証情報を 取得しようと試みます。
- AWSExternalId(オプション):別のAWS アカウントでロールを引き受ける場合にのみ必要です。
IMDSv2 サポート
Amazon Athena connector は、IMDSv2 をサポートしています。IMDSv1 とは異なり、新バージョンでは認証トークンが必須です。エンドポイントおよびレスポンスは、両バージョンで同じです。
IMDSv2 では、Amazon Athena connector はまずIMDSv2 メタデータトークンの取得を試み、それを使用してAWS メタデータエンドポイントを呼び出します。トークンを取得できない場合、connector はIMDSv1 を使用します。
AWS Web Identity
AuthScheme をAwsWebIdentity に設定します。
Web ID でロールを割り当てられるように構成されたコンテナ(OpenID Provider を持つEKS クラスタ内のPod など)からAmazon Athena を使用する場合、またはIAM ロールに関連付けられたWeb ID プロバイダーで認証する場合(ID トークンを取得する場合)、Web ID トークンとIAM ロールの情報を一時的なセキュリティ認証情報と交換し、AWS サービスを認証してアクセスすることができます。
コンテナの環境変数にAWS_ROLE_ARN とAWS_WEB_IDENTITY_TOKEN_FILE が指定されている場合、Amazon Athena は自動的に認証情報を取得します。
AWSRoleARN とAWSWebIdentityToken の両方を指定することで、AssumeRoleWithWebIdentity API 操作を実行して認証することもできます。
AWS IAM Roles
AWS 経由で認証するには、AuthScheme をAwsIAMRoles に設定します。
AWS ロールとして認証するには、次のプロパティを設定します。
- AWSAccessKey:ロールを担うIAM ユーザーのアクセスキー。
- AWSSecretKey:ロールを担うIAM ユーザーのシークレットキー。
- AWSRoleARN:認証したいロールのRole ARN を指定。これにより、connector は指定されたロールの認証情報を 取得しようと試みます。
- AWSExternalId(オプション):別のAWS アカウントでロールを引き受ける場合にのみ必要です。
多要素認証が必要な場合は、以下を指定します。
- CredentialsLocation:MFA クレデンシャルが保存される設定ファイルの場所。詳しくは、接続文字列オプションのCredentials File Location のページを参照してください。
- MFASerialNumber:MFA デバイスが使用されている場合は、そのシリアル番号。
- MFAToken:MFA デバイスから利用できる一時トークン。
Note: 一時的な認証情報の有効期間(デフォルトは3600秒)を制御するには、TemporaryTokenDuration プロパティを設定します。
Note:状況によっては、AWS ルートユーザーのダイレクトなセキュリティ認証情報よりも、IAM ロールを使用して認証する方が望ましい場合があります。AWS ルートユーザーのAWSAccessKey およびAWSSecretKey を指定している場合、ロールは使用できません。
ADFS
ADFS に接続するには以下のプロパティを設定します。
- AuthScheme:ADFS。
- User:認証するADFS ユーザー。
- Password:認証するADFS ユーザーのパスワード。
- SSOLoginURL:SSO プロバイダーのログインURL。
接続文字列の例:
AuthScheme=ADFS; AWSRegion=Ireland; Database=sampledb; [email protected]; Password=CH8WerW121235647iCa6; SSOLoginURL='https://adfs.domain.com'; AWSRoleArn=arn:aws:iam::1234:role/ADFS_SSO; AWSPrincipalArn=arn:aws:iam::1234:saml-provider/ADFSProvider; S3StagingDirectory=s3://athena/staging;
Okta
Okta に接続するには以下のプロパティを設定します。
- AuthScheme:Okta。
- User:認証するOkta ユーザー。
- Password:認証するOkta ユーザーのパスワード。
- SSOLoginURL:SSO プロバイダーのログインURL。
Okta クライアントリクエストコンテキストをオーバーライドする信頼されたアプリケーションまたはプロキシのいずれかを使用する場合、またはMFA を設定している場合は、Okta を使用して認証するためにSSOProperties を組み合わせて使用する必要があります。必要に応じて、以下のいずれかを設定します。
- APIToken:Okta クライアントリクエストコンテキストをオーバーライドする、信頼されたアプリケーションまたはプロキシ経由でユーザーを認証する場合、これを顧客がOkta 組織で作成したAPI Token に設定します。
- MFAType:MFA フローを設定した場合、次の対応するタイプのいずれかに設定します:OktaVerify、Email、またはSMS。
- MFAPassCode:MFA フローを設定した場合は、有効なパスコードに設定します。
これを空欄または無効な値に設定した場合、connector はユーザーのデバイスまたはE メールにワンタイムパスワードチャレンジを発行します。パスコードを受信後、取得したワンタイムパスワードをMFAPassCode 接続プロパティに設定する接続を再度開きます。 - MFARememberDevice:デフォルトはTrue です。Okta は、MFA が必要な場合にデバイスを記憶させることをサポートします。設定された認証ポリシーに従ってデバイスの記憶が許可されている場合、connector はMFA 認証の有効期間を延長するデバイストークンを送信します。MFA を記憶させない場合は、この 変数をFalse に設定してください。
接続文字列の例:
AuthScheme=Okta; AWSRegion=Ireland; Database=sampledb; [email protected]; Password=CH8WerW121235647iCa6; SSOLoginURL='https://cdata-us.okta.com/home/amazon_aws/0oa35m8arsAL5f5NrE6NdA356/272'; SSOProperties='ApiToken=01230GGG2ceAnm_tPAf4MhiMELXZ0L0N1pAYrO1VR-hGQSf;'; AWSRoleArn=arn:aws:iam::1234:role/Okta_SSO; AWSPrincipalARN=arn:aws:iam::1234:saml-provider/OktaProvider; S3StagingDirectory=s3://athena/staging;
PingFederate
PingFederate に接続するには、次のプロパティを設定します。- AuthScheme:PingFederate。
- User:認証するPingFederate ユーザー。
- Password:認証するユーザーのPingFederate パスワード。
- SSOLoginURL:SSO プロバイダーのログインURL。
- AWSRoleARN(オプション):複数のロールARN がある場合は、認可に使用するARN を指定します。
- AWSPrincipalARN(オプション):複数のプリンシパルARN がある場合は、認可に使用するARN を指定します。
- SSOExchangeURL: The Partner Service Identifier URI configured in your PingFederate server instance under: SP Connections > SP Connection > WS-Trust > Protocol Settings. This should uniquely identify a PingFederate SP Connection, so it is a good idea to set it to your AWS SSO ACS URL. You can find it under AWS SSO > Settings > View Details next to the Authentication field.
- SSOProperties(オプション):Amazon S3へのリクエストにユーザー名とパスワードを認可ヘッダーとして含める場合は、Authscheme=Basic に設定します。
SSOLoginURL 用の相互SSL 認証(WS-Trust STS エンドポイント)を有効化するには、次の SSOProperties を設定します。
接続文字列の例:
authScheme=pingfederate;SSOLoginURL=https://mycustomserver.com:9033/idp/sts.wst;SSOExchangeUrl=https://us-east-1.signin.aws.amazon.com/platform/saml/acs/764ef411-xxxxxx;user=admin;password=PassValue;AWSPrincipalARN=arn:aws:iam::215338515180:saml-provider/pingFederate;AWSRoleArn=arn:aws:iam::215338515180:role/SSOTest2;AWSRegion=Ireland;S3StagingDirectory=s3://somedirectory/staging;Database=athenadatabase;
クレデンシャルファイル
認証には、AccessKey / SecretKey 認証、一時クレデンシャル、ロール認証、またはMFAに関連する設定を含む、任意のクレデンシャルファイルを使用できます。
このためには、以下のプロパティを設定します。
- AuthScheme:AwsCredentialsFile。
- AWSCredentialsFile:クレデンシャルファイルの場所。
- AWSCredentialsFileProfile(オプション):指定したクレデンシャルファイルから使用するプロファイルの名前。指定しない場合は、default という名前のプロファイルが使用されます。
AWS Cognito クレデンシャル
AWS Cognito のユーザープールに登録されたユーザーでconnector を使用する場合は、以下のプロパティを設定します。
- AuthScheme:AwsCognitoSrp(推奨)またはAwsCognitoBasic のいずれか。
- AWSCognitoRegion:ユーザープールのリージョン。
- AWSUserPoolId:ユーザープールのID。
- AWSUserPoolClientAppId:ユーザープールのアプリクライアントID。
- AWSUserPoolClientAppSecret:ユーザープールのクライアントシークレット。
- AWSIdentityPoolId:ユーザープールとリンクしているID プールのID。
- User:ユーザープールに登録されているユーザーのユーザー名。
- Password:ユーザープールに登録されているユーザーのパスワード。
AWS DataZone IDC
If you want to use the connector with DataZone IDC, set these properties:
- AuthScheme: AwsDataZoneIDC
- InitiateOAuth: GetAndRefresh to enable browser pop-up.
- AWSDataZoneDomainRegion: The DataZone region.
- AWSDataZoneDomainId: The DataZone domain ID.
- AWSDataZoneEnvironmentId: The DataZone environment ID.
- AWSIdentityCenterIssuerUrl: The AWS IDC Issuer URL.
- Workgroup: Optional, based on configured permissions.
Azure Active Directory
Note:Microsoft はAzure AD をEntra ID にリブランドしました。ユーザーがEntra ID 管理サイトを操作する必要があるトピックでは、Microsoft が使用している名称と同じものを使用します。ただし、名前または値が"Azure AD" を参照しているCData 接続プロパティは、依然として存在します。
この構成はOAuth 2.0 On-Behalf-Of フロー(Microsoft identity platform and OAuth 2.0 On-Behalf-Of flow)を使用し、次の2つのMicrosoft Entra アプリケーションを必要とします:
- シングルサインオンに使用されるAmazon Athena アプリケーション
- Amazon Athena アプリケーションに対するuser_impersonation 権限を持つ別の"コネクタ" アプリケーション。
SSO アプリケーションの作成
Microsoft のAWS Single-Account Access ドキュメントに記載されている手順に従って、SSO アプリケーションを作成し、AWS シングルアカウントアプリケーションのSAML IdP としてMicrosoft Entra ID を設定します。SSO アプリケーションにuser_impersonation 権限を持つアプリケーションを作成するには、以下の手順に従ってください。
- クラウドアプリケーション管理者以上の権限でMicrosoft Entra 管理センターにサインインします。
- ID -> Applications -> アプリの登録に移動します。
- ページ上部の新規登録をクリックします。
- 名前を入力し、サポートされているアカウントの種類を適宜選択します。
- リダイレクトURL ドロップダウンでWeb を選択し、http://localhost:33333 と入力します。
- 登録を選択します。
- "Overview" セクションに、OAuthClientId(アプリケーションID)が表示されます。
- API のアクセス許可 -> アクセス許可の追加を選択します。
- [所属する組織で使用しているAPI] タブでAPI 名またはアプリケーションID を指定してSSO アプリケーションのAPI を選択します。
- 利用可能なアクセス許可のリストからuser_impersonation を選択します。
- アクセス許可の追加を選択します。
- 証明書とシークレットを選択します。
- 新しいクライアントシークレットを選択します。
- オプションで、説明を入力してデフォルトの有効期限を変更し、追加を選択します。
- クライアントシークレット(表示されるOAuth シークレットの[値]フィールド)を控えておきます。
- OAuthClientId:アプリケーション登録の概要セクションにリストされている、コネクタアプリケーションのアプリケーションId。
- OAuthClientSecret:コネクタアプリケーションのクライアントシークレット値。新しいクライアントシークレットを作成すると、Azure AD にこれが表示されます。
- CallbackURL:コネクタアプリケーションのリダイレクトURI に設定。例:https://localhost:33333。
- InitiateOAuth:GETANDREFRESH。
以下のSSO プロパティを使用して、AzureAD へ認証します。
- Resource:アプリケーション登録の概要セクションにリストされている、Amazon Athena アプリケーションのアプリケーションId URI。ほとんどの場合、これはカスタムAmazon Athena ドメインのURL です。
- AzureTenant:アプリケーションが登録されているAzure AD テナントのId。
接続文字列の例:
AuthScheme=AzureAD;InitiateOAuth=GETANDREFRESH;OAuthClientId=3ea1c786-d527-4399-8c3b-2e3696ae4b48;OauthClientSecret=xxx;CallbackUrl=https://localhost:33333;SSOProperties='Resource=https://signin.aws.amazon.com/saml;AzureTenant=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx';
次のステップ
データビジュアライゼーションを作成するには、コネクタの使用 を参照してください。