Amazon Redshift 用のネイティブ ID プロバイダー (IdP) フェデレーション
Amazon Redshift の ID とアクセス許可の管理は、既存の ID プロバイダーを活用して認証とアクセス許可の管理を簡素化するため、ネイティブ ID プロバイダーフェデレーションを使用することで簡単になります。これは、ID プロバイダーから Redshift に ID メタデータを共有できるようにすることで実現します。この機能の最初のイテレーションでは、サポートされる ID プロバイダーは Microsoft Azure Active Directory (Azure AD)
サードパーティーの ID プロバイダーからの ID を認証できるように Amazon Redshift を設定するには、ID プロバイダーを Amazon Redshift に登録します。これにより、Redshift は ID プロバイダーによって定義されたユーザーとロールを認証できます。したがって、アイデンティティ情報が共有されるため、サードパーティ ID プロバイダーと Amazon Redshift の両方できめ細かなアイデンティティ管理を実行する必要がなくなります。
ID プロバイダー (IdP) グループから転送されるセッションロールの使用の詳細については、「Amazon Redshift データベースデベロッパーガイド」の「PG_GET_SESSION_ROLES」を参照してください。
ネイティブ ID プロバイダー (IdP) フェデレーション
ID プロバイダーと Amazon Redshift の間の事前設定を完了するには、いくつかの手順を実行します。まず、Amazon Redshift をサードパーティーアプリケーションとして ID プロバイダーに登録し、必要な API アクセス許可を要求します。次に、ID プロバイダーでユーザーとグループを作成します。最後に、ID プロバイダーに固有の認証パラメータを設定する SQL ステートメントを使用して、ID プロバイダーを Amazon Redshift に登録します。Redshift に ID プロバイダーを登録する一環として、ユーザーおよびロールが正しくグループ化されていることを確認するために名前空間を割り当てます。
Amazon Redshift に登録された ID プロバイダーでは、Redshift と ID プロバイダー間の通信が設定されます。その後、クライアントはトークンを渡し、ID プロバイダーエンティティとして Redshift に認証できます。Amazon Redshift は、IdP グループのメンバーシップ情報を使用して Redshift ロールにマッピングします。ユーザーが Redshift にまだ存在しない場合、ユーザーが作成されます。ID プロバイダーグループが存在しない場合は、それらにマップするロールが作成されます。Amazon Redshift 管理者はロールに対するアクセス許可を付与し、ユーザーはクエリを実行したり、他のデータベースタスクを実行したりできます。
次の手順では、ユーザーがログインしたときにネイティブ ID プロバイダーフェデレーションがどのように機能するかを概説します。
-
ユーザーがネイティブ IdP オプションを使用してログインすると、ID プロバイダーのトークンがクライアントからドライバーに送信されます。
-
ユーザーは認証されます。ユーザーが Amazon Redshift に存在していない場合は、新しいユーザーが作成されます。Redshift は、ユーザーの ID プロバイダーグループを Redshift ロールにマップします。
-
権限は、ユーザーの Redshift ロールに基づいて割り当てられます。これらは、管理者によってユーザーとロールに付与されます。
-
ユーザーは Redshift をクエリできます。
デスクトップクライアントツール
ネイティブ ID プロバイダーフェデレーションを使用して Power BI で Amazon Redshift に接続する方法については、ブログ記事「Integrate Amazon Redshift native IdP federation with Microsoft Azure Active Directory (AD) and Power BI
Power BI Desktop と JDBC クライアント-SQL Workbench/J を使用して Amazon Redshift ネイティブ IdP フェデレーションを Azure AD と統合する方法については、次の動画をご覧ください。
ネイティブ ID プロバイダーフェデレーションを使用して SQL クライアント (特に DBeaver または SQL Workbench/J) で Amazon Redshift に接続する方法については、ブログ記事「Integrate Amazon Redshift native IdP federation with Microsoft Azure AD using a SQL client
制限
次のとおりの制限が適用されます。
-
Amazon Redshift ドライバーは、次のバージョンから
BrowserIdcAuthPlugin
をサポートしています。-
Amazon Redshift JDBC ドライバー v2.1.0.30
-
Amazon Redshift ODBC ドライバー v2.1.3
-
Amazon Redshift Python ドライバー v2.1.3
-
-
Amazon Redshift ドライバーは、次のバージョンから
IdpTokenAuthPlugin
をサポートしています。-
Amazon Redshift JDBC ドライバー v2.1.0.19
-
Amazon Redshift JDBC ドライバー v2.0.0.9
-
Amazon Redshift Python ドライバー v2.0.914
-
-
拡張された VPC のサポートなし – AWS IAM アイデンティティセンターで Redshift の信頼できる ID の伝播を設定する場合、拡張された VPC はサポートされません。拡張された VPC の詳細については、「Amazon Redshift の拡張された VPC ルーティング」を参照してください。
-
AWS IAM アイデンティティセンターのキャッシュ – AWS IAM アイデンティティセンターはセッション情報をキャッシュします。これにより、Redshift クエリエディタ v2 を介して Redshift データベースに接続しようとすると、予期しないアクセス問題が発生する可能性があります。これは、データベースユーザーが AWS コンソールからサインアウトした後でも、クエリエディタ v2 の関連付けられた AWS IAM アイデンティティセンターのセッションは有効なまま残るためです。キャッシュは 1 時間後に期限切れになるため、通常は、問題が修正されます。