

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)を参照してください。

# Amazon Redshift 用のネイティブ ID プロバイダー (IdP) フェデレーション
<a name="redshift-iam-access-control-native-idp"></a>

Amazon Redshift の ID とアクセス許可の管理は、既存の ID プロバイダーを活用して認証とアクセス許可の管理を簡素化するため、ネイティブ ID プロバイダーフェデレーションを使用することで簡単になります。これは、ID プロバイダーから Redshift に ID メタデータを共有できるようにすることで実現します。この機能の最初のイテレーションでは、サポートされる ID プロバイダーは [Microsoft Azure Active Directory (Azure AD)](https://azure.microsoft.com/en-us/services/active-directory/) です。

サードパーティーの ID プロバイダーからの ID を認証できるように Amazon Redshift を設定するには、ID プロバイダーを Amazon Redshift に登録します。これにより、Redshift は ID プロバイダーによって定義されたユーザーとロールを認証できます。したがって、アイデンティティ情報が共有されるため、サードパーティ ID プロバイダーと Amazon Redshift の両方できめ細かなアイデンティティ管理を実行する必要がなくなります。

ID プロバイダー (IdP) グループから転送されるセッションロールの使用の詳細については、「*Amazon Redshift データベースデベロッパーガイド*」の「[PG\$1GET\$1SESSION\$1ROLES](https://docs.aws.amazon.com/redshift/latest/dg/PG_GET_SESSION_ROLES.html)」を参照してください。

## ネイティブ ID プロバイダー (IdP) フェデレーション
<a name="redshift-iam-access-control-native-idp-login"></a>

 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 プロバイダーフェデレーションがどのように機能するかを概説します。

1. ユーザーがネイティブ IdP オプションを使用してログインすると、ID プロバイダーのトークンがクライアントからドライバーに送信されます。

1. ユーザーは認証されます。ユーザーが Amazon Redshift に存在していない場合は、新しいユーザーが作成されます。Redshift は、ユーザーの ID プロバイダーグループを Redshift ロールにマップします。

1. 権限は、ユーザーの Redshift ロールに基づいて割り当てられます。これらは、管理者によってユーザーとロールに付与されます。

1. ユーザーは Redshift をクエリできます。

## デスクトップクライアントツール
<a name="redshift-iam-access-control-native-idp-oauth"></a>

ネイティブ ID プロバイダーフェデレーションを使用して Power BI で Amazon Redshift に接続する方法については、ブログ記事「[Integrate Amazon Redshift native IdP federation with Microsoft Azure Active Directory (AD) and Power BI](https://aws.amazon.com/blogs/big-data/integrate-amazon-redshift-native-idp-federation-with-microsoft-azure-ad-and-power-bi/)」(Amazon Redshift ネイティブ IdP フェデレーションと Microsoft Azure Active Directory (AD) および Power BI を統合する) を参照してください。Azure AD を使用した Amazon Redshift ネイティブ IdP セットアップの段階的な実装について説明します。Power BI デスクトップまたは Power BI サービスのクライアント接続を設定する手順についても説明します。この手順には、アプリケーションの登録、アクセス許可の設定、認証情報の設定が含まれます。

Power BI Desktop と JDBC クライアント-SQL Workbench/J を使用して Amazon Redshift ネイティブ IdP フェデレーションを Azure AD と統合する方法については、次の動画をご覧ください。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/S3MQLvZ-NiI/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/S3MQLvZ-NiI)


ネイティブ ID プロバイダーフェデレーションを使用して SQL クライアント (特に DBeaver または SQL Workbench/J) で Amazon Redshift に接続する方法については、ブログ記事「[Integrate Amazon Redshift native IdP federation with Microsoft Azure AD using a SQL client](https://aws.amazon.com/blogs/big-data/integrate-amazon-redshift-native-idp-federation-with-microsoft-azure-ad-using-a-sql-client/)」(SQL クライアントを使用して Amazon Redshift ネイティブ IdP フェデレーションを Microsoft Azure AD と統合する) を参照してください。

## 制限事項
<a name="redshift-iam-access-control-idp-connect-limitations"></a>

次のとおりの制限が適用されます。
+  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 ルーティング](https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html)」を参照してください。
+  **AWS IAM アイデンティティセンターのキャッシュ** – AWS IAM アイデンティティセンターはセッション情報をキャッシュします。これにより、Redshift クエリエディタ v2 を介して Redshift データベースに接続しようとすると、予期しないアクセス問題が発生する可能性があります。これは、データベースユーザーが AWS コンソールからサインアウトした後でも、クエリエディタ v2 の関連付けられた AWS IAM アイデンティティセンターのセッションは有効なまま残るためです。キャッシュは 1 時間後に期限切れになるため、通常は、問題が修正されます。

# Amazon Redshift で ID プロバイダーを設定する
<a name="redshift-iam-access-control-native-idp-setup"></a>

このセクションでは、ネイティブ ID プロバイダーフェデレーションの通信を確立するように ID プロバイダーと Amazon Redshift を設定する手順を示します。ID プロバイダーの有効なアカウントが必要です。Amazon Redshift を設定する前に、Redshift をアプリケーションとして ID プロバイダーに登録し、管理者の同意を付与します。

Amazon Redshift で次の手順を完了します。

1. SQL ステートメントを実行して、Azure アプリケーションメタデータの説明を含む ID プロバイダーを登録します。ID プロバイダーを Amazon Redshift で作成するには、パラメータ値を置き換えた後に次のコマンドを実行します。*issuer*、*client\$1id*、*client\$1secret*、および *audience*。これらのパラメータは Microsoft Azure AD 固有です。ID プロバイダー名を任意の名前に置き換え、名前空間を ID プロバイダーディレクトリからユーザーとロールを含む一意の名前に置き換えます。

   ```
   CREATE IDENTITY PROVIDER oauth_standard TYPE azure
   NAMESPACE 'aad'
   PARAMETERS '{
   "issuer":"https://sts.windows.net/2sdfdsf-d475-420d-b5ac-667adad7c702/",
   "client_id":"<client_id>",
   "client_secret":"BUAH~ewrqewrqwerUUY^%tHe1oNZShoiU7",
   "audience":["https://analysis.windows.net/powerbi/connector/AmazonRedshift"]
   }'
   ```

   タイプ `azure` は、プロバイダーが特に Microsoft Azure AD との通信を容易にすることを示します。Azure は現在、唯一サポートされている ID プロバイダーです。
   + *issuer* – トークンが受信されたときに信頼する発行者 ID。*tenant\$1id* の一意の識別子が発行者に付加されます。
   + *client\$1id* – ID プロバイダーに登録されたアプリケーションの一意の公開識別子。これは、アプリケーション ID と呼びます。
   + *client\$1secret* – ID プロバイダーと登録済みアプリケーションのみが認識するシークレット識別子、またはパスワード。
   + *audience* – Azure でアプリケーションに割り当てられているアプリケーション ID。

   

   共有クライアントシークレットを使用する代わりに、ID プロバイダーを作成する場合、証明書、プライベートキー、およびプライベートキーのパスワードを指定するパラメータを設定できます。

   ```
   CREATE IDENTITY PROVIDER example_idp TYPE azure 
   NAMESPACE 'example_aad' 
   PARAMETERS '{"issuer":"https://sts.windows.net/2sdfdsf-d475-420d-b5ac-667adad7c702/", 
   "client_id":"<client_id>", 
   "audience":["https://analysis.windows.net/powerbi/connector/AmazonRedshift"], 
   "client_x5t":"<certificate thumbprint>", 
   "client_pk_base64":"<private key in base64 encoding>", 
   "client_pk_password":"test_password"}';
   ```

   プライベートキーのパスワードの *client\$1pk\$1password* は省略可能です。

1. オプション: Amazon Redshift で SQL コマンドを実行して、ユーザーとロールを事前に作成します。これにより、事前に権限を付与することが容易になります。Amazon Redshift でのロール名は次のようなものです。*<Namespace>: <GroupName on Azure AD>*。例えば、Microsoft Azure AD で名前空間が `aad` で、ロール名は `aad:rsgroup` の `rsgroup` といういうグループを作成するとします。Amazon Redshift のユーザー名とロール名は、ID プロバイダーの名前空間のこのようなユーザー名とグループメンバーシップから定義されます。

   ロールとユーザーのマッピングには、`external_id` 値が最新であることを確認する検証が含まれます。外部 ID は、ID プロバイダー内のグループまたはユーザーの識別子にマップされます。たとえば、ロールの外部 ID は、対応する Azure AD グループ ID にマップされます。同様に、各ユーザーの外部 ID は ID プロバイダーの ID にマップされます。

   ```
   create role "aad:rsgroup";
   ```

1. 要件に応じて、関連する権限をロールに付与します。例:

   ```
   GRANT SELECT on all tables in schema public to role "aad:rsgroup";
   ```

1. さらに、特定のユーザーにアクセス権限を付与することもできます。

   ```
   GRANT SELECT on table foo to aad:alice@example.com
   ```

   フェデレーション外部ユーザーのロールメンバーシップは、そのユーザーのセッションでのみ利用可能であることに注意してください。これはデータベースオブジェクト作成と密接に関連しています。例えば、フェデレーション外部ユーザーがビューやストアドプロシージャを作成した場合、その同じユーザーがそれらのオブジェクトの権限を他のユーザーやロールに委任することはできません。

**名前空間の説明**

名前空間は、ユーザーまたはロールを特定の ID プロバイダーにマッピングします。例えば、AWS IAM で作成したユーザーのプレフィックスは `iam:` です。このプレフィックスは、ユーザー名の衝突を防ぎ、複数の ID ストアをサポートできるようにします。*aad* 名前空間に登録されたアイデンティティソースからユーザー alice@example.com がログインしたが、そのユーザーが存在していない場合は Redshift でユーザー `aad:alice@example.com` が作成されます。ユーザーおよびロールの名前空間には、クラスターに関連付けられた一意の識別子であるAmazon Redshift クラスター名前空間とは異なる機能があることに注意してください。

# ID プロバイダーの Amazon Redshift ロールの自動作成
<a name="redshift-iam-access-control-native-idp-autocreate"></a>

この機能を使用すると、ID プロバイダー (IdP) からのグループメンバーシップに基づいて、Redshift でロールを自動作成できます。ロールの自動作成は、ネイティブ IdP 統合による Azure Active Directory をサポートしています。

ロールの自動作成には、いくつかの利点があります。ロールを自動作成すると、Redshift は IdP にグループメンバーシップを持つロールを作成します。これにより、面倒な手動によるロールの作成とメンテナンスを行う必要がなくなります。また、Redshift ロールにマッピングされるグループをフィルタリングすることもできます。

## 仕組み
<a name="sso-autocreate-overview"></a>

IdP ユーザーとして Redshift にログインすると、次の一連のイベントが発生します。

1. Redshift は、IdP からグループメンバーシップを取得します。

1. Redshift は、ロールの形式 `idp_namespace:rolename` を使用して、これらのグループへのロールマッピングを自動作成します。

1. Redshift は、マッピングされたロールに対するアクセス許可を付与します。

各ユーザーがログインするたびに、カタログには存在しないが、そのユーザーが所属するグループは自動作成されます。オプションで、Redshift ロールが作成された IdP グループを制御するため、含有フィルターと除外フィルターを設定できます。

## 自動作成ロールの設定
<a name="sso-autocreate-configuring"></a>

`CREATE IDENTITY PROVIDER` および `ALTER IDENTITY PROVIDER` コマンドを使用して、ロールの自動作成を有効にして設定します。

```
-- Create a new IdP with auto role creation enabled
CREATE IDENTITY PROVIDER <idp_name> TYPE azure
  NAMESPACE '<namespace>' 
  APPLICATION_ARN 'app_arn'
  IAM_ROLE 'role_arn'
  AUTO_CREATE_ROLES TRUE; 

-- Enable on existing IdP 
ALTER IDENTITY PROVIDER <idp_name>
  AUTO_CREATE_ROLES TRUE;

-- Disable  
ALTER IDENTITY PROVIDER <idp_name>
  AUTO_CREATE_ROLES FALSE;
```

## グループのフィルタリング
<a name="sso-autocreate-filtering"></a>

必要に応じて、`INCLUDE` パターンおよび `EXCLUDE` パターンを使用して、Redshift ロールにマッピングされる IdP グループをフィルタリングできます。パターンが競合した場合、`EXCLUDE` は `INCLUDE` よりも優先されます。

```
-- Only create roles for groups with 'dev' 
CREATE IDENTITY PROVIDER <idp_name> TYPE azure
  ...
  AUTO_CREATE_ROLES TRUE
  INCLUDE GROUPS LIKE '%dev%';
    
-- Exclude 'test' groups
ALTER IDENTITY PROVIDER <idp_name> 
  AUTO_CREATE_ROLES TRUE
  EXCLUDE GROUPS LIKE '%test%';
```

## 例
<a name="sso-autocreate-filtering"></a>

次の例は、フィルタリングなしでロールの自動作成を有効にする方法を示しています。

```
CREATE IDENTITY PROVIDER prod_idc TYPE azure ...
  AUTO_CREATE_ROLES TRUE;
```

次の例では、開発グループは含まれ、テストグループは除外されます。

```
ALTER IDENTITY PROVIDER prod_idc
  AUTO_CREATE_ROLES TRUE
  INCLUDE GROUPS LIKE '%dev%'
  EXCLUDE GROUPS LIKE '%test%';
```

## ベストプラクティス
<a name="sso-autocreate-bp"></a>

ロールの自動作成を有効にする場合は、次のベストプラクティスを考慮してください。
+ `INCLUDE` および `EXCLUDE` フィルターを使用して、ロールを取得するグループを制御します。
+ 定期的にロールを監査し、未使用のロールをクリーンアップします。
+ Redshift ロール階層を活用して、アクセス許可の管理を簡素化します。

# Redshift を AWS IAM アイデンティティセンターに接続してシングルサインオンエクスペリエンスを提供する
<a name="redshift-iam-access-control-idp-connect"></a>

信頼されたアイデンティティのプロパゲーションを通じて、Amazon Redshift データウェアハウスへのユーザーとグループのアクセスを管理できます。

[信頼された ID の伝播](https://docs.aws.amazon.com//singlesignon/latest/userguide/trustedidentitypropagation-overview.html)は、接続された AWS のサービス の管理者がサービスデータへのアクセスを許可および監査するために使用できる AWS IAM アイデンティティセンター 機能です。このデータへのアクセスは、グループの関連付けなどのユーザー属性に基づいています。信頼された ID の伝播を設定するには、接続された AWS のサービス の管理者と IAM アイデンティティセンターの管理者とのコラボレーションが必要です。詳細については、「[Prerequisites and considerations](https://docs.aws.amazon.com//singlesignon/latest/userguide/trustedidentitypropagation-overall-prerequisites.html)」を参照してください。

エンドツーエンドの例を説明すると、Amazon Quick ダッシュボードまたは Amazon Redshift クエリエディタ v2 を使用して Redshift にアクセスできます。この場合のアクセスは AWS IAM アイデンティティセンターグループに基づいています。Redshift は、ユーザーが誰かや、ユーザーのグループメンバーシップを判断できます。AWSIAM アイデンティティセンターを使用すると、Okta や PingOne などのサードパーティー ID プロバイダー (IdP) 経由でアイデンティティを接続して管理することもできます。

管理者は Redshift と AWS IAM アイデンティティセンター間の接続を設定した後、データへのユーザーアクセスを承認するために ID プロバイダーグループに基づいてきめ細かいアクセスを設定できます。

**重要**  
AWS IAM アイデンティティセンターまたは接続された ID プロバイダー (IdP) ディレクトリからユーザーを削除しても、該当ユーザーは Amazon Redshift カタログから自動的には削除されません。Amazon Redshift カタログからユーザーを手動で削除するには、 `DROP USER` コマンドを実行して、AWS IAM アイデンティティセンターまたは IdP から削除されたユーザーを完全に削除します。ユーザーを削除する方法の詳細については、「**Amazon Redshift データベースデベロッパーガイド」の「[DROP USER](https://docs.aws.amazon.com/redshift/latest/dg/r_DROP_USER.html)」を参照してください。

## Redshift と AWS IAM アイデンティティセンターの統合の利点
<a name="redshift-iam-access-control-idp-connect-benefits"></a>

AWS IAM アイデンティティセンターと Redshift を連携すると、組織は次のとおりの利点が得られます。
+  パスワードを再入力したり、管理者が複雑なアクセス許可を持つ IAM ロールを設定したりする必要なく、Amazon Quick のダッシュボード作成者は、Redshift データソースに接続できます。
+  AWS IAM アイデンティティセンターは、AWS のワークフォースユーザーを一元管理する場所となります。AWS IAM アイデンティティセンターを使用して、ユーザーとグループを直接作成したり、Okta、PingOne、Microsoft Entra ID (Azure AD) などの標準ベースの ID プロバイダーで管理する既存のユーザーやグループを接続したりできます。AWSIAM アイデンティティセンターは、ユーザーとグループの選択した信頼できるソースに認証を指示し、Redshift がアクセスできるようにユーザーとグループのディレクトリを管理します。詳細については、「**AWS IAM アイデンティティセンターユーザーガイド」の「[アイデンティティソースの管理](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source.html)」と「[サポートされている ID プロバイダー](https://docs.aws.amazon.com/singlesignon/latest/userguide/supported-idps.html)」を参照してください。
+ シンプルな自動検出および接続機能を使用して、単一の AWS IAM アイデンティティセンターインスタンスを複数の Redshift クラスターやワークグループと共有できます。これにより、クラスターごとに AWS IAM アイデンティティセンター接続を設定するという追加の労力を必要とせずにクラスターを迅速に追加できるようになり、すべてのクラスターとワークグループでユーザー、ユーザーの属性、グループを一貫して確認できるようになります。組織の AWS IAM アイデンティティセンターインスタンスは、接続先のすべての Redshift データ共有と同じリージョンにある必要があることに注意します。
+ ユーザー ID は既知であり、データアクセスとともに記録されるため、AWS CloudTrail でユーザーアクセスを監査することでコンプライアンス規制への対応が容易になります。

## アプリケーションの接続のための管理者ペルソナ
<a name="redshift-iam-access-control-idp-personas"></a>

分析アプリケーションを Redshift 向けの AWS IAM アイデンティティセンターマネージドアプリケーションに接続するための重要なペルソナは次のとおりです。
+ **アプリケーション管理者** – アプリケーションを作成して、アイデンティティトークンの交換ができるようになるサービスを設定します。この管理者は、アプリケーションにアクセスできるユーザーまたはグループも指定します。
+ **データ管理者** – データに対するきめ細かいアクセスを設定します。AWS IAM アイデンティティセンターのユーザーとグループは、特定のアクセス許可にマッピングされます。

## Amazon Quick を介した AWS IAM アイデンティティセンターでの Amazon Redshift への接続
<a name="redshift-iam-access-control-idp-connect-qs"></a>

Redshift が AWS IAM アイデンティティセンターに接続され、アクセスが管理されている場合に、Quick を使用して Redshift で認証する方法については、「[Quick から Amazon Redshift クラスターへの接続の認可](https://docs.aws.amazon.com/quick/latest/userguide/enabling-access-redshift.html)」で説明しています。このようなステップは Amazon Redshift Serverless にも適用されます。

## Amazon Redshift クエリエディタ v2 を介した AWS IAM アイデンティティセンターでの Amazon Redshift への接続
<a name="redshift-iam-access-control-idp-connect-qe"></a>

Redshift での AWS IAM アイデンティティセンター接続のセットアップ手順を完了すると、ユーザーは AWS IAM アイデンティティセンターベースの名前空間プレフィックス付き ID を通じてデータベースとデータベース内の適切なオブジェクトにアクセスできるようになります。クエリエディタ v2 のサインインで Redshift データベースに接続する方法の詳細については、「[クエリエディタ v2 を使用してデータベースのクエリを実行するAmazon Redshift クエリエディタ v2 を使用したデータベースのクエリの実行](query-editor-v2.md)」を参照してください。



## 複数の AWS リージョン間で AWS IAM アイデンティティセンターを使用する
<a name="redshift-iam-access-control-idp-connect-multi-region"></a>

Amazon Redshift は、複数の AWS リージョン間での AWS IAM アイデンティティセンターをサポートしています。AWS IAM アイデンティティセンターをプライマリの AWS リージョンから追加のリージョンに拡張して、ユーザーへの近接性と信頼性を高めてパフォーマンスを向上させることができます。AWS IAM アイデンティティセンターで新しいリージョンを追加すると、プライマリリージョンの ID をレプリケートすることなく、新しいリージョンに Redshift IAM アイデンティティセンターアプリケーションを作成できます。行レベル、列レベル、マスキングの各コントロールを有効にできる新しいリージョンで、AWS IAM アイデンティティセンターを使用して Amazon Redshift フェデレーションアクセス許可を設定できます。複数のリージョンで AWS IAM アイデンティティセンターの使用を開始する方法の詳細については、「*AWSIAM アイデンティティセンターユーザーガイド*」の「[複数の AWS リージョンで AWS IAM アイデンティティセンターを管理する](https://docs.aws.amazon.com/singlesignon/latest/userguide/multi-region-iam-identity-center.html)」を参照してください。

## AWS IAM アイデンティティセンターでの Amazon Redshift への接続に関する制限
<a name="redshift-iam-access-control-idp-connect-limitations"></a>

AWS IAM アイデンティティセンターのシングルサインオンを使用する場合は、次の制限を考慮してください。


+  **拡張 VPC のサポートなし** – Amazon Redshift で AWS IAM アイデンティティセンターのシングルサインオンを使用する場合、拡張 VPC はサポートされません。拡張された VPC の詳細については、「[Amazon Redshift の拡張された VPC ルーティング](https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html)」を参照してください。

# Amazon Redshift での AWS IAM アイデンティティセンターの統合の設定
<a name="redshift-iam-access-control-idp-connect-console"></a>

Amazon Redshift クラスター管理者または Amazon Redshift Serverless 管理者は、Redshift を AWS IAM アイデンティティセンター対応アプリケーションとして設定するためにいくつかのステップを実行する必要があります。これにより、Redshift は AWS IAM アイデンティティセンターを自動的に検出して接続し、サインインサービスとユーザーディレクトリサービスを受信できるようになります。その後、Redshift 管理者がクラスターまたはワークグループを作成すると、新しいデータウェアハウスが AWS IAM アイデンティティセンターを使用してデータベースアクセスを管理できるようになります。

Redshift を AWS IAM アイデンティティセンターのマネージドアプリケーションとして有効にすべき理由は、AWS IAM アイデンティティセンター内から、または IAM アイデンティティセンターと統合されたサードパーティーの ID プロバイダーからユーザーとグループのアクセス許可を制御できるようにするためです。データベースユーザー (アナリストやデータサイエンティストなど) が Redshift データベースにサインインすると、AWS IAM アイデンティティセンターでユーザーのグループがチェックされ、これらが Redshift のロール名と一致します。Redshift データベースロールの名前を定義するグループは、このような方法で、例えば売上分析のためのテーブルセットにアクセスできます。以降のセクションでは、これを設定する方法について説明します。

## 前提条件
<a name="redshift-iam-access-control-idp-connect-prerequisites"></a>

AWS IAM アイデンティティセンターを Amazon Redshift と統合するための前提条件は次のとおりです。
+ *アカウント設定* – クロスアカウントのユースケースを計画している場合、または同じ AWS IAM アイデンティティセンターインスタンスの別のアカウントで Redshift クラスターを使用する場合は、AWS 組織の管理アカウントで AWS IAM アイデンティティセンターを設定する必要があります。これには、アイデンティティソースの設定も含まれます。詳細については、「**AWS IAM アイデンティティセンターユーザーガイド」の「[開始方法](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html)」、「[ワークフォースアイデンティティ](https://docs.aws.amazon.com/singlesignon/latest/userguide/identities.html)」、「[サポートされている ID プロバイダー](https://docs.aws.amazon.com/singlesignon/latest/userguide/supported-idps.html)」を参照してください。Redshift のデータに割り当てる前に、AWS IAM アイデンティティセンターでユーザーまたはグループを作成したか、アイデンティティソースからユーザーとグループを同期したことを確認する必要があります。
**注記**  
Redshift と AWS IAM アイデンティティセンターが同じアカウントにある場合は、AWS IAM アイデンティティセンターのアカウントインスタンスを使用するオプションがあります。Redshift クラスターまたはワークグループを作成したり構成したりする際には、ウィジェットを使用してこのインスタンスを作成できます。
+ **信頼できるトークン発行者の設定 – 場合によっては、信頼できるトークンを発行したり検証したりできる信頼できるトークン発行者の使用が必要になることがあります。これを実行する以前に、AWS IAM アイデンティティセンターの統合を設定する Redshift 管理者が信頼できるトークン発行者を選択し、必要な属性を追加して設定を完了する前の準備ステップを実行する必要があります。この手順には、信頼できるトークン発行者となるように外部 ID プロバイダーを設定すること、AWS IAM アイデンティティセンターコンソールにその属性を追加することなどがあります。これらのステップを完了するには、「[信頼できるトークン発行者によるアプリケーションの使用](https://docs.aws.amazon.com/singlesignon/latest/userguide/using-apps-with-trusted-token-issuer.html#setuptrustedtokenissuer)」を参照してください。
**注記**  
信頼できるトークン発行者の設定は、すべての外部接続で必要であるとは限りません。Amazon Redshift クエリエディタ v2 を使用して Redshift データベースに接続する場合には、信頼できるトークン発行者の設定は必要ありません。ただし、ID プロバイダーで認証するダッシュボードやカスタムアプリケーションなどのサードパーティーアプリケーションには、この設定を適用できます。
+ **IAM ロールの設定 – 以降のセクションで、設定する必要のあるアクセス許可について説明しています。IAM のベストプラクティスに従ってアクセス許可を追加する必要があります。特定のアクセス許可については、以降の手順で詳しく説明します。

詳細については、「[AWS IAM アイデンティティセンターの開始方法](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-enable-identity-center.html)」を参照してください。

## AWS IAM アイデンティティセンターと連携する ID プロバイダーの設定
<a name="redshift-iam-access-control-idp-connect-admin-config"></a>

ユーザーとグループのアイデンティティ管理を制御する最初のステップは、AWS IAM アイデンティティセンターに接続して ID プロバイダーを設定することです。AWS IAM アイデンティティセンター自体を ID プロバイダーとして使用することも、Okta などのサードパーティーのアイデンティティストアに接続することもできます。ID プロバイダーへの接続のセットアップと設定の詳細については、「*AWS IAM アイデンティティセンターユーザーガイド*」の「[外部 ID プロバイダーに接続する](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-idp.html)」を参照してください。このプロセスの最後に、テスト目的で少数のユーザーとグループを AWS IAM アイデンティティセンターに追加していることを確認します。

### 管理権限
<a name="redshift-iam-access-control-idp-connect-admin-permissions"></a>

#### Redshift/AWS IAM アイデンティティセンターのアプリケーションライフサイクル管理に必要な権限
<a name="redshift-iam-access-control-permissions-application"></a>

Redshift 管理者が IAM アイデンティティセンターで使用するように Redshift を設定するために使用する AWS IAM アイデンティティを作成する必要があります。一般的には、アクセス許可を付与した IAM ロールを作成し、必要に応じて他のアイデンティティに割り当てます。このロールには、次のアクションを実行するためのアクセス許可が必要です。

**Redshift/AWS IAM アイデンティティセンターアプリケーションの作成**
+ `sso:PutApplicationAssignmentConfiguration` – セキュリティ用です。
+ `sso:CreateApplication` – を使用 AWS IAM アイデンティティセンターのアプリケーションを作成するために使用されます。
+ `sso:PutApplicationAuthenticationMethod` – Redshift 認証アクセスを許可します。
+ `sso:PutApplicationGrant` – 信頼できるトークン発行者の情報を変更するために使用されます。
+ `sso:PutApplicationAccessScope` – Redshift AWS IAM アイデンティティセンターのアプリケーションのセットアップ用です。これには、AWS Lake Formation 用と [Amazon S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-get-started.html) 用が含まれます。
+ `redshift:CreateRedshiftIdcApplication` – Redshift AWS IAM アイデンティティセンターのアプリケーションを作成するために使用されます。

**Redshift/AWS IAM アイデンティティセンターアプリケーションの説明**
+ `sso:GetApplicationGrant` – 信頼できるトークン発行者の情報を一覧表示するために使用されます。
+ `sso:ListApplicationAccessScopes` — Redshift AWS IAM アイデンティティセンターアプリケーション設定で、AWS Lake Formation や S3 Access Grants などのダウンストリームインテグレーションを一覧表示できるようにします。
+ `redshift:DescribeRedshiftIdcApplications` — 既存の AWS IAM アイデンティティセンターアプリケーションを説明するために使用されます。

**Redshift/AWS IAM アイデンティティセンターアプリケーションの変更**
+ `redshift:ModifyRedshiftIdcApplication` – 既存の Redshift アプリケーションを変更するために使用されます。
+ `sso:UpdateApplication` – AWS IAM アイデンティティセンターのアプリケーションの更新に使用されます。
+ `sso:GetApplicationGrant` – 信頼できるトークン発行者の情報を取得します。
+ `sso:ListApplicationAccessScopes` – Redshift AWS IAM アイデンティティセンターのアプリケーションのセットアップ用です。
+ `sso:DeleteApplicationGrant` – 信頼できるトークン発行者の情報を削除します。
+ `sso:PutApplicationGrant` – 信頼できるトークン発行者の情報を変更するために使用されます。
+ `sso:PutApplicationAccessScope` – Redshift AWS IAM アイデンティティセンターのアプリケーションのセットアップ用です。これには、AWS Lake Formation 用と [Amazon S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-get-started.html) 用が含まれます。
+ `sso:DeleteApplicationAccessScope` – Redshift AWS IAM アイデンティティセンターのアプリケーションの削除用です。これには、AWS Lake Formation 用と [Amazon S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-get-started.html) 用が含まれます。

**Redshift/AWS IAM アイデンティティセンターアプリケーションの削除**
+ `sso:DeleteApplication` – AWS IAM アイデンティティセンターのアプリケーションを削除するために使用されます。
+ `redshift:DeleteRedshiftIdcApplication` – 既存の Redshift AWS アイデンティティセンターアプリケーションを削除できます。

#### Redshift/クエリエディタ v2 アプリケーションのライフサイクル管理に必要な権限
<a name="redshift-iam-access-control-permissions-application-qev2"></a>

Redshift 管理者が IAM アイデンティティセンターで使用するように Redshift を設定するために使用する AWS IAM アイデンティティを作成する必要があります。一般的には、アクセス許可を付与した IAM ロールを作成し、必要に応じて他のアイデンティティに割り当てます。このロールには、次のアクションを実行するためのアクセス許可が必要です。

**クエリエディタ v2 アプリケーションの作成**
+ `redshift:CreateQev2IdcApplication` — QEV2 アプリケーションの作成に使用されます。
+ `sso:CreateApplication` – AWS IAM アイデンティティセンターアプリケーションを作成する許可を付与します。
+ `sso:PutApplicationAuthenticationMethod` – Redshift 認証アクセスを許可します。
+ `sso:PutApplicationGrant` – 信頼できるトークン発行者の情報を変更するために使用されます。
+ `sso:PutApplicationAccessScope` – Redshift AWS IAM アイデンティティセンターのアプリケーションのセットアップ用です。これにはクエリエディタ v2 などがあります。
+ `sso:PutApplicationAssignmentConfiguration` – セキュリティ用です。

**クエリエディタ v2 アプリケーションの説明**
+ `redshift:DescribeQev2IdcApplications` — AWS IAM アイデンティティセンター QEV2 アプリケーションを説明するために使用されます。

**クエリエディタ v2 アプリケーションの変更**
+ `redshift:ModifyQev2IdcApplication` — AWS IAM アイデンティティセンター QEV2 アプリケーションを変更するために使用されます。
+ `sso:UpdateApplication` — AWS IAM アイデンティティセンター QEV2 アプリケーションを変更するために使用されます。

**クエリエディタ v2 アプリケーションの削除**
+ `redshift:DeleteQev2IdcApplication` — QEV2 アプリケーションの削除に使用されます。
+ `sso:DeleteApplication` — QEV2 アプリケーションの削除に使用されます。

**注記**  
Amazon Redshift SDK では、次の API は使用できません。  
CreateQev2IdcApplication
DescribeQev2IdcApplications
ModifyQev2IdcApplication
DeleteQev2IdcApplication
これらのアクションは、AWS IAM アイデンティティセンターと Redshift QEV2 の統合を AWS コンソールで実行する場合に固有のものです。詳細については、「[Actions defined by Amazon Redshift](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonredshift.html#amazonredshift-actions-as-permissions)」を参照してください。

#### コンソールで新しいリソースに接続するために必要なデータベース管理者権限
<a name="redshift-iam-access-control-permissions-application-new-resources"></a>

このようなアクセス許可は、作成プロセス中に新たにプロビジョンされたクラスターまたは Amazon Redshift Serverless ワークグループに接続するために必要となります。このようなアクセス許可がある場合は、Redshift 用の AWS IAM アイデンティティセンターマネージドアプリケーションに接続するためのオプションがコンソールに表示されます。
+ `redshift:DescribeRedshiftIdcApplications`
+ `sso:ListApplicationAccessScopes`
+ `sso:GetApplicationAccessScope`
+ `sso:GetApplicationGrant`

ベストプラクティスとして、アクセス許可ポリシーを IAM ロールにアタッチし、それを必要に応じてユーザーやグループに割り当てることをお勧めします。詳細については、「[Amazon Redshift での Identity and Access Management](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html)」を参照してください。

## AWS IAM アイデンティティセンターでの AWS マネージドアプリケーションとしての Redshift の設定
<a name="redshift-iam-access-control-idp-connect-admin-tasks"></a>

AWS IAM アイデンティティセンターが Amazon Redshift でプロビジョンされたクラスターまたは Amazon Redshift Serverless ワークグループのアイデンティティを管理するには、Redshift 管理者は Redshift を AWS IAM アイデンティティセンターのマネージドアプリケーションにするステップを実行する必要があります。

1. Amazon Redshift または Amazon Redshift Serverless のコンソールメニューで **[AWS IAM アイデンティティセンターの統合]** を選択して、**[AWS IAM アイデンティティセンターに接続**] をクリックします。その後一連の選択を行い、AWS IAM アイデンティティセンター統合のプロパティを設定します。

1. Redshift AWS IAM アイデンティティセンターマネージドアプリケーションの表示名と一意の名前を選択します。

1. 組織の名前空間を指定します。これには通常、組織名の省略形を使用します。これは、AWS IAMアイデンティティセンターマネージドユーザーとロールのプレフィックスとして Redshift データベースに追加されます。

1. 使用する IAM ロールを選択します。この IAM ロールは、Redshift に使用されるその他のロールとは別に作成する必要があります。これ以外の目的には使用しないことをお勧めします。特定のポリシーに必要となるアクセス許可は次のとおりです。
   + `sso:DescribeApplication` – カタログに ID プロバイダー (IdP) エントリを作成するために必要です。
   + `sso:DescribeInstance` – IdP フェデレーションロールまたはユーザーを手動で作成する場合に使用します。

1. クライアント接続と信頼できるトークン発行者を設定します。信頼できるトークン発行者を設定すると、外部の ID プロバイダーとの関係が確立されるので、信頼できる ID のプロパゲーションが容易になります。ID のプロパゲーションにより、ユーザーは例えば、あるアプリケーションにサインインして、別のアプリケーションの特定のデータにアクセスできるようになります。これにより、ユーザーは別の場所からデータをよりシームレスに収集できます。このステップでは、信頼できる各トークン発行者の属性をコンソールで設定します。属性には名前と対象者クレーム (または **aud claim) があります。これらはツールまたはサービスの設定属性から取得する必要がある場合があります。また、サードパーティーツールの JSON Web Token (JWT) からアプリケーション名を指定する必要がある場合もあります。
**注記**  
`aud claim` が各サードパーティーツールまたはサービスから必要とするのは、トークンタイプ (ID プロバイダーが発行するアクセストークン、または ID トークンのような別のタイプのトークン) によって異なる場合があります。各ベンダーにより異なる場合があります。信用されるアイデンティティのプロパゲーションを実装し、Redshift と統合する場合、サードパーティーツールが AWS に送信するトークンタイプに適切な **aud 値を指定する必要があります。ツールまたはサービスベンダーの推奨事項を確認します。

   信頼できる ID のプロパゲーションの詳細については、*AWS IAM アイデンティティセンター ユーザーガイド*の「[信頼できる ID のプロパゲーションの概要](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation-overview.html)」を参照してください。

Redshift 管理者が手順を完了して設定を保存すると、AWS IAM アイデンティティセンターのプロパティが Redshift コンソールに表示されます。システムビュー [SVV\$1IDENTITY\$1PROVIDERS](https://docs.aws.amazon.com/redshift/latest/dg/r_SVV_IDENTITY_PROVIDERS.html) でクエリを実行して、アプリケーションのプロパティを確認することもできます。プロパティには、アプリケーション名と名前空間などがあります。名前空間は、アプリケーションに関連付けられた Redshift データベースオブジェクトのプレフィックスとして使用します。上記のタスクを完了すると、Redshift は AWS IAM アイデンティティセンター対応アプリケーションになります。コンソールのプロパティには統合ステータスが含まれます。統合が完了すると、「****有効」と表示されます。このプロセスが完了すると、新しいクラスターごとに AWS IAM アイデンティティセンター統合を有効にできます。

設定後、**[ユーザー]** または **[グループ]** タブをクリックして、**[割り当てる]** を選択すると、Redshift で AWS IAM アイデンティティセンターからユーザーとグループを含めることができます。

## Amazon Redshift クラスターまたは Amazon Redshift Serverless ワークグループの AWS IAM アイデンティティセンターの統合の有効化
<a name="redshift-iam-access-control-idp-connect-resource-creation"></a>

データベース管理者は、サインインとデータアクセスを容易にするために AWS IAM アイデンティティセンターと連携して動作するように新しい Redshift リソースを設定します。これは、プロビジョンされたクラスターまたはサーバーレスワークグループを作成する手順の一貫として実行されます。Redshift リソースを作成する権限を持つユーザーは、これらの AWS IAM アイデンティティセンター統合タスクを実行できます。プロビジョニングされたクラスターを作成するときは、まず Amazon Redshift コンソールで **[クラスターの作成]** を選択します。データベースの AWS IAM アイデンティティセンター管理を有効にする方法は、次の手順のとおりです。(クラスターを作成する手順がすべて含まれているわけではありません)。

1. クラスター作成ステップの **[IAM アイデンティティセンターの統合]**セクションで、**[有効にする]** を選択します。

1. 統合を有効にするプロセスにはステップがあり、これを実行するには、コンソールで **[IAM アイデンティティセンターの統合を有効にする]** を選択します。

1. 新しいクラスターまたはワークグループの場合、SQL コマンドを使用して Redshift でデータベースロールを作成します。このコマンドは、次のとおりです。

   ```
   CREATE ROLE <idcnamespace:rolename>;
   ```

   名前空間名とロール名は、次のとおりです。
   + *IAM アイデンティティセンター名前空間プレフィックス* – これは AWS IAM アイデンティティセンターと Redshift 間の接続の設定時に定義した名前空間です。
   + *ロール名* – この Redshift データベースロールは AWS IAM アイデンティティセンターのグループ名と一致する必要があります。

   Redshift は AWS IAM アイデンティティセンターに接続して、データベースロールを作成し、AWS IAM アイデンティティセンターグループにマッピングするために必要な情報を取得します。

新しいデータウェアハウスを作成すると、AWS IAM アイデンティティセンターの統合に指定された IAM ロールが、プロビジョンされたクラスターまたは Amazon Redshift Serverless ワークグループに自動的にアタッチされることに注意します。必要なクラスターのメタデータの入力を完了し、リソースを作成した後、プロパティで AWS IAM アイデンティティセンター統合のステータスを確認できます。AWS IAM アイデンティティセンターのグループ名にスペースが含まれている場合は、一致するロールを作成する際に SQL で引用符を使用する必要があります。

Redshift データベースを有効にしてロールを作成したら、Amazon Redshift クエリエディタ v2 または Amazon Quick を使用してデータベースに接続できるようになります。詳細については、以降のセクションで詳しく説明します。

### API を使用したデフォルトの `RedshiftIdcApplication` の設定
<a name="redshift-iam-access-control-idp-connect-admin-config-api"></a>

セットアップはアイデンティティ管理者が行います。API を使用して、AWS IAM アイデンティティセンター内の Redshift アプリケーションを表す `RedshiftIdcApplication` を作成してデータを入力します。

1. まず、ユーザーを作成して、AWS IAM アイデンティティセンター内のグループに追加します。これは AWS IAM アイデンティティセンター の AWS コンソールで行います。

1. `create-redshift-idc-application` を呼び出して AWS IAM アイデンティティセンターアプリケーションを作成して、Redshift の使用に対応させます。必要な値を入力してアプリケーションを作成します。表示名とは AWS IAM アイデンティティセンターダッシュボードに表示される名前です。IAM ロール ARN は、AWS IAM アイデンティティセンターへのアクセス許可を持つ ARN であり、Redshift も引き受けることができます。

   ```
   aws redshift create-redshift-idc-application
   ––idc-instance-arn 'arn:aws:sso:::instance/ssoins-1234a01a1b12345d'
   ––identity-namespace 'MYCO'
   ––idc-display-name 'TEST-NEW-APPLICATION'
   ––iam-role-arn 'arn:aws:redshift:us-east-1:012345678901:role/TestRedshiftRole'
   ––redshift-idc-application-name 'myredshiftidcapplication'
   ```

   `create-redshift-idc-application` への呼び出しから返される `RedshiftIdcApplication` の応答サンプルは、次の例のとおりです。

   ```
   "RedshiftIdcApplication": {
                   "IdcInstanceArn": "arn:aws:sso:::instance/ssoins-1234a01a1b12345d",
                   "RedshiftIdcApplicationName": "test-application-1",
                   "RedshiftIdcApplicationArn": "arn:aws:redshift:us-east-1:012345678901:redshiftidcapplication:12aaa111-3ab2-3ab1-8e90-b2d72aea588b",
                   "IdentityNamespace": "MYCO",
                   "IdcDisplayName": "Redshift-Idc-Application",
                   "IamRoleArn": "arn:aws:redshift:us-east-1:012345678901:role/TestRedshiftRole",
                   "IdcManagedApplicationArn": "arn:aws:sso::012345678901:application/ssoins-1234a01a1b12345d/apl-12345678910",
                   "IdcOnboardStatus": "arn:aws:redshift:us-east-1:123461817589:redshiftidcapplication",
                   "RedshiftIdcApplicationArn": "Completed",
                   "AuthorizedTokenIssuerList": [
                          "TrustedTokenIssuerArn": ...,
                          "AuthorizedAudiencesList": [...]...
                   ]}
   ```

1. `create-application-assignment` を使用して、AWS IAM アイデンティティセンターマネージドアプリケーションに特定のグループまたは個別のユーザーを割り当てることができます。これにより、AWS IAM アイデンティティセンターを介して管理するグループを指定できます。データベース管理者が Redshift でデータベースロールを作成した場合、AWS IAM アイデンティティセンターのグループ名は Redshift のロール名にマップされます。ロールはデータベース内のアクセス許可を制御します。詳細については、「[AWS IAM アイデンティティセンターコンソールでアプリケーションへのユーザーアクセスを割り当てる](https://docs.aws.amazon.com/singlesignon/latest/userguide/assignuserstoapp.html)」を参照してください。

1. アプリケーションを有効にしたら、`create-cluster` を呼び出します。AWS IAM アイデンティティセンターからの Redshift マネージドアプリケーション ARN を含めます。これを実行すると、クラスターが AWS IAM アイデンティティセンターのマネージドアプリケーションに関連付けられます。

### AWS IAM アイデンティティセンターアプリケーションの既存のクラスターまたはワークグループへの関連付け
<a name="redshift-iam-access-control-idp-connect-admin-config-existing"></a>

AWS IAM アイデンティティセンターの統合を有効にする既存のクラスターまたはワークグループがある場合は、SQL コマンドを実行することでそれが可能になります。また、SQL コマンドを実行して統合の設定を変更することもできます。詳細については、「[ALTER IDENTITY PROVIDER](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_IDENTITY_PROVIDER.html)」を参照してください。

既存の ID プロバイダーを削除することもできます。CASCADE が ID プロバイダーにアタッチされているユーザーとロールを削除する方法は、次の例のとおりです。

```
DROP IDENTITY PROVIDER
<provider_name> [ CASCADE ]
```

## ユーザーのアクセス許可のセットアップ
<a name="redshift-iam-access-control-idp-connect-user-permissions"></a>

管理者は、ユーザーの ID 属性とグループメンバーシップに基づいて、ID プロバイダー内または AWS IAM アイデンティティセンター内で直接、さまざまなリソースへのアクセス許可を設定します。例えば、ID プロバイダーの管理者は、データベースエンジニアを役割に応じたグループに追加できます。このグループ名は Redshift データベースロール名にマップされます。このロールにより、Redshift の特定のテーブルまたはビューへのアクセスが提供されたり制限されたりします。

# AWS IAM アイデンティティセンター の Amazon Redshift ロールの自動作成
<a name="redshift-iam-access-control-sso-autocreate"></a>

この機能は AWS IAM アイデンティティセンター との統合であり、グループメンバーシップに基づいて Redshift でロールを自動作成できます。

ロールの自動作成には、いくつかの利点があります。ロールを自動作成すると、Redshift は IdP にグループメンバーシップを持つロールを作成します。これにより、面倒な手動によるロールの作成とメンテナンスを行う必要がなくなります。また、Redshift ロールにマッピングされるグループを、包含パターンと除外パターンでフィルタリングすることもできます。

## 仕組み
<a name="autocreate-overview"></a>

IdP ユーザーとして Redshift にログインすると、次の一連のイベントが発生します。

1. Redshift は、IdP からグループメンバーシップを取得します。

1. Redshift は、ロールの形式 `idp_namespace:rolename` を使用して、これらのグループへのロールマッピングを自動作成します。

1. Redshift は、マッピングされたロールに対するアクセス許可を付与します。

各ユーザーがログインするたびに、カタログには存在しないが、そのユーザーが所属するグループは自動作成されます。オプションで、Redshift ロールが作成された IdP グループを制御するため、含有フィルターと除外フィルターを設定できます。

## 自動作成ロールの設定
<a name="autocreate-configuring"></a>

`CREATE IDENTITY PROVIDER` および `ALTER IDENTITY PROVIDER` コマンドを使用して、ロールの自動作成を有効にして設定します。

```
-- Create a new IdP with auto role creation enabled
CREATE IDENTITY PROVIDER <idp_name> TYPE AWSIDC
  NAMESPACE '<namespace>' 
  APPLICATION_ARN 'app_arn'
  IAM_ROLE 'role_arn'
  AUTO_CREATE_ROLES TRUE; 

-- Enable on existing IdP 
ALTER IDENTITY PROVIDER <idp_name>
  AUTO_CREATE_ROLES TRUE;

-- Disable  
ALTER IDENTITY PROVIDER <idp_name>
  AUTO_CREATE_ROLES FALSE;
```

## グループのフィルタリング
<a name="autocreate-filtering"></a>

必要に応じて、`INCLUDE` パターンおよび `EXCLUDE` パターンを使用して、Redshift ロールにマッピングされる IdP グループをフィルタリングできます。パターンが競合した場合、`EXCLUDE` は `INCLUDE` よりも優先されます。

```
-- Only create roles for groups with 'dev' 
CREATE IDENTITY PROVIDER <idp_name> TYPE AWSIDC
  ...
  AUTO_CREATE_ROLES TRUE
  INCLUDE GROUPS LIKE '%dev%';
    
-- Exclude 'test' groups
ALTER IDENTITY PROVIDER <idp_name>  
  AUTO_CREATE_ROLES TRUE
  EXCLUDE GROUPS LIKE '%test%';
```

## 例
<a name="autocreate-filtering"></a>

次の例は、フィルタリングなしでロールの自動作成を有効にする方法を示しています。

```
CREATE IDENTITY PROVIDER prod_idc TYPE AWSIDC  ...
  AUTO_CREATE_ROLES TRUE;
```

次の例では、開発グループは含まれ、テストグループは除外されます。

```
ALTER IDENTITY PROVIDER prod_idc
  AUTO_CREATE_ROLES TRUE
  INCLUDE GROUPS LIKE '%dev%'
  EXCLUDE GROUPS LIKE '%test%';
```

## ベストプラクティス
<a name="autocreate-bp"></a>

ロールの自動作成を有効にする場合は、次のベストプラクティスを考慮してください。
+ `INCLUDE` および `EXCLUDE` フィルターを使用して、ロールを取得するグループを制御します。
+ 定期的にロールを監査し、未使用のロールをクリーンアップします。
+ Redshift ロール階層を活用して、アクセス許可の管理を簡素化します。

# Amazon Redshift と Amazon S3 Access Grants の統合
<a name="redshift-iam-access-control-sso-s3idc"></a>

Amazon S3 Access Grants との統合を利用すると、IAM アイデンティティセンターのアイデンティティをシームレスに伝達して、Amazon S3 データへのアクセスを制御できます。この統合により、IAM アイデンティティセンターのユーザーとグループに基づいて Amazon S3 データへのアクセスを承認できます。

Amazon S3 Access Grants の詳細については、「[S3 Access Grants でのアクセス管理](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html)」を参照してください。

Amazon S3 Access Grants を使用すると、アプリケーションに次の利点があります。
+ IAM アイデンティティセンターのアイデンティティに基づいて、Amazon S3 のデータへアクセスをきめ細かく制御できます。
+ Amazon Redshift と Amazon S3 全体で IAM アイデンティティセンターのアイデンティティを一元的に管理できます。
+ Amazon S3 アクセスに対して個別の IAM アクセス許可を管理する手間を省けます。

## 仕組み
<a name="redshift-iam-access-control-sso-s3idc-howitworks"></a>

アプリケーションを Amazon S3 Access Grants と統合するには、次の操作を行います。
+ まず、AWS マネジメントコンソール または AWS CLI を使用して、Amazon Redshift を Amazon S3 Access Grants と統合するように設定します。
+ 次に、IdC 管理者権限を持つユーザーが、Amazon S3 Access Grants サービスを使用して、Amazon S3 バケットまたはプレフィックスに特定の IdC ユーザー/グループへのアクセスを許可します。詳細については、「[S3 Access Grants での許可の使用](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-grant.html)」を参照してください。
+ Redshift に対して認証済みの IdC ユーザーが S3 にアクセスするクエリ (COPY、UNLOAD、 Spectrum オペレーションなど) を実行すると、Amazon Redshift はその IdC アイデンティティに範囲を限定された一時的な S3 アクセス認証情報を Amazon S3 Access Grants サービスから取得します。
+ 次に、Amazon Redshift は取得した一時的な認証情報を使用して、そのクエリに対して承認された Amazon S3 の場所にアクセスします。

## Amazon S3 Access Grants との統合を設定する
<a name="redshift-iam-access-control-sso-s3idc-setup"></a>

Amazon Redshift の Amazon S3 Access Grants との統合を設定するには、次の手順を実行します。

**Topics**
+ [AWS マネジメントコンソール を使用して Amazon S3 Access Grants との統合を設定する](#redshift-iam-access-control-sso-s3idc-setup-console)
+ [AWS CLI を使用して Amazon S3 Access Grants との統合を有効にする](#redshift-iam-access-control-sso-s3idc-setup-cli)

### AWS マネジメントコンソール を使用して Amazon S3 Access Grants との統合を設定する
<a name="redshift-iam-access-control-sso-s3idc-setup-console"></a>

1. Amazon Redshift コンソールを開きます。

1. **[クラスター]** ペインでクラスターを選択します。

1. クラスターの詳細ページの **[ID プロバイダー統合]** セクションで、**S3 Access Grants** サービスとの統合を有効にします。
**注記**  
IAM アイデンティティセンターが設定されていない場合は、**[ID プロバイダー統合]** セクションは表示されません。詳細については、「[Enabling AWS IAM アイデンティティセンター](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-set-up-for-idc.html)」を参照してください。

### AWS CLI を使用して Amazon S3 Access Grants との統合を有効にする
<a name="redshift-iam-access-control-sso-s3idc-setup-cli"></a>

1. S3 統合を有効にして新しい Amazon Redshift IdC アプリケーションを作成するには、次の手順を実行します。

   ```
   aws redshift create-redshift-idc-application <other parameters> 
     --service-integrations '[ {"S3AccessGrants": [{"ReadWriteAccess": {"Authorization": "Enabled"}}]} ]'
   ```

1. 既存のアプリケーションを変更して S3 Access Grants との統合を有効にするには、次の手順を実行します。

   ```
   aws redshift modify-redshift-idc-application <other parameters>
     --service-integrations '[ {"S3AccessGrants": [{"ReadWriteAccess": {"Authorization": "Enabled"}}]} ]'
   ```

1. 既存のアプリケーションを変更して S3 Access Grants との統合を無効にするには、次の手順を実行します。

   ```
   aws redshift modify-redshift-idc-application <other parameters>
     --service-integrations '[ {"S3AccessGrants": [{"ReadWriteAccess": {"Authorization": "Disabled"}}]} ]'
   ```

## S3 Access Grants との統合を使用する
<a name="redshift-iam-access-control-sso-s3idc-using"></a>

S3 Access Grants との統合を設定すると、S3 データにアクセスするクエリ (`COPY`、`UNLOAD`、Spectrum クエリなど) は IdC アイデンティティを承認に使用します。IdC を使用して認証されていないユーザーもこれらのクエリを実行できますが、これらのユーザーアカウントは、IdC が提供する一元管理を活用できません。

次の例は、S3 Access Grants 統合で実行されるクエリを示しています。

```
COPY table FROM 's3://mybucket/data';  // -- Redshift uses IdC identity 
UNLOAD ('SELECT * FROM table') TO 's3://mybucket/unloaded/'    // -- Redshift uses IdC identity
```

# AWS Lake Formation を介したデータのクエリ
<a name="redshift-iam-access-control-idp-analytics-connecting-steps"></a>

AWS Lake Formation を使用すると、データレイクの一元管理と保護、データアクセスの提供が容易になります。AWS IAM アイデンティティセンターと Redshift を介して Lake Formation へのアイデンティティプロパゲーションを設定すると、管理者は組織の ID プロバイダー (IdP) グループに基づいて、Amazon S3 データレイクへのきめ細かいアクセスを許可できるようになります。このようなグループは AWS IAM アイデンティティセンターを通じて管理されます。このセクションでは、データレイクからのクエリとデータ共有からのクエリといういくつかのユースケースを設定する方法を示します。このようなユースケースでは、AWS IAM アイデンティティセンターと Redshift を活用して Lake Formation が管理するリソースに接続する方法が示されます。

## データレイクのクエリのための AWS IAM アイデンティティセンターと Redshift 接続の使用
<a name="redshift-iam-access-control-idp-analytics-connecting-datalake"></a>

Redshift に接続された AWS IAM アイデンティティセンターを使用して、Lake Formation が管理するデータレイクにクエリを実行するユースケースを次の手順で説明します。

**前提条件**

この手順には、次のとおりの前提条件のステップがあります。

1. AWS IAM アイデンティティセンターを、Redshift による認証とアイデンティティ管理をサポートするように設定する必要があります。コンソールから AWS IAM アイデンティティセンターを有効にして、ID プロバイダー (IdP) ソースを選択できます。その後、IdP ユーザーのセットを AWS IAM アイデンティティセンターと同期します。また、このドキュメントで前述した手順に従って、AWS IAM アイデンティティセンターと Redshift 間の接続を設定する必要があります。

1. 新しい Amazon Redshift クラスターを作成して、設定ステップで AWS IAM アイデンティティセンターを介したアイデンティティ管理を有効にします。

1. Lake Formation 向けのマネージド AWS IAM アイデンティティセンターアプリケーションを作成して設定します。その後、AWS IAM アイデンティティセンターと Redshift 間の接続をセットアップします。手順は次のとおりです。

   1. AWS CLI で `modify-redshift-idc-application` コマンドを使用して、Lake Formation サービスと Redshift の AWS IAM アイデンティティセンターマネージドアプリケーションとの統合を有効にします。この呼び出しは、Lake Formation への認可を有効にする設定文字列値に設定された `service-integrations` パラメータを含みます。

   1. `create-lake-formation-identity-center-configuration` コマンドを使用して Lake Formation を設定します。これにより、Lake Formation 向けの AWS IAM アイデンティティセンターアプリケーションが作成され、AWS IAM アイデンティティセンターポータルに表示されます。管理者は `––cli-input-json` 引数を設定する必要があります。引数の値は、すべての AWS CLI API コールの標準形式を使用する JSON ファイルへのパスです。次の値を含める必要があります。
      + `CatalogId` – Lake Formation カタログ ID
      + `InstanceArn` – AWS IAM アイデンティティセンターインスタンスの ARN 値

管理者が前提条件の設定を完了すると、データベース管理者はデータレイクをクエリするための外部スキーマを作成できます。

1. **管理者が外部スキーマを作成する** – Redshift データベース管理者は、次の SQL ステートメントを使用してデータベースに接続し、外部スキーマを作成します。

   ```
   CREATE EXTERNAL SCHEMA if not exists my_external_schema from DATA CATALOG database 'my_lf_integrated_db' catalog_id '12345678901234';
   ```

   この場合、アクセスは AWS IAM アイデンティティセンターを介して管理されるため、IAM ロールを指定する必要はないことに注意します。

1. **管理者がアクセス許可を付与する** – 管理者は AWS IAM アイデンティティセンターグループに使用権限を付与します。これにより、Redshift リソースへのアクセス許可が付与されます。これには、次のような SQL ステートメントを実行します。

   ```
   GRANT USAGE ON SCHEMA "my_external_schema" to "MYCO:sales";
   ```

   その後、管理者は AWS CLI を使用して、組織の要件に基づいてオブジェクトに対する Lake Formation のアクセス許可を付与します。

   ```
   aws lakeformation grant-permissions ...
   ```

1. **ユーザーがクエリを実行する** – この説明の例では、この時点で営業グループに属する AWS IAM アイデンティティセンターユーザーは、クエリエディタ v2 を使用して Redshift データベースにログインできます。その後、次のサンプルのように、外部スキーマのテーブルにアクセスするクエリを実行できます。

   ```
   SELECT * from my_external_schema.table1;
   ```

## AWS IAM アイデンティティセンターと Redshift 接続を使用したデータ共有への接続
<a name="redshift-iam-access-control-idp-analytics-connecting-datashare"></a>

 AWS IAM アイデンティティセンターを介してアクセスが管理されている場合、別の Redshift データウェアハウスからデータ共有にアクセスできます。これを行うには、クエリを実行して外部データベースを設定します。この手順を完了する前に、上記の手順の説明のとおり、Redshift と AWS IAM アイデンティティセンター間の接続を設定し、AWS Lake Formation アプリケーションを作成していることが前提となります。

1. **外部データベースの作成** — 管理者はデータ共有のための外部データベースを作成し、ARN を通じて参照します。次のサンプルは、この方法を説明しています。

   ```
   CREATE DATABASE "redshift_external_db" FROM ARN 'arn:aws:glue:us-east-1:123456789012:database/redshift_external_db-iad' WITH NO DATA CATALOG SCHEMA;
   ```

   アイデンティティ管理のために AWS IAM アイデンティティセンターと Redshift を使用するこのようなユースケースでは、IAM ロールは含まれていません。

1. **管理者がアクセス許可を設定する** – データベースを作成した後、管理者が AWS IAM アイデンティティセンターグループに使用権限を付与します。これにより、Redshift リソースに対するアクセス許可が付与されます。

   ```
   GRANT USAGE ON DATABASE "my_external_db" to "MYCO:sales";
   ```

   管理者は、AWS CLI を使用して、オブジェクトに対する Lake Formation のアクセス許可も付与します。

   ```
   aws lakeformation grant-permissions ...
   ```

1. **ユーザーがクエリを実行する** – 営業グループのユーザーは、割り当てられたアクセス許可に基づいてデータベース内のテーブルに対してクエリを実行できます。

   ```
   select * from redshift_external_db.public.employees;
   ```

データレイクに対するアクセス許可の付与とデータ共有アクセス許可の付与の詳細については、「[ユーザーとグループへのアクセス許可の付与](https://docs.aws.amazon.com/lake-formation/latest/dg/grant-permissions-sso.html)」を参照してください。スキーマまたはデータベースへの使用権限の詳細については、「[GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html)」を参照してください。

# 信頼できるトークン発行者を使用したアプリケーションまたはツールと OAuth の統合
<a name="redshift-iam-access-control-idp-connect-oauth"></a>

 作成するクライアントツールに Redshift に接続するための機能を追加するには、AWS IAM アイデンティティセンターの接続を利用できます。Redshift と AWS IAM アイデンティティセンターの統合を設定済みである場合は、このセクションで詳述しているプロパティを使用して接続をセットアップします。

## AWS IAM アイデンティティセンターを使用して Redshift に接続するための認証プラグイン
<a name="redshift-iam-access-control-idp-connect-plugin"></a>

AWS IAM アイデンティティセンターを使用して、次のドライバープラグインを使用して Amazon Redshift に接続できます。
+  `BrowserIdcAuthPlugin` – このプラグインは、AWS IAM アイデンティティセンターとのシームレスなシングルサインオン統合を容易にします。これにより、ユーザーが企業 ID プロバイダーで定義されたユーザー認証情報でサインインするためのブラウザウィンドウが作成されます。
+  `IdpTokenAuthPlugin` – このプラグインは、Amazon Redshift ドライバーが AWS IAM アイデンティティセンター認証用のブラウザウィンドウを開くのではなく、認証フローを自分で管理したいアプリケーションで使用する必要があります。Okta、PingOne、Microsoft Entra ID (Azure AD) など、AWS IAM アイデンティティセンターに接続されているウェブ ID プロバイダーから、AWS IAM アイデンティティセンターが販売したアクセストークンまたは OpenID Connect (OIDC) JSON ウェブトークン (JWT) を受け入れます。クライアントアプリケーションは、この必須のアクセストークン/JWT を生成する必要があります。

### `BrowserIdcAuthPlugin` による認証
<a name="redshift-iam-access-control-idp-connect-plugin-browseridcauthplugin"></a>

Amazon Redshift ドライバーに応じて、次のプラグイン名を使用して `BrowserIdcAuthPlugin` を使用して接続します。


| ドライバー | 接続オプションキー | 値 | 注意事項 | 
| --- | --- | --- | --- | 
| JDBC | `plugin_name` | com.amazon.redshift.plugin.BrowserIdcAuthPlugin | 接続時には、プラグインの完全修飾クラス名を入力する必要があります。 | 
| ODBC | `plugin_name` | BrowserIdcAuthPlugin |  | 
| Python | `credentials_provider` | BrowserIdcAuthPlugin | Python ドライバーに利用可能な `plugin_name` オプションはありません。代わりに `credentials_provider` を使用してください。 | 

`BrowserIdcAuthPlugin` プラグインには、以下に示す追加の接続オプションがあります。


| オプション名 | 必須? | 説明 | 例 | 
| --- | --- | --- | --- | 
| idc\$1region | 必須 | AWS IAM アイデンティティセンターインスタンスが配置されている AWS リージョン リージョン。 | us–east–1 | 
| issuer\$1url | 必須 | AWS IAM アイデンティティセンターサーバーのインスタンスエンドポイント。この値は、AWS IAM アイデンティティセンターコンソールを使用して確認できます。 | https://identitycenter.amazonaws.com/ssoins-g5j2k70sn4yc5nsc | 
| listen\$1port | オプションです。 | Amazon Redshift ドライバーがブラウザリダイレクトを介して AWS IAM アイデンティティセンターから `auth_code` レスポンスを受信するために使用するポート。 | 7890 | 
| idc\$1client\$1display\$1name | オプションです。 | AWS IAM アイデンティティセンターのシングルサインオン同意ポップアップで、AWS IAM アイデンティティセンタークライアントがアプリケーションに使用する名前。 | Amazon Redshift ドライバー | 
| idp\$1response\$1timeout | オプションです。 | Redshift ドライバーが、認証フローが完了するまでに待機する秒単位の時間。 | 60 | 

上記の値は、ツールを作成して、このツールに接続する際の接続プロパティに入力します。詳細については、各ドライバーの接続オプションに関するドキュメントを参照してください。
+ [JDBC ドライバーバージョン 2.x の設定オプション](jdbc20-configuration-options.md)
+ [ODBC ドライバーオプション](odbc20-configuration-options.md)
+ [Amazon Redshift Python コネクタの設定オプション](python-configuration-options.md)

### `IdpTokenAuthPlugin` による認証
<a name="redshift-iam-access-control-idp-connect-plugin-idptokenauthplugin"></a>

Amazon Redshift ドライバーに応じて、次のプラグイン名を使用して `IdpTokenAuthPlugin` を使用して接続します。


| ドライバー | 接続オプションキー | 値 | 注意事項 | 
| --- | --- | --- | --- | 
| JDBC | `plugin_name` | com.amazon.redshift.plugin.IdpTokenAuthPlugin | 接続時には、プラグインの完全修飾クラス名を入力する必要があります。 | 
| ODBC | `plugin_name` | IdpTokenAuthPlugin |  | 
| Python | `credentials_provider` | IdpTokenAuthPlugin | Python ドライバーに利用可能な `plugin_name` オプションはありません。代わりに `credentials_provider` を使用してください。 | 

`IdpTokenAuthPlugin` プラグインには、以下に示す追加の接続オプションがあります。


| オプション名 | 必須? | 説明 | 
| --- | --- | --- | 
| トークン | 必須 | AWS IAM アイデンティティセンターが提供するアクセストークン、または AWS IAM アイデンティティセンターに接続されているウェブ ID プロバイダーが提供する OpenID Connect (OIDC) JSON ウェブトークン (JWT)。アプリケーションは、このトークンを生成するために、AWS IAM アイデンティティセンターまたは AWS IAM アイデンティティセンターに接続されている ID プロバイダーにより、アプリケーションユーザーを認証する必要があります。 | 
| token\$1type | 必須 | `IdpTokenAuthPlugin` に使用されるトークンのタイプ。利用できる値には以下のとおりです。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/redshift-iam-access-control-idp-connect-oauth.html)  | 

上記の値は、ツールを作成して、このツールに接続する際の接続プロパティに入力します。詳細については、各ドライバーの接続オプションに関するドキュメントを参照してください。
+ [JDBC ドライバーバージョン 2.x の設定オプション](jdbc20-configuration-options.md)
+ [ODBC ドライバーオプション](odbc20-configuration-options.md)
+ [Amazon Redshift Python コネクタの設定オプション](python-configuration-options.md)

# Amazon Redshift クエリエディタ v2 からの接続のトラブルシューティング
<a name="redshift-iam-access-control-idp-connect-troubleshooting"></a>

このリストは、よく発生するエラーの詳細を示しており、AWS IAM アイデンティティセンター ID を使用してクエリエディタ v2 で Redshift データベースに接続する際に役立ちます。
+ エラー: **接続の問題: アイデンティティセンターのセッション情報がありません。**– このエラーが発生した場合は、ブラウザのセキュリティとプライバシーの設定を確認してください。これらのブラウザ設定 (特に Firefox の包括的 Cookie 保護機能などの安全な Cookie に関する設定) では、Amazon Redshift クエリエディタ v2 から Redshift データベースへの接続がブロックされる可能性があります。ブラウザで詳しく説明している修復ステップに従います。
  + **Firefox** – 現在、サードパーティの Cookie はデフォルトでブロックされます。ブラウザのアドレスバーで盾のアイコンをクリックし、クエリエディタ v2 での強化された追跡保護をオフに切り替えます。
  + **Chrome のシークレットモード** – Chrome のシークレットモードは、デフォルトでサードパーティの Cookie をブロックします。アドレスバーの目のアイコンをクリックして、クエリエディタ v2 でのサードパーティの Cookie を許可します。Cookie を許可するように設定を変更すると、アドレスバーに目のアイコンが表示されない場合があります。
  + **Safari** – Mac で Safari アプリを開きます。**[設定]**、**[詳細]** の順に選択します。オフに切り替える: **すべての Cookie をブロック**します。
  + **Edge** – **[設定]**、**[Cookie とサイトのアクセス許可]** の順に選択します。次に、**[Cookie とサイトデータの管理と削除]** を選択し、**[サードパーティの Cookie をブロックする]** をオフにします。

  設定の変更後に接続しようとして、「**接続の問題: アイデンティティセンターのセッション情報がありません**」というエラーメッセージが引き続き表示される場合は、AWS IAM アイデンティティセンターとの接続を更新することをお勧めします。これを行うには、Redshift データベースインスタンスを右クリックし、**[更新]** を選択します。認証に使用できる新しいウィンドウが表示されます。
+ エラー: **接続の問題: アイデンティティセンターのセッションが有効期限切れであるか、無効です。**– Redshift でプロビジョニングされたクラスターまたはサーバーレスワークグループと AWS IAM アイデンティティセンターを統合した場合、ユーザーがクエリエディタ v2 から Redshift データベースに接続しようとすると、このエラーが表示される場合があります。これは、接続の試行が成功した後に起こる場合があります。この場合は、再認証することをお勧めします。これを行うには、Redshift データベースインスタンスを右クリックし、**[更新]** を選択します。認証に使用できる新しいウィンドウが表示されます。
+ エラー: **無効なスコープ。ユーザー認証情報には Redshift に接続する権限がありません。**Redshift でプロビジョニングされたクラスターまたはサーバーレスワークグループと AWS IAM アイデンティティセンターを統合した場合、ユーザーがクエリエディタ v2 から Redshift データベースに接続しようとすると、このエラーが表示される場合があります。この場合、クエリエディタ v2 を使用して AWS IAM アイデンティティセンター経由でユーザーを正常に接続して認証し、正しいリソースにアクセスできるようにするには、管理者が Redshift コンソールで Redshift AWS IAM アイデンティティセンターアプリケーションにユーザーを割り当てる必要があります この操作は **[IAM アイデンティティセンターの接続]** で実行します。これに続いて、ユーザーは 1 時間後に正常に接続を確立できます。この時間は、AWS IAM アイデンティティセンターセッションのキャッシュの上限です。
+ エラー: **データベースを一覧表示できませんでした。致命的: クラスターが自動的に一時停止すると、クエリが失敗します。**– Amazon Redshift Serverless データベースがアイドル状態で、ワークロードを処理していない場合、AWS IAM アイデンティティセンター ID に接続すると、データベースは一時停止したままになることがあります。この問題を修正するには、別の認証方法でログインして Serverless ワークグループを再開します。次に、AWS IAM アイデンティティセンター ID を使用してデータベースに接続します。
+ エラー: **AWS IAM アイデンティティセンターとのフェデレーションの試行中にエラーが発生しました。Amazon Redshift 管理者は、Redshift コンソールを使用して AWS IAM アイデンティティセンター QEV2 アプリケーションを削除して再作成する必要があります。**– このエラーは通常、クエリエディタ v2 に関連付けられた AWS IAM アイデンティティセンターのアプリケーションインスタンスを削除したときに発生します。この問題を修正するには、Amazon Redshift 管理者が AWS IAM アイデンティティセンターで Redshift およびクエリエディタ v2 アプリケーションを削除して再作成する必要があります。これを行うには、Redshift コンソールまたは [https://docs.aws.amazon.com/cli/latest/reference/redshift/delete-redshift-idc-application.html](https://docs.aws.amazon.com/cli/latest/reference/redshift/delete-redshift-idc-application.html) CLI コマンドを使用できます。