ローカル コンピューターからのアプリのデプロイをセキュリティで保護するために、Azure App Service では、ローカル Git デプロイと FTP/S デプロイに対して 2 種類の資格情報がサポートされています。 これらの資格情報は Azure サブスクリプションの資格情報とは異なります。
ユーザー レベルの資格情報: Azure アカウント全体の資格情報セットです。 これを使用して、Azure アカウントがアクセス許可を持っているすべてのアプリをサブスクリプションに関係なく App Service にデプロイできます。 これは、ポータルの GUI (アプリのリソース ページの [概要] や [プロパティ] など) に表示される既定のセットです。 ユーザーがロールベースのアクセス制御 (RBAC) または共同管理者のアクセス許可を使用してアプリのアクセス権を付与されると、そのユーザーは、アクセス権が取り消されるまで自分のユーザーレベル資格情報を使用できます。 これらの資格情報は他の Azure ユーザーと共有しないでください。
アプリ レベルの資格情報: アプリごとの資格情報セットです。 そのアプリのみにデプロイするために使用できます。 各アプリの資格情報は、アプリの作成時に自動的に生成されます。 これらは手動で構成できませんが、いつでもリセットできます。 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
として表示されます。
ユーザー スコープの資格情報は、任意のアプリのリソース ページで構成できます。 どのアプリで構成した場合でも、これらの資格情報は、Azure アカウント内のすべてのサブスクリプションのすべてのアプリに適用されます。
Azure portal で、[デプロイ資格情報] ページにアクセスするには、少なくとも 1 つのアプリが必要です。 ユーザー スコープの資格情報を構成するには、次の手順を実行します。
アプリの左側のメニューで、>[デプロイ センター]>[FTPS 資格情報] または [ローカル Git/FTPS 資格情報] を選択します。

[ユーザー スコープ] まで下にスクロールし、 [ユーザー名] と [パスワード] を構成してから、 [保存] を選択します。
デプロイ資格情報を設定すると、Git デプロイのユーザー名がアプリの [概要] ページに表示されます。
![アプリの [概要] ページで Git デプロイ ユーザー名を見つける方法を示します。](media/app-service-deployment-credentials/deployment_credentials_overview.png)
Git デプロイが構成されている場合、ページに Git/デプロイ ユーザー名が表示されます。構成されていない場合、FTP/デプロイ ユーザー名が表示されます。
注意
Azure では、ユーザー スコープのデプロイ パスワードは表示されません。 パスワードを忘れた場合は、このセクションの手順に従って、資格情報をリセットできます。
ユーザー スコープの資格情報と 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 を追加するときは、 git-http-push
でエラー 22 が発生しないように、必ず /<app-name>.git
を追加してください。 さらに、変数補間にドル記号 (bash など) を使用するシェル経由で git remote add ...
を使用する場合は、ユーザー名またはパスワード内のドル記号 (\$
) をエスケープします。 この文字をエスケープしないと、認証エラーが発生する可能性があります。
Get-AzWebAppPublishingProfile コマンドを使用して、アプリケーション スコープの資格情報を取得します。 次に例を示します。
Get-AzWebAppPublishingProfile -ResourceGroupName <group-name> -Name <app-name>
アプリの左側のメニューで、 [管理者用センター]>[FTPS 資格情報] または [ローカル Git/FTPS 資格情報] を選択します。

[アプリケーション スコープ] セクションで、 [コピー] リンクを選択してユーザー名またはパスワードをコピーします。
アプリケーション スコープの資格情報をリセットする
az resource invoke-action コマンドを使用して、アプリケーション スコープの資格情報をリセットします。
az resource invoke-action --action newpassword --resource-group <group-name> --name <app-name> --resource-type Microsoft.Web/sites
Invoke-AzResourceAction コマンドを使用して、アプリケーション スコープの資格情報をリセットします。
Invoke-AzResourceAction -ResourceGroupName <group-name> -ResourceType Microsoft.Web/sites -ResourceName <app-name> -Action newpassword
アプリの左側のメニューで、 [管理者用センター]>[FTPS 資格情報] または [ローカル Git/FTPS 資格情報] を選択します。

[アプリケーション スコープ] セクションで、 [リセット] を選択します。
「App Service デプロイでの基本認証を無効にする」を参照してください。
これらの資格情報を使用して、ローカル Git から、または FTP/S を使用してアプリをデプロイする方法を確認します。