選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

設定 Aurora MySQL 資料庫叢集的 Kerberos 身分驗證 - Amazon Aurora

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

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

設定 Aurora MySQL 資料庫叢集的 Kerberos 身分驗證

使用 AWS Managed Microsoft AD 設定 Aurora MySQL 資料庫叢集的 Kerberos 身分驗證。若要設定 Kerberos 身分驗證,請遵循下列步驟。

步驟 1:使用 建立目錄 AWS Managed Microsoft AD

AWS Directory Service 在 AWS 雲端中建立全受管 Active Directory。當您建立 AWS Managed Microsoft AD 目錄時, 會代表您 AWS Directory Service 建立兩個網域控制站和網域名稱系統 (DNS) 伺服器。目錄伺服器是在 中的不同子網路中建立VPC。此備援有助於確保即使發生故障,您仍然可以存取目錄。

當您建立 AWS Managed Microsoft AD 目錄時, 會代表您 AWS Directory Service 執行下列任務:

  • 在 中設定 Active DirectoryVPC。

  • 建立含有使用者名稱 Admin 與指定密碼的目錄管理員帳戶。您可以使用此帳戶來管理目錄。

    注意

    請務必儲存此密碼。 AWS Directory Service 不會儲存它。您可以重設此密碼,但是無法擷取此密碼。

  • 建立目錄控制器的安全群組。

當您啟動 時 AWS Managed Microsoft AD, 會 AWS 建立組織單位 (OU),其中包含目錄的所有物件。此 OU 具有您在建立目錄時輸入的 NetBIOS 名稱。它位於網域根中,由 擁有和管理 AWS。

使用 AWS Managed Microsoft AD 目錄建立Admin的帳戶具有 OU 最常見管理活動的許可,包括:

  • 建立、更新或刪除使用者

  • 將資源 (例如檔案或列印伺服器) 新增至您的網域,然後對您 OU 中的使用者指派這些資源的許可

  • 建立其他 OUs和 容器

  • 委派授權

  • 從 Active Directory 資源回收筒還原已刪除的物件

  • 在 Active Directory Web Service 上執行 AD 和 DNS Windows PowerShell 模組

Admin 帳戶也有權執行下列全網域活動:

  • 管理DNS組態 (新增、移除或更新記錄、區域和轉送器)

  • 檢視DNS事件日誌

  • 檢視安全事件日誌

