View a markdown version of this page

ブラウザの信頼できる ID 伝播認証情報 - Amazon Athena

ブラウザの信頼できる ID 伝播認証情報

この認証タイプでは、外部 ID プロバイダーから新規の JSON Web トークン (JWT) を取得して Athena で認証できます。このプラグインを使用すると、信頼できる ID の伝播による企業 ID のサポートを有効にすることができます。ドライバーで信頼できる ID の伝播を使用する方法の詳細については、「Amazon Athena ドライバーで信頼できる ID の伝播を使用する」を参照してください。CloudFormation を使用してリソースを設定およびデプロイすることもできます。

信頼できる ID の伝播では、ID コンテキストが IAM ロールに追加され、AWS リソースへのアクセスをリクエストするユーザーを識別します。信頼できる ID の伝播の有効化と使用方法の詳細については、「信頼できる ID の伝播とは」を参照してください。

注記

このプラグインは、シングルユーザーデスクトップ環境向けに特別に設計されています。Windows Server などの共有環境では、システム管理者がユーザー間のセキュリティ境界を確立して維持する責任を負います。

認証タイプ

接続文字列名 パラメータタイプ デフォルト値: 接続文字列の例
AuthenticationType 必須 none AuthenticationType=BrowserOidcTip;

IDP well known configuration URL

IDP Well Known Configuration URL は、ID プロバイダーの OpenID Connect 設定の詳細を提供するエンドポイントです。この URL は通常、.well-known/openid-configuration で終わり、認証エンドポイント、サポートされている機能、トークン署名キーに関する必須メタデータが含まれています。たとえば、Okta を使用している場合、URL は https://your-domain.okta.com/.well-known/openid-configuration のようになります。

トラブルシューティング:接続エラーが発生した場合は、この URL がネットワークからアクセス可能なものであり、有効な OpenID Connect 設定 JSON を返すことを確認します。URL は、ドライバーがインストールされているクライアントが到達できるものでなければならず、ID プロバイダーの管理者から提供される必要があります。

接続文字列名 パラメータタイプ デフォルト値: 接続文字列の例
IdpWellKnownConfigurationUrl 必須 none IdpWellKnownConfigurationUrl=https://<your-domain>/.well-known/openid-configuration;

クライアント識別子

OpenID Connect プロバイダーがアプリケーションに対して発行したクライアント識別子。

接続文字列名 パラメータタイプ デフォルト値: 接続文字列の例
client_id 必須 none client_id=00001111-aaaa-2222-bbbb-3333cccc4444;

ワークグループ ARN

信頼できる ID の伝搬設定タグを含む Amazon Athena ワークグループの Amazon リソースネーム(ARN)。ワークグループの詳細については、「ワークグループ」を参照してください。

注記

このパラメータは、クエリの実行場所を指定する Workgroup パラメータとは異なります。次の両方のパラメータを設定する必要があります。

  • WorkgroupArn - 信頼できる ID の伝搬設定タグを含むワークグループを指す

  • Workgroup - クエリを実行するワークグループを指定する

これらは通常、同じワークグループを参照しますが、適切なオペレーションのために両方のパラメータを明示的に設定する必要があります。

接続文字列名 パラメータタイプ デフォルト値: 接続文字列の例
WorkGroupArn 必須 none WorkgroupArn=arn:aws:athena:us-west-2:111122223333:workgroup/primary

JWT アプリケーションロール ARN

JWT 交換で継承されるロールの ARN。このロールは、JWT 交換、ワークグループタグによる IAM Identity Center カスタマーマネージドアプリケーション ARN の取得、アクセスロール ARN の取得に使用されます。ロールの引き受けの詳細については、「AssumeRole」を参照してください。

接続文字列名 パラメータタイプ デフォルト値: 接続文字列の例
ApplicationRoleArn 必須 none ApplicationRoleArn=arn:aws:iam::111122223333:role/applicationRole;

ロールセッション名

IAM セッションの名前。どのようなものでもかまいませんが、通常は、アプリケーションを使用するユーザーに関連付けられている名前または識別子を渡します。そうすると、アプリケーションが使用する一時的なセキュリティ認証情報は、そのユーザーに関連付けられます。

接続文字列名 パラメータタイプ デフォルト値: 接続文字列の例
role_session_name 必須 none role_session_name=familiarname;

クライアントシークレット

クライアントシークレットは、アプリケーションの認証に利用している ID プロバイダーによって発行された機密キーです。このパラメータはオプションであり、すべての認証フローに必須ではない場合がありますが、使用するとセキュリティレイヤーが追加されます。IDP 設定にクライアントシークレットが必要な場合は、ID プロバイダー管理者から提供された値をこのパラメータに含める必要があります。

