本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從命令列使用 IAM 身份驗證連接到您的資料庫叢集: AWS CLI 和 mysql 用戶端
您可以使用 AWS CLI 和命令列工具從命mysql
令列連線到 Aurora 資料庫叢集,如下所述。
必要條件
以下是使用 IAM 身分驗證連線至資料庫叢集的先決條件:
注意
有關使用 SQL Workbench/J 與 IAM 身分驗證連接到您的資料庫的資訊,請參閱部落格文章 使用 IAM 身分驗證將 SQL Workbench/J 連線至 Aurora MySQL 或 Amazon RDS for MySQL
產生 IAM 身分驗證字符
以下範例顯示如何使用 AWS CLI來取得已簽署的身分驗證字符。
aws rds generate-db-auth-token \ --hostname
rdsmysql.123456789012.us-west-2.rds.amazonaws.com
\ --port3306
\ --regionus-west-2
\ --usernamejane_doe
範例中的參數如下:
-
--hostname
– 您想要存取之資料庫叢集的主機名稱 -
--port
– 用於連線資料庫叢集的連接埠號碼 -
--region
— 執行資料庫叢集的 AWS 區域 -
--username
– 您想要存取的資料庫帳戶
字符開頭的前幾個字元看起來如下所示。
rdsmysql.123456789012.us-west-2.rds.amazonaws.com:3306/?Action=connect&DBUser=jane_doe&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900...
注意
您無法使用自訂 Route 53 DNS 記錄或 Aurora 自訂端點替代資料庫叢集端點來產生身分驗證字符。
連接至資料庫叢集
連線的一般格式如下所示。
mysql --host=
hostName
--port=portNumber
--ssl-ca=full_path_to_ssl_certificate
--enable-cleartext-plugin --user=userName
--password=authToken
參數如下:
-
--host
– 您想要存取之資料庫叢集的主機名稱 -
--port
– 用於連線資料庫叢集的連接埠號碼 -
--ssl-ca
– 包含公有金鑰之 SSL 憑證檔案的完整路徑如需詳細資訊,請參閱 TLS Aurora MySQL 資料庫叢集的連線。
若要下載 SSL 憑證,請參閱使用 SSL/TLS 加密與資料庫叢集的連線。
-
--enable-cleartext-plugin
– 指定AWSAuthenticationPlugin
必須用於此連線的值如果您使用的是 MariaDB 用戶端,該
--enable-cleartext-plugin
選項不是必需的。 -
--user
– 您想要存取的資料庫帳戶 -
--password
– 已簽署的 IAM 身分驗證字符
身分驗證字符由數百個字元組成。在命令列上可能會顯得雜亂。此問題的一個解決方法是將字符儲存到環境變數,然後在連接時使用該變數。以下範例顯示此解決方法的一種型態。在範例中,/sample_dir/
是包含公有金鑰之 SSL 憑證檔案的完整路徑。
RDSHOST="
mysqlcluster.cluster-123456789012.us-east-1.rds.amazonaws.com
" TOKEN="$(aws rds generate-db-auth-token --hostname $RDSHOST --port3306
--regionus-west-2
--usernamejane_doe
)" mysql --host=$RDSHOST --port=3306
--ssl-ca=/sample_dir/
global-bundle.pem --enable-cleartext-plugin --user=jane_doe
--password=$TOKEN
使用 AWSAuthenticationPlugin
來連接時會以 SSL 保護連線。若要確認是否如此,請在 mysql>
命令提示中輸入下列命令。
show status like 'Ssl%';
輸出中的以下幾行顯示更多詳細資訊。
+---------------+-------------+ | Variable_name | Value | +---------------+-------------+ | ... | ... | Ssl_cipher | AES256-SHA | | ... | ... | Ssl_version | TLSv1.1 | | ... | ... +-----------------------------+
如果要透過 Proxy 連線到資料庫叢集,請參閱 使用 IAM 身分驗證連線到代理。