Azure AD应用程序通过Powershell添加密钥

我正在尝试使用PowerShell在Azure AD应用程序中添加密钥 . 不幸的是,我首先尝试使用Azure CLI,但经过一些研究和一些stackoverflow的答案,我发现,这是无法做到的 .

我试图通过Powershell从下面的链接自动执行任务:http://blog.davidebbo.com/2014/12/azure-service-principal.html

我也遵循以下步骤:https://blogs.technet.microsoft.com/kv/2015/06/02/azure-key-vault-step-by-step/

有没有办法在Powershell中创建/检索以下内容:

VaultUrl,AuthClientId,AuthClientSecret .

回答(3)

3 years ago

这可以使用New-AzureRmADApplication方法(在创建应用程序时包含它)来完成,但显然不是使用Set-AzureRmADApplication(即在创建应用程序后设置它;我不知道如何设置它只是来自知道方法 . 这个网站让我得到了答案:https://sabin.io/blog/adding-an-azure-active-directory-application-and-key-using-powershell/ .

要点是你必须提供那些方法称为PasswordCredentials的东西,虽然Azure门户似乎称它们为密钥,而一些powershell命令(如SqlAzureAuthenticationContext)调用你设置秘密的值(所有这些都是令人困惑的术语) . 以下是我使用凭证创建的方法:

# Be sure to note $KeyValue! It can't be retrieved.
# It's the "Secret" you can pass to methods like Add-SqlAzureAuthenticationContext in order to authenticate.
$KeyValue = [guid]::NewGuid()
Write-Output "The password you've set is $KeyValue"

$psadCredential = New-Object Microsoft.Azure.Commands.Resources.Models.ActiveDirectory.PSADPasswordCredential
$startDate = Get-Date
$psadCredential.StartDate = $startDate
$psadCredential.EndDate = $startDate.AddYears(1)
$psadCredential.KeyId = [guid]::NewGuid()
$psadCredential.Password = $KeyValue

$adApplication = New-AzureRmADApplication –DisplayName “MyNewApp”`
-HomePage "http://MyNewApp"`
-IdentifierUris "http://MyNewApp"`
-PasswordCredentials $psadCredential

3 years ago

我能找到在PowerShell中创建AAD应用程序并保留密钥记录的唯一方法是使用Graph API . 这样,我可以自己生成键值并显式传递,而不是尝试在输出中捕获它 .

脚本在这里:https://gist.github.com/bjh1977/0953b96e7148d6a845f5d331cb7206a5#file-createaadapplication-ps1

3 years ago

下面将从现有AD应用程序中检索ClientID:

$ADApp = Get-AzureRmADApplication -DisplayName "AzureADApplicationName"
write-host $ADApp.ApplicationId

以下将检索Vault Uri:

$KeyVault= Get-AzureRmKeyVault -VaultName "VaultName"
write-host $KeyVault.VaultUri

我也在寻找从powershell添加密钥的选项 . 当我手动添加密钥时,会显示一条消息,显示“复制并存储密钥值 . 离开此页面后,您将无法检索它” . 但仍然试图找出使用PowerShell检索密钥(ClientSecret)的选项 .