接続文字列名 パラメータタイプ デフォルト値: 接続文字列の例
client_secret オプションです。 none client_secret=s0m3R@nd0mS3cr3tV@lu3Th@tS3cur3lyPr0t3ct5Th3Cl13nt;!

スコープ

スコープでは、アプリケーションが ID プロバイダーに要求するアクセス権限のレベルを指定します。重要なユーザー ID クレームを含む ID トークンを受け取るには、openid をスコープに含める必要があります。ID プロバイダー(Microsoft Entra ID など)が ID トークンに含めるように設定されているユーザークレームによっては、emailprofile などの追加のアクセス許可をスコープに含める必要がある場合があります。これらのクレームは、適切な「信頼できる ID の伝搬」マッピングに不可欠です。ユーザー ID マッピングが失敗した場合、必要なすべてのアクセス許可がスコープに含まれており、必要なクレームを ID トークンに含めるように ID プロバイダーが設定されていることを確認します。これらのクレームは、IAM アイデンティティセンターの「信頼できるトークン発行者」マッピング設定と一致する必要があります。

接続文字列名 パラメータタイプ デフォルト値: 接続文字列の例
スコープ オプションです。 openid email offline_access Scope=openid email;

セッション期間

ロールセッションの期間 (秒)。詳細については、「AssumeRoleWithWebIdentity」を参照してください。

接続文字列名 パラメータタイプ デフォルト値: 接続文字列の例
duration オプションです。 3600 duration=900;

JWT アクセスロール ARN

Athena がユーザーに代わって呼び出しを行うために引き受けるロールの ARN。引き受けるロールの詳細については、「AWS Security Token Service API リファレンス」の「AssumeRole」を参照してください。

接続文字列名 パラメータタイプ デフォルト値: 接続文字列の例
AccessRoleArn オプションです。 none AccessRoleArn=arn:aws:iam::111122223333:role/accessRole;

IAM Identity Center カスタマーマネージドアプリケーション ARN

IAM Identity Center カスタマーマネージド IDC アプリケーションの ARN。カスタマーマネージドアプリケーションの詳細については、「カスタマーマネージドアプリケーション」を参照してください。

接続文字列名 パラメータタイプ デフォルト値: 接続文字列の例
CustomerIdcApplicationArn オプションです。 none CustomerIdcApplicationArn=arn:aws:sso::111122223333:application/ssoins-111122223333/apl-111122223333;

ID プロバイダーのポート番号

OAuth 2.0 コールバックサーバーに使用するローカルポート番号。これは redirect_uri として使用されます。これを IDP アプリケーションの許可リストに登録する必要があります。デフォルトで生成される redirect_uri は、http://localhost:7890/athena です。

警告

Windows ターミナルサーバーやリモートデスクトップサービスなどの共有環境では、ループバックポート(デフォルト:7890)は同一マシン上のすべてのユーザー間で共有されます。システム管理者は、潜在的なポートハイジャックリスクを以下の方法で軽減できます。

  • ユーザーグループごとに異なるポート番号を設定する

  • Windows セキュリティポリシーを使用してポートアクセスを制限する

  • ユーザーセッション間のネットワーク分離を実装する

これらのセキュリティコントロールを実装できない場合は、ループバックポートを必要としない「JWT の信頼できる ID の伝搬」プラグインの使用をお勧めします。

接続文字列名 パラメータタイプ デフォルト値: 接続文字列の例
listen_port オプションです。 7890 listen_port=8080;

ID プロバイダーの応答タイムアウト

OAuth 2.0 コールバック応答を待機するタイムアウト(秒単位)。

接続文字列名 パラメータタイプ デフォルト値: 接続文字列の例
IdpResponseTimeout オプションです。 120 IdpResponseTimeout=140;

ファイルキャッシュを有効にする

JwtTipFileCache パラメータは、ドライバーが接続間で認証トークンをキャッシュするかどうかを決定します。JwtTipFileCache を true に設定すると、認証プロンプトが減るのでユーザーエクスペリエンスが向上しますが、慎重に使用する必要があります。この設定は、シングルユーザーデスクトップ環境に最適です。Windows Server などの共有環境では、同様の接続文字列を持つユーザー間でのトークン共有を予防するために、これを無効にしておくことをお勧めします。

PowerBI Server などのツールを使用したエンタープライズデプロイの場合は、この認証方法の代わりに「JWT の信頼できる ID の伝搬」プラグインを使用することをお勧めします。

接続文字列名 パラメータタイプ デフォルト値: 接続文字列の例
JwtTipFileCache オプションです。 0 JwtTipFileCache=1;