フェデレーテッドクエリを使用するためのシークレットと IAM ロールの作成
以下のステップは、フェデレーテッドクエリで使用するシークレットと IAM ロールを作成する方法を示しています。
前提条件
横串検索で使用するシークレットと IAM ロールを作成するには、次の前提条件を満たす必要があります。
ユーザー名とパスワード認証を使用する RDS PostgreSQL、Aurora PostgreSQL DB インスタンス、RDS MySQL、または Aurora MySQL DB インスタンス。
横串検索をサポートするクラスターメンテナンスバージョンを持つ Amazon Redshift クラスター。
AWS Secrets Manager でシークレット (ユーザー名とパスワード) を作成するには
RDS または Aurora DB クラスターインスタンスを所有するアカウントで Secrets Manager コンソールにサインインします。
[新しいシークレットを保存] を選択します。
[RDS データベースの認証情報] タイルを選択します。[ユーザー名] と [パスワード] に、インスタンスの値を入力します。[暗号化キー] の値を確認または選択します。次に、シークレットがアクセスする RDS データベースを選択します。
注記
デフォルトの暗号化キー (
DefaultEncryptionKey
) を使用することをお勧めします。カスタム暗号化キーを使用する場合、シークレットにアクセスするために使用される IAM ロールをキーユーザーとして追加する必要があります。シークレットの名前を入力し、デフォルトの選択肢を使用して作成ステップを続行して、[Store (保存)] を選択します。
シークレットを表示し、シークレットを識別するために作成した [シークレット ARN] 値をメモします。
シークレットを使用してセキュリティポリシーを作成するには
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 次のような 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 コンソールのビジュアルエディタを使用して、アクセス許可とリソースを指定することもできます。
ポリシーに名前を付けて、作成を完了します。
-
[IAM ロール] に移動します。
[Redshift - カスタマイズ可能] の IAM ロールを作成します。
先ほど作成した IAM ポリシーを既存の IAM ロールにアタッチするか、新しい IAM ロールを作成してポリシーをアタッチします。
IAM ロールの [Trust relationships (信頼関係)] タブで、信頼エンティティ
redshift.amazonaws.com
が含まれていることを確認します。作成したロール ARN を書き留めます。この ARN はシークレットにアクセスできます。
IAM ロールを Amazon Redshift クラスターにアタッチするには
AWS Management Console にサインインして、 https://console.aws.amazon.com/redshiftv2/
で Amazon Redshift コンソールを開きます。 ナビゲーションメニューで [クラスター] を選択します。現在のAWSリージョンにあるアカウントのクラスターがリストされています。
リストでクラスター名を選択して、クラスターの詳細を表示します。
-
[アクション] で、[IAM ロールの管理] を選択します。[IAM ロールの管理] ページが表示されます。
IAM ロールをクラスターに追加します。