フェデレーテッドクエリを使用するためのシークレットと IAM ロールの作成 - Amazon Redshift

フェデレーテッドクエリを使用するためのシークレットと IAM ロールの作成

以下のステップは、フェデレーテッドクエリで使用するシークレットと IAM ロールを作成する方法を示しています。

前提条件

横串検索で使用するシークレットと IAM ロールを作成するには、次の前提条件を満たす必要があります。

  • ユーザー名とパスワード認証を使用する RDS PostgreSQL、Aurora PostgreSQL DB インスタンス、RDS MySQL、または Aurora MySQL DB インスタンス。

  • 横串検索をサポートするクラスターメンテナンスバージョンを持つ Amazon Redshift クラスター。

AWS Secrets Manager でシークレット (ユーザー名とパスワード) を作成するには

  1. RDS または Aurora インスタンスを所有するアカウントで Secrets Manager コンソールにサインインします。

  2. [Store a new secret] (新しいシークレットの保存) を選択します。

  3. [RDS データベースの認証情報] タイルを選択します。[ユーザー名] と [パスワード] に、インスタンスの値を入力します。[暗号化キー] の値を確認または選択します。次に、シークレットがアクセスする RDS データベースを選択します。

    注記

    デフォルトの暗号化キー (DefaultEncryptionKey) を使用することをお勧めします。カスタム暗号化キーを使用する場合、シークレットにアクセスするために使用される IAM ロールをキーユーザーとして追加する必要があります。

  4. シークレットの名前を入力し、デフォルトの選択肢を使用して作成ステップを続行して、[Store (保存)] を選択します。

  5. シークレットを表示し、シークレットを識別するために作成した [シークレット ARN] 値をメモします。

シークレットを使用してセキュリティポリシーを作成するには

  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. 次のような JSON を使用してポリシーを作成します。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AccessSecret", "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": "arn:aws:secretsmanager:us-west-2:123456789012:secret:my-rds-secret-VNenFy" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "secretsmanager:GetRandomPassword", "secretsmanager:ListSecrets" ], "Resource": "*" } ] }

    シークレットを取得するには、リストと読み取りアクションが必要です。作成した特定のシークレットにリソースを制限することをお勧めします。これを行うには、シークレットの Amazon リソースネーム (ARN) を使用してリソースを制限します。IAM コンソールのビジュアルエディターを使用して、アクセス許可とリソースを指定することもできます。

  3. ポリシーに名前を付けて、作成を完了します。

  4. [IAM ロール] に移動します。

  5. [Redshift - カスタマイズ可能] の IAM ロールを作成します。

  6. 先ほど作成した IAM ポリシーを既存の IAM ロールにアタッチするか、新しい IAM ロールを作成してポリシーをアタッチします。

  7. IAM ロールの [Trust relationships (信頼関係)] タブで、信頼エンティティ redshift.amazonaws.com が含まれていることを確認します。

  8. 作成したロール ARN を書き留めます。この ARN はシークレットにアクセスできます。

IAM ロールを Amazon Redshift クラスターに添付するには

  1. AWS Management Console にサインインして、(https://console.aws.amazon.com/redshift/)でAmazon Redshift コンソール を開きます。

  2. ナビゲーションメニューで [Clusters] (クラスター) を選択します。現在のAWSリージョンにあるアカウントのクラスターがリストされています。

  3. リストでクラスター名を選択して、クラスターの詳細を表示します。

  4. [アクション] で、[IAM ロールの管理] を選択します。[IAM ロールの管理] ページが表示されます。

  5. IAM ロールをクラスターに追加します。