假設我有我的PowerShell代碼,它對Azure訂閱採取特定的操作。我知道必須使用我的Azure用戶名或Azure服務主體登錄Azure。如何在PowerShell中保護Azure服務主體代碼
在我的情況下,我想使用服務負責人,因爲很多人都會使用此代碼,我不想讓每個人都可以訪問我的訂閱。所以我只能訪問這個SP。
我意識到,要使用SP登錄,我需要在我的代碼中包含應用程序ID和密鑰,並且如果我的代碼遭到入侵,那麼來自我們公司外部的人員也可以使用應用程序ID和密鑰進行登錄在和做我的訂閱的東西。
有沒有什麼辦法可以保護自己免受這種安全風險?我看到還有一個關於Azure AD的部分,我可以指定可以訪問服務主體(Azure App)的用戶/組。但它會更像是一個雙重認證?你能指點我正確的方向嗎?
如果你還可以與我分享一些示例代碼,將非常感謝。
設置服務主體以通過證書進行登錄,並將證書與腳本一起分發,並以此方式進行身份驗證。然後,如果有外部人員將他們的手放在您的腳本上,他們就不能在沒有證書的情況下使用它來影響您的訂閱。 – TheMadTechnician
證書的使用也不會消除風險 – iSi
@TheMadTechnician我同意TheMadtechnician。您使用證書創建服務主體,並將證書提供給您信任的人員。使用服務主體+證書登錄您的訂閱。 '$ Certs = Get-ChildItem cert:\ CurrentUser \ My \ | Where-Object {$ _。Subject -match $ CertificateName}; Add-AzureRmAccount -ServicePrincipal -CertificateThumbprint $ Cert.Thumbprint -ApplicationId $ ServicePrincipalApplicationId -TenantId $ TenantId' –