web-dev-qa-db-ja.com

Azure DevOpsがAzure Webアプリにデプロイできない

現在、A社が所有するAzure DevOpsのリリースパイプラインから、B社が所有するAzureでホストされているAzureアプリにアプリをデプロイしようとしています。

Azureアプリをリリースストップしようとすると、このエラーが発生し続けます。

エラー:リソースタイプ「Microsoft.Web/Sites」およびリソース名「AppName」のリソースIDの取得に失敗しました。エラー:マネージドサービスプリンシパルのアクセストークンを取得できませんでした。仮想マシンのManaged Service Identity(MSI)を構成してください ' https://aka.ms/Azure-msi-docs '。ステータスコード:400、ステータスメッセージ:Bad Request

これを解決する方法に途方に暮れています。

これまでに行われたこと:

  • WebアプリはB社のAzureで作成されます
  • DevOps Company AアカウントのユーザーがCompany Azure ADのゲストユーザーとして追加されます
  • ユーザーはWebアプリの投稿者権限を持っています
  • 管理されたサービスIDがWebアプリで「オン」に設定されている
  • Azure DevOpsでリリースを設定するときに、B社とWebアプリのサブスクリプションを表示および選択できます。

リリースの展開が機能するためにはさらに多くの必要があると確信していますが、徹底的な検索の後、何も見つかりませんでした。

ここの誰もがアドバイスできることを願っています。

12
AgitoM

私が遭遇した問題の解決策を見つけることができた。これは、Azureサブスクリプションのゲストアカウントのアクセス権に関連していました。

まず、「マネージドサービスアイデンティティ」はこの問題に関連していませんでした。

これらは、A社のAzure DevOpsをB社のAzureに接続するために実行された手順です。

  • Company B AzureでWebアプリを作成しました
  • 会社AのAzure DevOpのアカウントは、会社BのAzureに「ゲストユーザー」として追加されました
  • DevOpのアカウントには、AzureサブスクリプションとWebアプリの両方の投稿者権限が付与されます。
  • A社のDevOpsで、「Azure Resource Manager」を追加します。 B社のAzureの設定を「サービスプリンシパル認証」として選択します
  • Azure Resource Managerを保存すると、ログインするように求められます。 B社のAzureの管理者アカウントでログインする必要があります。
8
AgitoM