次の方法で共有


Azure App Service のデプロイ資格情報の構成

ローカル コンピューターからのアプリのデプロイをセキュリティで保護するために、 Azure App Service では、 ローカル Git デプロイFTP/FTPS デプロイの 2 種類の資格情報がサポートされています。 これらの資格情報は、Azure サブスクリプションの資格情報とは異なります。

  • ユーザー レベルの資格情報: Azure アカウント全体の資格情報の 1 つのセット。 これらの資格情報を使用して、Azure アカウントがアクセス許可を持つ任意のサブスクリプション内の任意のアプリの App Service にデプロイできます。 この資格情報セットは、ポータルのグラフィカル環境 (アプリのリソース ウィンドウ[概要] や [プロパティ] など) に表示される既定の資格情報です。 ロールベースのアクセス制御 (RBAC) または共同管理者のアクセス許可を使用してアプリアクセス権が付与されたユーザーは、アクセスが取り消されるまでユーザー レベルの資格情報を使用できます。 これらの資格情報を他の Azure ユーザーと共有しないでください。

  • アプリ レベルの資格情報: アプリごとに 1 セットの資格情報。 これらの資格情報は、そのアプリにのみデプロイするために使用できます。 各アプリの資格情報は、アプリの作成時に自動的に生成されます。 これらは手動で構成できませんが、いつでもリセットできます。 RBAC を介してアプリ レベルの資格情報へのアクセス権をユーザーに付与するには、そのユーザーがアプリに 対する共同作成者 レベル以上のアクセス許可 (組み込みの Web サイト共同作成者 ロールを含む) を持っている必要があります。 閲覧者は発行を許可されず、これらの資格情報にアクセスできません。

基本認証が無効になっている場合、展開センターで展開資格情報を表示または構成することはできません。

ユーザースコープのクレデンシャルを設定する

az webapp deployment user set コマンドを実行します。 <username><password>をデプロイ ユーザーのユーザー名とパスワードに置き換えます。

  • ユーザー名は Azure 内で一意である必要があり、ローカル Git プッシュの場合は@記号を含めてはなりません。
  • パスワードは長さが 8 文字以上で、文字、数字、記号のうち 2 つを含む必要があります。
az webapp deployment user set --user-name <username> --password <password>

JSON 出力には、パスワードが null として表示されます。

ユーザースコープの資格情報を使用して FTP/FTPS を利用する

ユーザー スコープの資格情報を使用して FTP/FTPS エンドポイントに対して認証を行うには、ユーザー名が次の形式に従っている必要があります。 <app-name>\<user-name>

ユーザー スコープの資格情報は特定のリソースではなくユーザーにリンクされるため、サインイン アクションを適切なアプリ エンドポイントに誘導するには、ユーザー名がこの形式である必要があります。

アプリケーション スコープの資格情報を取得する

az webapp deployment list-publishing-profiles コマンドを使用して、アプリケーション スコープの資格情報を取得します。 次に例を示します。

az webapp deployment list-publishing-profiles --resource-group <group-name> --name <app-name>

ローカル Git デプロイでは、az webapp deployment list-publishing-credentials コマンドを使用することもできます。 このコマンドを使用すると、アプリケーション スコープの資格情報が既に埋め込まれているアプリの Git リモート URI が取得されます。 次に例を示します。

az webapp deployment list-publishing-credentials --resource-group <group-name> --name <app-name> --query scmUri

返された Git リモート URI には、最後に /<app-name>.git が含まれません。 リモート URI を追加するときは、 /<app-name>.git でエラー 22 が発生しないように、必ず git-http-push を追加してください。 さらに、変数補間にドル記号を使用するシェル (例: bash) を通じてgit remote add ... を使用する場合、ユーザー名またはパスワード内の\$ドル記号をエスケープしてください。 この文字をエスケープしないと、認証エラーが発生する可能性があります。

アプリケーション スコープの資格情報をリセットする

az resource invoke-action コマンドを使用して、アプリケーション スコープの資格情報をリセットします。

az resource invoke-action --action newpassword --resource-group <group-name> --name <app-name> --resource-type Microsoft.Web/sites

基本認証を無効にする

App Service デプロイでの基本認証の無効化に関する説明を参照してください。

これらの資格情報を使用して、 ローカル Git から、または FTP/FTPS を使用してアプリをデプロイする方法について説明します。