Azure App Service のデプロイ資格情報の構成
ローカル コンピューターからのアプリのデプロイをセキュリティで保護するために、Azure App Service では、ローカル Git デプロイと FTP/S デプロイに対して 2 種類の資格情報がサポートされています。 これらの資格情報は Azure サブスクリプションの資格情報とは異なります。
ユーザー レベルの資格情報: Azure アカウント全体の資格情報セットです。 これを使用して、Azure アカウントがアクセス許可を持っているすべてのアプリをサブスクリプションに関係なく App Service にデプロイできます。 これは、ポータルの GUI (アプリのリソース ページの [概要] や [プロパティ] など) に表示される既定のセットです。 ユーザーがロールベースのアクセス制御 (RBAC) または共同管理者のアクセス許可を使用してアプリのアクセス権を付与されると、そのユーザーは、アクセス権が取り消されるまで自分のユーザーレベル資格情報を使用できます。 これらの資格情報は他の Azure ユーザーと共有しないでください。
アプリ レベルの資格情報: アプリごとの資格情報セットです。 そのアプリのみにデプロイするために使用できます。 各アプリの資格情報は、アプリの作成時に自動的に生成されます。 これらは手動で構成できませんが、いつでもリセットできます。 RBAC を使用してアプリ レベルの資格情報へのアクセス権がユーザーに付与される場合、そのユーザーはアプリに対して共同作成者以上の権限 (Web サイトの共同作成者の組み込みロールを含む) を持つ必要があります。 閲覧者は発行を許可されていないため、この資格情報にアクセスできません。
Note
基本認証が無効になっている場合、デプロイ センターでデプロイの資格情報を表示または構成することはできません。
ユーザー スコープの資格情報を構成する
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 を追加するときは、 git-http-push
でエラー 22 が発生しないように、必ず /<app-name>.git
を追加してください。 さらに、変数補間にドル記号 (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/S を使用してアプリをデプロイする方法を確認します。