サービスプリンシパルを作成するAADを選択する方法に関するドキュメントは見つかりません。基本的に、ローカルAADにSPを追加する方法があるかどうかはわかりません。サービスプリンシパルを作成するAADはどのように選択するのですか?
私たちは、すべての登録とそのすべての登録をカバーするデフォルトのグローバルADを持っています。私はPowershellを使って、ネット上の多くの例から派生したデフォルトのADにSPを作成しています。それは私が次のような問題に遭遇しました。この時点で。
で作業しようとしているサブスクリプションに対するそれから私の許可SP。 私はキーボルトを展開していますが、これは機能します。
New-AzureRmKeyVault -VaultName $VaultName -EnabledForDeployment -EnabledForTemplateDeployment -ResourceGroupName $ResourceGroupName -Location $Location -Verbose
デプロイメントの一部として最初のシークレットを追加する必要があります。 SPがKVにアクセスできないため、このビットは失敗します。
# Set-AzureRmKeyVaultAccessPolicy -VaultName $VaultName -ResourceGroupName $ResourceGroupName -PermissionsToSecrets get,set -ServicePrincipalName $ServicePrincipalName
これは、このコマンドの結果です。
Set-AzureRmKeyVaultAccessPolicy : Cannot find the Active Directory object
'Service-Principal-Name' in tenant '6166a717-xxxx-xxxxx-b0e8-6b7288c1f7ec'.
Please make sure that the user or application service principal you are
authorizing is registered in the current subscription's Azure Active
directory.
これを読んで、グローバルADサービスプリンシパルをローカルKeyvaultで取得/設定するように設定することはできません。それはローカルのサービスプリンシパルでなければなりません。しかし、私たちはそれらの1つを持っていないし、どこにそれらの1つを作成する方法を解決することができます。
誰もがこの痛みを感じ、それを解決する方法を知っていますか?
あなたはサブスクリプションのデフォルトのディレクトリを変更する方法があると言っていますか?もしそうなら、それは将来それを試してアクセスしようとする他のすべてのエンティティに対して、サブスクリプションに対する認証にどのように影響しますか? – bytejunkie
はい。古いポータルの同じ設定ページでデフォルトのディレクトリを変更することはできますが、それはサブスクリプションのサービス管理者/作成者がアクセスできるだけだと思います。質問の第2の部分については、私が理解しているところから、それはあなたがどのように実装したいかによって決まります。すべてのエンティティの認証を処理する単一のSPを持つことができます。また、リソースにアクセスするエンティティの種類ごとにSPを作成することもできます。 –
私はpowershellでこれをやろうとしていますが、展開を実行するたびにポータルに落としてもらうことは役に立たないでしょう。 – bytejunkie