在 Windows 容器中使用 gMSA

來源:互聯網
上載者:User

標籤:github   cti   retrieve   virt   -name   計算   col   blank   執行   

  前不久給公司搭測試環境,其中涉及到了某組件在容器中使用 kerberos 身分識別驗證串連 SQL Server 資料庫的問題。

  Windows 容器本身並不能加入域,但可以通過 gMSA 運行容器使容器進程擁有 gMSA 的身份,這樣一來只需要在 SQL Server 裡添加此 gMSA 的 login 就可以達成目的。注意必須使用 gMSA,普通 MSA 帳號在容器中使用會出問題。

  第一次建立 gMSA 帳號前,需要先建立 KDS(Key Distribute Service)根密鑰(如已建立,可忽略此步驟):

Add-KDSRootKey –EffectiveImmediately

 

  然後,你需要等待漫長的 10 個小時,完成密鑰的複製……好吧,如果是做實驗,可以如此省略這 10 個小時:

Add-KdsRootKey –EffectiveTime ((get-date).addhours(-10))

 

  建立 gMSA:

New-ADServiceAccount -Name Service1 -DNSHostName service1.contoso.com -PrincipalsAllowedToRetrieveManagedPassword [ComputerName1$, ComputerName2$...] -KerberosEncryptionType RC4, AES128, AES256

 

  其中  -DNSHostName  只是一個 group 的名字,不需要把它加入到你的 DNS 中。 -PrincipalsAllowedToRetrieveManagedPassword 則是 host 你的容器的伺服器名,注意 AD 上電腦名稱也是一個帳戶,所以後邊要加“$”。

  下一步,要在容器的 host 上安裝 gMSA

 1 // 安裝 AD 的 PowerShell Module 2 Install-WindowsFeature RSAT-AD-PowerShell 3  4 // 安裝 gMSA 5 Install-ADServiceAccount Service1 6  7 // 測試 8 Test-ADServiceAccount Service1 9 10 // 顯示 “True” 測試通過

 

  接下來,要在容器中使用 gMSA,需要為 docker 建立 CredentialSpec,我們需要 Virtualization-Documentation 中的 CredentialSpec.psm1,它在 Virtualization-Documentation/windows-server-container-tools/ServiceAccounts 中,你可以選擇把整個項目 clone 下來,或者建立名為 CredentialSpec.psm1 的文字檔,然後將檔案內容粘進去。然後,執行以下 PS 命令:

1 Import-Module ./CredentialSpec.psm12 New-CredentialSpec -Name Service1 -AccountName Service1

 

  接下來,可以運行容器了:

docker run -it --security-opt "credentialspec=file://Service1.json" microsoft/windowsservercore nltest /parentdomain

 

輸出你的 AD 名稱,說明運行成功。

在 Windows 容器中使用 gMSA

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.