使用 建立目錄 AWS Managed Microsoft AD
  1. 登入 AWS Management Console 並在 開啟 AWS Directory Service 主控台https://console.aws.amazon.com/directoryservicev2/

  2. 在導覽窗格中,選擇 Directories (目錄),然後選擇 Set up directory (設定目錄)。

  3. 選擇 AWS Managed Microsoft AD。 AWS Managed Microsoft AD 是您目前可與 Amazon 搭配使用的唯一選項RDS。

  4. 輸入下列資訊:

    目錄DNS名稱

    目錄的完全合格名稱,例如 corp.example.com

    Directory NetBIOS 名稱

    目錄的簡短名稱,例如:CORP

    目錄描述

    (選用) 目錄的描述。

    管理員密碼

    目錄管理員的密碼。目錄建立程序會建立含有使用者名稱 Admin 與這組密碼的管理員帳戶。

    目錄管理員密碼不得包含 "admin" 字組。密碼區分大小寫,長度須為 8 至 64 個字元。至少須有一位字元屬於以下四種類型中的三類:

    • 小寫字母 (a–z)

    • 大寫字母 (A–Z)

    • 數字 (0–9)

    • 非英數字元 (~!@#$%^&*_-+=`|\(){}[]:;"'<>,.?/)

    Confirm password (確認密碼)

    重新輸入的管理員密碼。

  5. 選擇 Next (下一步)

  6. Networking (聯網) 區段輸入以下資訊,然後選擇 Next (下一步)

    VPC

    目錄VPC的 。在此相同的 中建立 Aurora MySQL 資料庫叢集VPC。

    子網路

    目錄伺服器的子網路。這兩個子網路必須位於不同的可用區域。

  7. 檢閱目錄資訊,並進行必要的變更。若資訊無誤,請選擇 Create directory (建立目錄)

    建立期間的目錄詳細資訊頁面

建立目錄需要幾分鐘的時間。成功建立時,Status (狀態) 值會變更為 Active (作用中)

如要查看您目錄的資訊,請在目錄清單中選擇目錄名稱。請注意目錄 ID 值,因為當您建立或修改 Aurora MySQL 資料庫叢集時,需要此值。

在目錄詳細資訊頁面上的目錄 ID

步驟 2:(選擇性) 為內部部署 Active Directory 建立信任

如果您不打算使用自己的內部部署 Microsoft Active Directory,請跳至步驟 3:建立IAM角色以供 Amazon Aurora 使用.

若要搭配您的內部部署 Active Directory 使用 Kerberos 身分驗證,您需要使用內部部署 Microsoft Active Directory 與 AWS Managed Microsoft AD 目錄 (在 中建立) 之間的樹系信任來建立信任網域關係步驟 1:使用 建立目錄 AWS Managed Microsoft AD。信任可以是單向的,其中 AWS Managed Microsoft AD 目錄信任內部部署 Microsoft Active Directory。信任也可以是雙向,其中兩個 Active Directory 互相信任。如需使用 設定信任的詳細資訊 AWS Directory Service,請參閱 AWS Directory Service 管理指南中的何時建立信任關係

注意

如果您使用內部部署 Microsoft Active Directory:

  • Windows 用戶端無法使用 Aurora 自訂端點進行連線。如需進一步了解,請參閱 Amazon Aurora 端點連線

  • 針對全球資料庫

    • Windows 用戶端只能使用全域資料庫主要 AWS 區域 中的執行個體端點或叢集端點進行連線。

    • Windows 用戶端無法使用次要叢集端點進行連線 AWS 區域。

請確定您的內部部署 Microsoft Active Directory DNS 網域名稱包含對應至新建立信任關係的尾碼路由。以下螢幕擷取畫面顯示了一個範例。

DNS 路由對應至建立的信任

步驟 3:建立IAM角色以供 Amazon Aurora 使用

若要讓 Amazon Aurora AWS Directory Service 為您呼叫 ,您需要使用 受管IAM政策 的 AWS Identity and Access Management (IAM) 角色AmazonRDSDirectoryServiceAccess。此角色允許 Aurora 呼叫 AWS Directory Service。

當您使用 建立資料庫叢集 AWS Management Console,並且您擁有 iam:CreateRole許可時,主控台會自動建立此角色。在此情況下,角色名稱為 rds-directoryservice-kerberos-access-role。否則,您必須手動建立IAM角色。當您建立此IAM角色時,請選擇 Directory Service,然後將 AWS 受管政策連接至AmazonRDSDirectoryServiceAccess該角色。

如需為 服務建立IAM角色的詳細資訊,請參閱IAM《 使用者指南》中的建立角色以將許可委派給 AWS 服務

您可以選擇性地建立具有必要許可的政策,而不是使用受管 IAM 政策 AmazonRDSDirectoryServiceAccess。在此情況下,IAM角色必須具有下列IAM信任政策。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "directoryservice.rds.amazonaws.com", "rds.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

此角色也須具有下列 IAM 角色政策:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ds:DescribeDirectories", "ds:AuthorizeApplication", "ds:UnauthorizeApplication", "ds:GetAuthorizedApplicationDetails" ], "Effect": "Allow", "Resource": "*" } ] }

步驟 4:建立和設定使用者

您可以使用 Active Directory 使用者和運算集區來建立使用者。這個工具是 Active Directory Domain Services 和 Active Directory 輕量型目錄服務工具的一部分。使用者代表具有目錄存取權的個人或實體。

若要在 AWS Directory Service 目錄中建立使用者,您可以根據加入 AWS Directory Service 目錄的 Microsoft Windows,使用內部部署或 Amazon EC2執行個體。您必須以具有建立使用者之許可的使用者身分來登入執行個體。如需詳細資訊,請參閱《 AWS Managed Microsoft AD Directory Service 管理指南》中的管理AWS 中的使用者和群組

步驟 5:建立或修改 Aurora MySQL 資料庫叢集

建立或修改 Aurora MySQL 資料庫叢集,以與您的目錄搭配使用。您可以使用 主控台 AWS CLI或 RDSAPI,將資料庫叢集與目錄建立關聯。您可採用下列其中一種方式來執行此動作:

Kerberos 身分驗證僅支援 中的 Aurora MySQL 資料庫叢集VPC。資料庫叢集可以與 目錄VPC位於相同的 ,也可以位於不同的 VPC。資料庫叢集VPC的安全群組VPC必須允許傳出通訊到您的目錄。

使用主控台建立、修改或還原資料庫叢集時,請在 Database authentication (資料庫身分驗證) 區段中選擇 Kerberos authentication (Kerberos 身分驗證)。選擇 Browse Directory (瀏覽目錄) 並選取目錄,或是選擇 Create a new directory (建立新目錄)

建立資料庫叢集時的 Kerberos 身分驗證設定

主控台

使用主控台建立、修改或還原資料庫叢集時,請在 Database authentication (資料庫身分驗證) 區段中選擇 Kerberos authentication (Kerberos 身分驗證)。選擇 Browse Directory (瀏覽目錄) 並選取目錄,或是選擇 Create a new directory (建立新目錄)

建立資料庫叢集時的 Kerberos 身分驗證設定

當您使用 AWS CLI 或 RDS 時API,請將資料庫叢集與目錄建立關聯。資料庫叢集需要下列參數,才能使用您建立的網域目錄:

  • 針對 --domain 參數,使用您建立目錄時產生的網域識別符 ("d-*" 識別符)。

  • 針對 --domain-iam-role-name 參數,請使用您建立的 角色,其使用 受管IAM政策 AmazonRDSDirectoryServiceAccess

例如,下列CLI命令會修改資料庫叢集以使用目錄。

用於 Linux, macOS、 或 Unix:

aws rds modify-db-cluster \ --db-cluster-identifier mydbcluster \ --domain d-ID \ --domain-iam-role-name role-name

用於 Windows:

aws rds modify-db-cluster ^ --db-cluster-identifier mydbcluster ^ --domain d-ID ^ --domain-iam-role-name role-name

當您使用 AWS CLI 或 RDS 時API,請將資料庫叢集與目錄建立關聯。資料庫叢集需要下列參數,才能使用您建立的網域目錄:

  • 針對 --domain 參數,使用您建立目錄時產生的網域識別符 ("d-*" 識別符)。

  • 針對 --domain-iam-role-name 參數,請使用您建立的 角色,其使用 受管IAM政策 AmazonRDSDirectoryServiceAccess

例如,下列CLI命令會修改資料庫叢集以使用目錄。

用於 Linux, macOS、 或 Unix:

aws rds modify-db-cluster \ --db-cluster-identifier mydbcluster \ --domain d-ID \ --domain-iam-role-name role-name

用於 Windows:

aws rds modify-db-cluster ^ --db-cluster-identifier mydbcluster ^ --domain d-ID ^ --domain-iam-role-name role-name
重要

如果您修改資料庫叢集,以啟用 Kerberos 身分驗證,請在進行變更後重新啟動讀取器資料庫執行個體。

步驟 6:建立使用 Kerberos 身分驗證的 Aurora SQL我的使用者

資料庫叢集會加入網域 AWS Managed Microsoft AD 。因此,您可以從網域中的 Active Directory 使用者建立 Aurora MySQL 使用者。資料庫許可是透過標準 Aurora MySQL 許可來管理,這些許可會授予這些使用者並從中撤銷。

您可以允許 Active Directory 使用者使用 Aurora My 進行身分驗證SQL。若要執行此操作,請先使用 Amazon RDS主要使用者登入資料來連線至 Aurora MySQL 資料庫叢集,如同任何其他資料庫叢集一樣。登入後,在 Aurora MySQL 中建立使用 Kerberos 身分驗證的外部身分驗證使用者,如下所示:

CREATE USER user_name@'host_name' IDENTIFIED WITH 'authentication_kerberos' BY 'realm_name';
  • 請將 user_name 換成使用者名稱。來自您網域的使用者 (人員和應用程式兩者) 現在可以使用 Kerberos 身分驗證從加入網域的用戶端機器連線至資料庫叢集。

  • 以主機名稱取代 host_name。您可以使用 % 做為萬用字元。您也可以使用特定的 IP 地址做為主機名稱。

  • realm_name 將 取代為網域的目錄領域名稱。領域名稱通常與大寫字母DNS網域名稱相同,例如 CORP.EXAMPLE.COM。領域是使用相同 Kerberos 金鑰發佈中心的系統群組。

下列範例會建立名為 Admin 的資料庫使用者,該名稱會以領域名稱 MYSQL.LOCAL 對 Active Directory 進行驗證。

CREATE USER Admin@'%' IDENTIFIED WITH 'authentication_kerberos' BY 'MYSQL.LOCAL';

修改現有的 Aurora MySQL 登入

您也可以使用下列語法,修改現有的 Aurora MySQL 登入以使用 Kerberos 身分驗證:

ALTER USER user_name IDENTIFIED WITH 'authentication_kerberos' BY 'realm_name';

步驟 7:設定我的SQL用戶端

若要設定 MySQL 用戶端,請執行下列步驟:

  1. 建立可指向網域的 krb5.conf 檔案 (或同等檔案)。

  2. 確認流量可以在用戶端主機與 之間流動 AWS Directory Service。請使用 Netcat 等網路公用程式檢查以下各項:

    • 驗證連接埠 53 DNS的流量。

    • 驗證連接埠 53 和 Kerberos 的 TCP/UDP 流量,其中包括連接埠 88 和 464 AWS Directory Service。

  3. 確定流量可透過資料庫連接埠在用戶端主機和資料庫執行個體之間往來。例如,您可以使用 mysql 來連接和存取資料庫。

以下是 的範例krb5.conf內容 AWS Managed Microsoft AD。

[libdefaults] default_realm = EXAMPLE.COM [realms] EXAMPLE.COM = { kdc = example.com admin_server = example.com } [domain_realm] .example.com = EXAMPLE.COM example.com = EXAMPLE.COM

下列是內部部署 Microsoft Active Directory 的範例 krb5.conf 內容。

[libdefaults] default_realm = EXAMPLE.COM [realms] EXAMPLE.COM = { kdc = example.com admin_server = example.com } ONPREM.COM = { kdc = onprem.com admin_server = onprem.com } [domain_realm] .example.com = EXAMPLE.COM example.com = EXAMPLE.COM .onprem.com = ONPREM.COM onprem.com = ONPREM.COM .rds.amazonaws.com = EXAMPLE.COM .amazonaws.com.cn = EXAMPLE.COM .amazon.com = EXAMPLE.COM

步驟 8:(選用) 設定不區分大小寫的使用者名稱比較

根據預設,我的SQL資料庫使用者名稱的字元大小寫必須符合 Active Directory 登入的字元大小寫。不過,您現在可以搭配 authentication_kerberos 外掛程式使用不區分大小寫的使用者名稱比較。若要這麼做,請將 authentication_kerberos_caseins_cmp 資料庫叢集參數設定為 true

使用不區分大小寫的使用者名稱比較
  1. 建立自訂資料庫叢集參數群組。請遵循在 Amazon Aurora 中建立資料庫叢集參數群組中的程序。

  2. 編輯新的參數群組,將 authentication_kerberos_caseins_cmp 的值設定為 true。請遵循在 Amazon Aurora 中修改資料庫叢集參數群組中的參數中的程序。

  3. 將資料庫叢集參數群組與您的 Aurora MySQL 資料庫叢集建立關聯。請遵循將資料庫叢集參數群組與 Amazon Aurora 中的資料庫叢集建立關聯中的程序。

  4. 重新啟動資料庫叢集。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。