2017-03-23 6 views
0

私は自分のWebサイトの自動展開パイプラインを設定しています。その一部として、VSTS RMを使用してApiのインポートを自動化する必要があります。 VSTSタスクでカスタムPSスクリプトを使用してこれを実現しました。私たちは、クライアント証明書により確保されているHTTPリクエスト、HTTPSをリダイレクトするために実施しているセキュリティを向上させるためにAzure API Powershell

すなわち

Import-AzureRmApiManagementApi –Context $apimContext –SpecificationFormat 'swagger' –SpecificationUrl 'http://mywebapp.com/swagger/docs/v1' –Path 'apis' 

をインポートするために闊歩URLを使用していました。ここで問題が起こる。

APIマネージャに証明書検証をバイパスするオプションがないため、上記のコマンドを使用して403禁止エラーを返すことはできません。これを解決するために何ができますか?

私は特定の証明書を使ってURLを呼び出すようにWebリクエストを行い、ローカルマシンで正常に機能していたAPIをインポートしようとしました。

$ swaggerurl = "https://mywebapp.org/swagger/docs/1" $ CERT =新オブジェクトSystem.Security.Cryptography.X509Certificates.X509Certificate2( "xyz.cer") $テスト=起動-WebRequest -uri "の$ swaggerurl" -Certificate $ certの $ test.statuscode

インポートAzureRmApiManagementApi -context $ apimContext -SpecificationFormat '闊歩' -SpecificationUrl 'http://mywebapp.com/swagger/docs/v1' -Path 'のAPI'

しかしないでVSTSインラインパワーシェル。証明書の値を受け入れず、403の禁止エラーを返していません。

解決方法を教えてください。

問題:

1.Unableによる闊歩のURLにHTTPSクライアント証明書の検証にAPIマネージャにインポートします。

  1. 正しい証明書を使用していても、VSTSインラインパワーシェルは証明書パラメータの詳細を受け付けません。同じケースがローカルマシンで動作します。 VSTSインラインパワーシェルには何らかの制限があります。

ありがとうございます。

答えて

0

-SpecificationPathパラメータを使用します管理者アカウントとして実行します。今すぐすべてが正常に動作します:)

VSTSプライベートエージェントを使用したAPIのインポート

0

代わりにAzure PowerShellステップ/タスクを使用してください。 (展開カテゴリに含める)

+0

これは助けにもなりませんでした。 ## [error]リモートサーバーがエラーを返しました:(403)禁止されています。 – paulpuvi

+0

@paulpuviここでディテールビルドログを共有できますか?紺碧のpowershellステップの詳細(設定)は何ですか? –

0

これを行うには、API管理サービスがリクエストにClientCertificateを指定して、WebRequestをURLに設定する必要があります。 現在、クライアント証明書を使用してImport-AzureRmApiManagementApiを呼び出すためのオプションは提供していません。

のみ使用可能オプションは、PowerShellの(Invoke-RestMethod)を使用して、WebRequestクラスを作ることです、この問題は、プライベートエージェントを変更することで解決されたローカルファイルへの闊歩をダウンロードしてcmdlet

+0

ありがとう! 私のマシンにインストールされているプラ​​イベートエージェントと同じコードがVSTSで動作します。だから私は専用のマシン(証明書がインストールされている)プライベートエージェントでAPIをインポートすることを計画しているswaggerのURLは、クライアント証明書で保護されています。 – paulpuvi

+0

@paulpuvi私はSwagger UrlでAPIをインポートする際に問題に直面しています。あなたはSwagger.jsonをダウンロードしてそれをインポートすることができましたか?関係するステップを投稿してもらえますか?前もって感謝します :) – Sandesh

関連する問題