使用 Babelfish 的 Active Directory 安全群組設定 Kerberos 身分驗證 - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Babelfish 的 Active Directory 安全群組設定 Kerberos 身分驗證

從 Babelfish 4.2.0 版開始,您可以使用 Active Directory 安全群組為 Babelfish 設定 Kerberos 身分驗證。以下是使用 Active Directory 設定 Kerberos 身分驗證的先決條件:

  • 您必須遵循 所述的所有步驟使用 Babelfish 進行 Kerberos 身分驗證

  • 確保資料庫執行個體與 Active Directory 相關聯。若要驗證,您可以在 主控台或執行 來檢視網域成員資格的狀態 describe-db-instances AWS CLI 命令。

    資料庫執行個體的狀態應該啟用 kerberos。如需了解網域成員資格的詳細資訊,請參閱了解網域成員資格

  • 使用以下查詢驗證 NetBIOS 網域名稱和DNS網域名稱之間的映射:

    SELECT netbios_domain_name, fq_domain_name FROM babelfish_domain_mapping;
  • 繼續之前,請先驗證使用個別登入的 Kerberos 身分驗證是否如預期運作。使用 Kerberos 身分驗證做為 Active Directory 使用者的連線應該成功。如果您遇到任何問題,請參閱 常見錯誤

設定 pg_ad_mapping 延伸模組

您必須遵循 設定 pg_ad_ 映射擴充功能 中提到的所有步驟。若要驗證是否已安裝延伸模組,請從TDS端點執行下列查詢:

1> SELECT extname, extversion FROM pg_extension where extname like 'pg_ad_mapping'; 2> GO extname extversion ------------- ---------- pg_ad_mapping 0.1 (1 rows affected)

管理群組登入

依照 所述的步驟建立群組登入管理登入。我們建議您使用與 Active Directory (AD) 安全群組名稱相同的登入名稱,以便更輕鬆地進行維護,但這不是強制性的。例如:

CREATE LOGIN [corp\accounts-group] FROM WINDOWS [WITH DEFAULT_DATABASE=database]

稽核和記錄

若要判斷 AD 安全委託人身分,請使用下列命令:

1> select suser_name(); 2> GO suser_name ---------- corp\user1 (1 rows affected)

目前,日誌中看不到 AD 使用者身分。您可以開啟 log_connections 參數來記錄資料庫工作階段的建立。如需詳細資訊,請參閱 log_connections。輸出包含 AD 使用者身分做為主體,如下列範例所示。與此輸出PID相關聯的後端可以協助將動作歸納回實際 AD 使用者。

bbf_group_ad_login@babelfish_db:[615]:LOG: connection authorized: user=bbf_group_ad_login database=babelfish_db application_name=sqlcmd GSS (authenticated=yes, encrypted=yes, principal=user1@CORP.EXAMPLE.COM)