Amazon Aurora DSQL での認証トークンの生成
SQL クライアントを使用して Amazon Aurora DSQL に接続するには、パスワードとして使用する認証トークンを生成します。このトークンは、接続の認証にのみ使用されます。接続が確立されると、認証トークンの有効期限が切れても接続は有効です。
AWS コンソールを使用して認証トークンを作成すると、トークンはデフォルトで 1 時間で自動的に期限切れになります。AWS CLI または SDK を使用してトークンを作成する場合、デフォルトは 15 分です。最大継続時間は 604,800 秒 (1 週間) です。クライアントから Aurora DSQL に再度接続するには、有効期限が切れていない場合は同じ認証トークンを使用するか、新しいトークンを生成できます。
トークンの生成を開始するには、IAM ポリシー作成し、Aurora DSQL でクラスターを作成します。次に、AWS コンソール、AWS CLI、または AWS SDK を使用してトークンを生成します。
少なくとも、接続に使用するデータベースロールに応じて、IAM を使用したクラスターへの接続 にリストされている IAM アクセス許可が必要です。
トピック
AWS コンソールを使用して Aurora DSQL で認証トークンを生成する
Aurora DSQL は、パスワードではなくトークンを使用してユーザーを認証します。コンソールからトークンを生成できます。
認証トークンを生成するには
-
AWS Management Consoleにサインインし、https://console.aws.amazon.com/dsql
で Aurora DSQL コンソールを開きます。 -
認証トークンを生成するクラスターのクラスター ID を選択します。クラスターをまだ作成していない場合は、「ステップ 1: Aurora DSQL 単一リージョンクラスターを作成する」または「ステップ 4: マルチリージョンクラスターを作成する」の手順に従います。
-
[接続] を選択し、[トークンを取得] を選択します。
-
admin
として接続するか、カスタムデータベースロールを使用して接続するかを選択します。 -
生成された認証トークンをコピーし、「SQL クライアントを使用した Aurora DSQL へのアクセス」で使用します。
Aurora DSQL のカスタムデータベースロールと IAM の詳細については、「Aurora DSQL の認証および認可」を参照してください。
AWS CloudShell を使用して Aurora DSQL で認証トークンを生成する
AWS CloudShell を使用して認証トークンを生成する前に、以下を行うことを確認してください。
-
組織外の AWS アカウントからオブジェクトを取得するための Amazon S3 オペレーション
get-object
を実行するアクセス許可を追加 詳細については、「Amazon S3 ユーザーガイド」を参照してください。
AWS CloudShell を使用して認証トークンを生成するには
-
AWS Management Consoleにサインインし、https://console.aws.amazon.com/dsql
で Aurora DSQL コンソールを開きます。 -
AWS コンソールの左下で、AWS CloudShell を選択します。
-
AWS CLI をインストールするには、「AWS CLI の最新バージョンのインストールまたは更新」の手順に従います。
sudo ./aws/install --update
-
次のコマンドを実行して、
admin
ロールの認証トークンを生成します。us-east-1
をリージョンに置き換え、your_cluster_endpoint
を独自のクラスターのエンドポイントに置き換えます。注記
admin
として接続しない場合は、代わりにgenerate-db-connect-auth-token
を使用します。aws dsql generate-db-connect-admin-auth-token \ --expires-in 3600 \ --region
us-east-1
\ --hostnameyour_cluster_endpoint
問題が発生した場合は、「IAM をトラブルシューティングする」および「IAM ポリシーで、アクセス拒否または操作が許可されていないことを示すエラーをトラブルシューティングする方法を教えてください
」を参照してください。 -
次のコマンドを使用し、
psql
を使用してクラスターへの接続を開始します。PGSSLMODE=require \ psql --dbname postgres \ --username admin \ --host cluster_endpoint
-
パスワードを指定するプロンプトが表示されます。生成したトークンをコピーし、追加のスペースや文字が含まれていないことを確認します。
psql
から次のプロンプトに貼り付けます。Password for user admin:
-
[Enter] キーを押します。PostgreSQL プロンプトが表示されます。
postgres=>
アクセス拒否エラーが発生した場合は、IAM ID に
dsql:DbConnectAdmin
アクセス許可があることを確認してください。アクセス許可があるにもかかわらずアクセス拒否エラーが引き続き発生する場合は、「IAM をトラブルシューティングする」および「IAM ポリシーで、アクセス拒否または操作が許可されていないことを示すエラーをトラブルシューティングする方法を教えてください」を参照してください。
Aurora DSQL のカスタムデータベースロールと IAM の詳細については、「Aurora DSQL の認証および認可」を参照してください。
AWS CLI を使用して Aurora DSQL で認証トークンを生成する
クラスターが ACTIVE
の場合、aws dsql
コマンドを使用して CLI で認証トークンを生成できます。以下のいずれかの対策を使用します。
-
admin
ロールに接続する場合は、generate-db-connect-admin-auth-token
オプションを使用します。 -
カスタムデータベースロールに接続する場合は、
generate-db-connect-auth-token
オプションを使用します。
次の例では、次の属性を使用して admin
ロールの認証トークンを生成します。
-
your_cluster_endpoint
– クラスターのエンドポイント。これは、例01abc2ldefg3hijklmnopqurstu.dsql.us-east-1.on.aws
のように、
形式に従います。your_cluster_identifier
.dsql.region
.on.aws -
region
–us-east-2
やus-east-1
などの AWS リージョン。
次の例では、トークンの有効期限を 3,600 秒 (1 時間) で設定します。
SDK を使用して Aurora DSQL でトークンを生成する
クラスターが ACTIVE
ステータスの場合、クラスターの認証トークンを生成できます。SDK の例では、次の属性を使用して、admin
ロールの認証トークンを生成します。
-
your_cluster_endpoint
(またはyourClusterEndpoint
) – Aurora DSQL クラスターのエンドポイント。命名形式は、例01abc2ldefg3hijklmnopqurstu.dsql.us-east-1.on.aws
のように
です。your_cluster_identifier
.dsql.region
.on.aws -
region
(またはRegionEndpoint
) –us-east-2
やus-east-1
など、クラスターが配置されている AWS リージョン。