Microsoft.Web sites/config 'authsettingsV2'

Bicep 資源定義

月臺/組態資源類型可以使用目標作業進行部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔。

name 屬性的選項

sites/config 資源會根據 name 屬性的值接受不同的屬性。 本文說明當您設定 name: 'authsettingsV2'時可用的屬性。

如需其他選項,請參閱:

資源格式

若要建立 Microsoft.Web/sites/config 資源,請將下列 Bicep 新增至您的範本。

resource symbolicname 'Microsoft.Web/sites/config@2022-09-01' = {
  name: 'authsettingsV2'
  kind: 'string'
  parent: resourceSymbolicName
  properties: {
    globalValidation: {
      excludedPaths: [
        'string'
      ]
      redirectToProvider: 'string'
      requireAuthentication: bool
      unauthenticatedClientAction: 'string'
    }
    httpSettings: {
      forwardProxy: {
        convention: 'string'
        customHostHeaderName: 'string'
        customProtoHeaderName: 'string'
      }
      requireHttps: bool
      routes: {
        apiPrefix: 'string'
      }
    }
    identityProviders: {
      apple: {
        enabled: bool
        login: {
          scopes: [
            'string'
          ]
        }
        registration: {
          clientId: 'string'
          clientSecretSettingName: 'string'
        }
      }
      azureActiveDirectory: {
        enabled: bool
        isAutoProvisioned: bool
        login: {
          disableWWWAuthenticate: bool
          loginParameters: [
            'string'
          ]
        }
        registration: {
          clientId: 'string'
          clientSecretCertificateIssuer: 'string'
          clientSecretCertificateSubjectAlternativeName: 'string'
          clientSecretCertificateThumbprint: 'string'
          clientSecretSettingName: 'string'
          openIdIssuer: 'string'
        }
        validation: {
          allowedAudiences: [
            'string'
          ]
          defaultAuthorizationPolicy: {
            allowedApplications: [
              'string'
            ]
            allowedPrincipals: {
              groups: [
                'string'
              ]
              identities: [
                'string'
              ]
            }
          }
          jwtClaimChecks: {
            allowedClientApplications: [
              'string'
            ]
            allowedGroups: [
              'string'
            ]
          }
        }
      }
      azureStaticWebApps: {
        enabled: bool
        registration: {
          clientId: 'string'
        }
      }
      customOpenIdConnectProviders: {}
      facebook: {
        enabled: bool
        graphApiVersion: 'string'
        login: {
          scopes: [
            'string'
          ]
        }
        registration: {
          appId: 'string'
          appSecretSettingName: 'string'
        }
      }
      gitHub: {
        enabled: bool
        login: {
          scopes: [
            'string'
          ]
        }
        registration: {
          clientId: 'string'
          clientSecretSettingName: 'string'
        }
      }
      google: {
        enabled: bool
        login: {
          scopes: [
            'string'
          ]
        }
        registration: {
          clientId: 'string'
          clientSecretSettingName: 'string'
        }
        validation: {
          allowedAudiences: [
            'string'
          ]
        }
      }
      legacyMicrosoftAccount: {
        enabled: bool
        login: {
          scopes: [
            'string'
          ]
        }
        registration: {
          clientId: 'string'
          clientSecretSettingName: 'string'
        }
        validation: {
          allowedAudiences: [
            'string'
          ]
        }
      }
      twitter: {
        enabled: bool
        registration: {
          consumerKey: 'string'
          consumerSecretSettingName: 'string'
        }
      }
    }
    login: {
      allowedExternalRedirectUrls: [
        'string'
      ]
      cookieExpiration: {
        convention: 'string'
        timeToExpiration: 'string'
      }
      nonce: {
        nonceExpirationInterval: 'string'
        validateNonce: bool
      }
      preserveUrlFragmentsForLogins: bool
      routes: {
        logoutEndpoint: 'string'
      }
      tokenStore: {
        azureBlobStorage: {
          sasUrlSettingName: 'string'
        }
        enabled: bool
        fileSystem: {
          directory: 'string'
        }
        tokenRefreshExtensionHours: int
      }
    }
    platform: {
      configFilePath: 'string'
      enabled: bool
      runtimeVersion: 'string'
    }
  }
}

屬性值

sites/config-authsettingsV2

名稱 描述
NAME 資源名稱

瞭解如何在 Bicep 中設定子資源的名稱和類型。
'authsettingsV2'
kind 資源種類。 字串
父系 (parent) 在 Bicep 中,您可以指定子資源的父資源。 只有在父資源外部宣告子資源時,才需要新增此屬性。

如需詳細資訊,請參閱 父資源外部的子資源
類型資源的符號名稱: sites
properties SiteAuthSettingsV2 資源特定屬性 SiteAuthSettingsV2Properties

SiteAuthSettingsV2Properties

名稱 描述
globalValidation 使用驗證/授權來決定使用者驗證流程的組態設定 App Service。 GlobalValidation
httpSettings 針對驗證/授權發出之 HTTP 要求的組態設定,以及針對 App Service 驗證/授權發出的授權要求。 HttpSettings
identityProviders 用來設定驗證/授權之每個識別提供者的組態設定 App Service。 IdentityProviders
login 使用驗證/授權 App Service 使用者登入流程的組態設定。 登入
平台 App Service 驗證/授權平臺的組態設定。 AuthPlatform

GlobalValidation

名稱 描述
excludedPaths 未經驗證流程的路徑不會重新導向至登入頁面。 string[]
redirectToProvider 設定多個提供者時要使用的預設驗證提供者。
只有在已設定多個提供者和未經驗證的用戶端時,才需要此設定
action 設定為 「RedirectToLoginPage」。。
字串
requireAuthentication true 如果要求需要驗證流程,則為 ;否則為 false bool
unauthenticatedClientAction 未驗證客戶端嘗試存取應用程式時要採取的動作。 'AllowAnonymous'
'RedirectToLoginPage'
'Return401'
'Return403'

HttpSettings

名稱 描述
forwardProxy 用於提出要求的正向 Proxy 組態設定。 ForwardProxy
requireHttps false 如果不允許驗證/授權回應沒有 HTTPS 配置,則為 ;否則為 true bool
路由 路徑 HTTP 要求的組態設定。 HttpSettingsRoutes

ForwardProxy

名稱 描述
公約 用來判斷所提出要求 URL 的慣例。 'Custom'
'NoProxy'
'Standard'
customHostHeaderName 包含要求主機的標頭名稱。 字串
customProtoHeaderName 包含要求配置之標頭的名稱。 字串

HttpSettingsRoutes

名稱 描述
apiPrefix 所有驗證/授權路徑前面的前置詞。 字串

IdentityProviders

名稱 描述
apple Apple 提供者的組態設定。 Apple
azureActiveDirectory Azure Active Directory 提供者的組態設定。 AzureActiveDirectory
azureStaticWebApps Azure Static Web Apps 提供者的組態設定。 AzureStaticWebApps
customOpenIdConnectProviders 每個自定義 Open ID Connect 提供者別名名稱的對應
自訂 Open ID Connect 提供者的組態設定。
物件 (object)
facebook Facebook 提供者的組態設定。 Facebook
gitHub GitHub 提供者的組態設定。 GitHub
Google Google 提供者的組態設定。 Google
legacyMicrosoftAccount 舊版 Microsoft 帳戶提供者的組態設定。 LegacyMicrosoftAccount
Twitter Twitter 提供者的組態設定。 Twitter

Apple

名稱 描述
已啟用 false 如果即使設定註冊,也不應該啟用Apple提供者,則為 ;否則為 true bool
login 登入流程的組態設定。 LoginScopes
註冊 Apple 註冊的組態設定。 AppleRegistration

LoginScopes

名稱 描述
範圍 驗證時應要求的範圍清單。 string[]

AppleRegistration

名稱 描述
clientId 用於登入之應用程式的用戶端識別碼。 字串
clientSecretSettingName 包含客戶端密碼的應用程式設定名稱。 字串

AzureActiveDirectory

名稱 描述
已啟用 false 如果即使已設定註冊,也不應該啟用 Azure Active Directory 提供者,則為 ;否則為 true bool
isAutoProvisioned 取得值,指出是否已使用第一方工具自動布建 Azure AD 組態。
這是主要用來支援 Azure 管理入口網站的內部旗標。 用戶不應該
讀取或寫入這個屬性。
bool
login Azure Active Directory 登入流程的組態設定。 AzureActiveDirectoryLogin
註冊 Azure Active Directory 應用程式註冊的組態設定。 AzureActiveDirectoryRegistration
validation Azure Active Directory 令牌驗證流程的組態設定。 AzureActiveDirectoryValidation

AzureActiveDirectoryLogin

名稱 描述
disableWWWAuthenticate true 如果應該從要求中省略 www-authenticate 提供者,則為 ;否則為 false bool
loginParameters 登入參數,以在何時傳送至 OpenID Connect 授權端點
使用者登入。 每個參數的格式都必須是 「key=value」。。
string[]

AzureActiveDirectoryRegistration

名稱 描述
clientId 此信賴憑證者應用程式的用戶端標識碼,稱為client_id。
若要使用 Azure Active Directory 啟用 OpenID 連線驗證,需要此設定或
其他第三方 OpenID Connect 提供者。
OpenID Connect 的詳細資訊: http://openid.net/specs/openid-connect-core-1_0.html
字串
clientSecretCertificateIssuer 用戶端密碼指紋的替代方式,這是用於簽署之憑證的簽發者。 這個屬性會做為
取代客戶端密碼憑證指紋。 它也是選擇性的。
字串
clientSecretCertificateSubjectAlternativeName 用戶端密碼指紋的替代方案,這是用於簽署之憑證的主體別名。 這個屬性會做為
取代客戶端密碼憑證指紋。 它也是選擇性的。
字串
clientSecretCertificateThumbprint 客戶端密碼的替代方案,也就是用於簽署之憑證的指紋。 這個屬性會做為
取代客戶端密碼。 它也是選擇性的。
字串
clientSecretSettingName 包含信賴憑證者應用程式用戶端密碼的應用程式設定名稱。 字串
openIdIssuer OpenID Connect 簽發者 URI,代表發出此應用程式存取令牌的實體。
使用 Azure Active Directory 時,此值是目錄租使用者的 URI,例如 https://login.microsoftonline.com/v2.0/{tenant-guid}/.
此 URI 是令牌簽發者的區分大小寫標識碼。
OpenID Connect 探索的詳細資訊: http://openid.net/specs/openid-connect-discovery-1_0.html
字串

AzureActiveDirectoryValidation

名稱 描述
allowedAudiences 可以成功驗證/授權要求的物件清單。 string[]
defaultAuthorizationPolicy 默認授權原則的組態設定。 DefaultAuthorizationPolicy
jwtClaimChecks 驗證 JWT 宣告時應該進行的組態設定。 JwtClaimChecks

DefaultAuthorizationPolicy

名稱 描述
allowedApplications Azure Active Directory 允許應用程式的組態設定。 string[]
allowedPrincipals Azure Active Directory 允許主體的組態設定。 AllowedPrincipals

AllowedPrincipals

名稱 描述
groups 允許的群組清單。 string[]
身分識別 允許的身分識別清單。 string[]

JwtClaimChecks

名稱 描述
allowedClientApplications 允許的用戶端應用程式清單。 string[]
allowedGroups 允許的群組清單。 string[]

AzureStaticWebApps

名稱 描述
已啟用 false如果 Azure Static Web Apps 提供者不應在設定註冊的情況下啟用,則為 ,true否則為 。 bool
註冊 Azure Static Web Apps 註冊的組態設定。 AzureStaticWebAppsRegistration

AzureStaticWebAppsRegistration

名稱 描述
clientId 用於登入之應用程式的用戶端識別碼。 字串

Facebook

名稱 描述
已啟用 false如果 Facebook 提供者不應在設定註冊的情況下啟用,則為 ,否則true為 。 bool
graphApiVersion 登入時要使用的 Facebook API 版本。 字串
login 登入流程的組態設定。 LoginScopes
註冊 Facebook 提供者的應用程式註冊組態設定。 AppRegistration

AppRegistration

名稱 描述
appId 用於登入之應用程式的應用程式識別碼。 字串
appSecretSettingName 包含應用程式秘密的應用程式設定名稱。 字串

GitHub

名稱 描述
已啟用 false 如果 GitHub 提供者不應在設定註冊的情況下啟用,則為 ;否則為 true bool
login 登入流程的組態設定。 LoginScopes
註冊 GitHub 提供者的應用程式註冊組態設定。 ClientRegistration

ClientRegistration

名稱 描述
clientId 用於登入之應用程式的用戶端識別碼。 字串
clientSecretSettingName 包含客戶端密碼的應用程式設定名稱。 字串

Google

名稱 描述
已啟用 false 如果即使設定註冊,也不應該啟用 Google 提供者,則為 ;否則為 true bool
login 登入流程的組態設定。 LoginScopes
註冊 Google 提供者的應用程式註冊組態設定。 ClientRegistration
validation Azure Active Directory 令牌驗證流程的組態設定。 AllowedAudiencesValidation

AllowedAudiencesValidation

名稱 描述
allowedAudiences 要從中驗證 JWT 令牌之允許物件清單的組態設定。 string[]

LegacyMicrosoftAccount

名稱 描述
已啟用 false 如果即使設定註冊,仍不應啟用舊版 Microsoft 帳戶提供者,則為 ;否則為 true bool
login 登入流程的組態設定。 LoginScopes
註冊 舊版 Microsoft 帳戶提供者的應用程式註冊組態設定。 ClientRegistration
validation 舊版 Microsoft 帳戶提供者令牌驗證流程的組態設定。 AllowedAudiencesValidation

Twitter

名稱 描述
已啟用 false 如果即使已設定註冊,也不應該啟用 Twitter 提供者;否則為 true bool
註冊 Twitter 提供者的應用程式註冊組態設定。 TwitterRegistration

TwitterRegistration

名稱 描述
consumerKey 用於登入之 Twitter 應用程式的 OAuth 1.0a 取用者密鑰。
啟用 Twitter 登入需要此設定。
Twitter Sign-In 檔: https://dev.twitter.com/web/sign-in
字串
consumerSecretSettingName 包含 Twitter OAuth 1.0a 消費者密碼的應用程式設定名稱
用於登入的應用程式。
字串

登入

名稱 描述
allowedExternalRedirectUrls 可在登入或註銷應用程式時重新導向至 的外部URL。 請注意,會忽略 URL 的查詢字串部分。
這是 Windows 市集應用程式後端通常需要的進階設定。
請注意,目前網域內的URL一律會隱含允許。
string[]
cookieExpiration 會話 Cookie 到期的組態設定。 CookieExpiration
nonce 登入流程中使用的 Nonce 組態設定。 Nonce
preserveUrlFragmentsForLogins true 如果在提出登入要求之後保留來自要求的片段,則為 ;否則為 false bool
路由 指定用於登入和註銷要求的端點的路由。 LoginRoutes
tokenStore 令牌存放區的組態設定。 TokenStore

CookieExpiration

名稱 描述
公約 判斷會話 Cookie 到期時所使用的慣例。 'FixedTime'
'IdentityProviderDerived'
timeToExpiration 當會話 Cookie 到期時,要求之後的時間。 字串

Nonce

名稱 描述
nonceExpirationInterval 要求到期后的時間。 字串
validateNonce false 如果在完成登入流程時不應該驗證 nonce,則為 ;否則為 true bool

LoginRoutes

名稱 描述
logoutEndpoint 應提出註銷要求的端點。 字串

TokenStore

名稱 描述
azureBlobStorage 如果使用 Blob 記憶體,令牌記憶體的組態設定。 BlobStorageTokenStore
已啟用 true 若要永久儲存在登入流程期間取得的平臺特定安全性令牌;否則為 false
預設為 false
bool
fileSystem 如果使用檔案系統,令牌記憶體的組態設定。 FileSystemTokenStore
tokenRefreshExtensionHours 會話令牌到期后的時數,會話令牌可用來
呼叫令牌重新整理 API。 預設值為 72 小時。
int

BlobStorageTokenStore

名稱 描述
sasUrlSettingName 包含令牌之 Blob 記憶體 SAS URL 的應用程式設定名稱。 字串

FileSystemTokenStore

名稱 描述
directory 將儲存令牌的目錄。 字串

AuthPlatform

名稱 描述
configFilePath 如果配置檔來自檔案,則為包含驗證設定的組態檔路徑。
如果路徑相對,基底會是月臺的根目錄。
字串
已啟用 true 如果目前應用程式已啟用驗證/授權功能,則為 ;否則為 false bool
runtimeVersion 用於目前應用程式的 Authentication /Authorization 功能的 RuntimeVersion。
此值中的設定可以控制驗證/授權模組中特定功能的行為。
字串

快速入門範本

下列快速入門範本會部署此資源類型。

範本 描述
在 App Services 上使用 PostgreSQL 資料庫的 Airflow Web 應用程式

部署至 Azure
在 App Services 上使用 PostgreSQL 資料庫部署 Airflow Web 應用程式的範本
Azure 中的 EPiserverCMS

部署至 Azure
此範本可讓您在 Azure 中建立 EpiServerCMS 部署所需的資源
使用 Jenkins 和 Azure Web Apps 的 Java CI/CD

部署至 Azure
這是使用 Jenkins 和 Azure Web Apps 的 Java CI/CD 範例。
Orchard CMS 影片入口網站 Web 應用程式

部署至 Azure
此範本提供一種簡單的方式,可在已啟用和設定 Azure 媒體服務模組的 Azure App 服務 Web Apps 上部署 Orchard CMS。
適用於 Azure 事件中樞的 PubNub 即時閘道

部署至 Azure
適用於 Azure 的 PubNub 即時閘道提供 PubNub 資料流網路與 Azure 事件中樞 之間的實時數據流網橋。 -- 將其視為 PubNub 與 Azure 之間的雙向網橋!
可調整的 Umbraco CMS Web 應用程式

部署至 Azure
此範本提供在 Azure App 服務 Web Apps 上部署 umbraco CMS Web 應用程式的簡單方式。
簡單 Umbraco CMS Web 應用程式

部署至 Azure
此範本提供在 Azure App 服務 Web Apps 上部署 umbraco CMS Web 應用程式的簡單方式。
在應用程式中搭配 MySQL App Service 上的 WordPress

部署至 Azure
此範本會在應用程式中使用 MySQL 在 Windows App Service 上部署 WordPress Web 應用程式
Enterprise Governance-AppService、SQL DB、AD、OMS、Runbook

部署至 Azure
企業或大型的雲端採用需要負責任且有效率的治理模型,才能從其雲端部署衍生價值。 CloudWise (解決方案) 的程式代碼名稱,是 Azure 合作夥伴快速入門中提供的複合解決方案,是客戶、系統整合者和合作夥伴的採用啟用者,可提供自助式、自動化的治理和作業解決方案,著重於優化成本、改善應用程式 () 可靠性、降低商務風險。 此解決方案強調可見度和控制的核心治理要素。
使用 Azure SQL 私人端點的 WebApp

部署至 Azure
此範本示範如何建立 Web 應用程式,以取用指向 Azure SQL Server 的私人端點
Moesif API 分析和獲利

部署至 Azure
此範本會將來自 Azure API 管理 的 API 呼叫記錄到 Moesif API 分析和獲利平臺
從 Azure Logic Apps 呼叫自定義 API

部署至 Azure
雖然 Logic Apps 為各種服務提供數百個連接器,但您可能想要呼叫執行您自己的程式代碼的 API。 裝載您自己的 Web API 的最簡單且最可調整方式之一,就是使用 Azure App 服務。 此範本會為您的自訂 API 部署 Web 應用程式,並使用 Azure Active Directory 驗證保護該 API。
具有IP限制的Web應用程式 應用程式閘道

部署至 Azure
此範本會在 Azure Web 應用程式前面建立應用程式閘道,並在 Web 應用程式上啟用 IP 限制。
使用 Azure SQL 後端 App Service 環境

部署至 Azure
此範本會建立具有 Azure SQL 後端以及私人端點以及通常用於私人/隔離環境中相關聯資源的 App Service 環境。
布建在 App Service 方案上執行的函式應用程式

部署至 Azure
此範本會在專用主控方案上布建函式應用程式,這表示它會執行並計費,就像任何 App Service 網站一樣。
具有事件中樞和受控識別的 Azure 函式應用程式

部署至 Azure
他的範本會在Linux取用方案上布建 Azure 函式應用程式,以及事件中樞、Azure 記憶體和 Application Insights。 函式應用程式能夠使用受控識別來連線到事件中樞和記憶體帳戶
使用 vnet 整合部署 Azure Function Premium 方案

部署至 Azure
此範本可讓您將已啟用區域虛擬網路整合的 Azure Function Premium 方案部署到新建立的虛擬網路。
使用 SQL Database 布建行動應用程式

部署至 Azure
此範本會布建行動應用程式、SQL Database和通知中樞。 它會在資料庫和通知中樞的行動應用程式中設定 連接字串。
具有私人端點的 Web 應用程式

部署至 Azure
此範本可讓您建立 Web 應用程式,並透過私人端點公開
使用內部 API 管理和 Web 應用程式 應用程式閘道

部署至 Azure
應用程式閘道 將因特網流量路由傳送至虛擬網路 (內部模式) API 管理 實例,其服務裝載於 Azure Web 應用程式中的 Web API。
使用 Blob 記憶體建立 Azure Web 應用程式 連接字串

部署至 Azure
使用 Blob 記憶體建立 Azure Web 應用程式 連接字串,此範本最初由 Microsoft Jeff 的 Jeff 的作者
使用診斷記錄至 Blob 容器的 Web 應用程式

部署至 Azure
使用診斷記錄將 Web 應用程式部署至已啟用記憶體帳戶 Blob 容器。
在已啟用 Java 13 和 Tomcat 9 的 Azure 上建立 Web 應用程式

部署至 Azure
此範本會在已啟用 Java 13 和 Tomcat 9 的 Azure 上建立 Web 應用程式,讓您能夠在 Azure 中執行 Java 應用程式。 範本是由 Microsoft Donovan Brown 所撰寫。
Web 應用程式 w/ Application Insights 傳送至 Log Analytics

部署至 Azure
此範本將協助支援 microsoft.insights/components 的新 API 版本。 從 2020-02-02-preview WorkspaceID 開始,建立 Application Inisghts 時將會需要此範本。此範本會部署 App Service 方案、App Service、Application Insights、Log Analytics 工作區,並將其全部連結在一起。
具有受控識別、SQL Server和 ΑΙ 的 Web 應用程式

部署至 Azure
為應用程式 + 資料 + 受控識別 + 監視部署 Azure 基礎結構的簡單範例
使用範本建立 Web 應用程式 + Redis 快取 + SQL DB

部署至 Azure
此範本會建立具有 Redis 快取和 SQL Database 的 Azure Web 應用程式。
使用 SQL Database 布建 Web 應用程式

部署至 Azure
此範本會布建 Web 應用程式、SQL Database、自動調整設定、警示規則和 App Insights。 它會在資料庫的 Web 應用程式中設定 連接字串。
使用範本建立 Web 應用程式和 Redis 快取

部署至 Azure
此範本會建立具有 Redis 快取的 Azure Web 應用程式。
具有自定義部署位置的 Web 應用程式

部署至 Azure
此範本可讓您輕鬆地在 Azure Web Apps 上使用自訂部署位置來部署 Web 應用程式。
Linux 上的 Airflow Docker Web 應用程式與 PostgreSQL

部署至 Azure
此範本可讓您輕鬆地在 Linux Web 應用程式上使用適用於 PostgreSQL 的 Azure 資料庫部署 puckel/docker-airflow 映射 (最新的標籤)
使用 Azure SQL 在 Linux 上使用 Sonarqube Docker Web 應用程式

部署至 Azure
此範本會使用官方 Sonarqube 映像,並將 Sonarqube 部署在 Azure App 服務 Web 應用程式 Linux 容器中,並由 Azure SQL Server 支援。
使用 MySQL 在 Linux 上的 Sonarqube Docker Web 應用程式

部署至 Azure
此範本可讓您輕鬆地在 Linux Web 應用程式中部署 Sonarqube docker 映射, (alpine 卷標) 與適用於 MySQL 的 Azure 資料庫
使用 PostgreSQL 在 Linux 上的 Sonarqube Docker Web 應用程式

部署至 Azure
此範本可讓您輕鬆地在 Linux Web 應用程式上部署 Sonarqube docker 映射, (alpine 卷標) 與適用於 PostgreSQL 的 Azure 資料庫 (Preview)
適用於 MySQL 的 Azure 資料庫 Web 應用程式

部署至 Azure
此範本可讓您輕鬆地在適用於 MySQL 的 Azure 資料庫 Azure App 服務 Web Apps 上部署 Web 應用程式。
Linux 上的 Web 應用程式與 PostgreSQL

部署至 Azure
此範本提供簡單的方法,可讓您使用適用於 PostgreSQL 的 Azure 資料庫在 Linux 上部署 Web 應用程式。
具有 VNet 插入和私人端點的 Web 應用程式

部署至 Azure
此範本可讓您建立具有兩個 Web 應用程式、前端和後端的安全端對端解決方案,前端會透過 VNet 插入和私人端點安全地取用後端

ARM 範本資源定義

月臺/組態資源類型可以使用目標作業進行部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔。

name 屬性的選項

sites/config 資源會根據 name 屬性的值接受不同的屬性。 本文說明當您設定 name: 'authsettingsV2'時可用的屬性。

如需其他選項,請參閱:

資源格式

若要建立 Microsoft.Web/sites/config 資源,請將下列 JSON 新增至範本。

{
  "type": "Microsoft.Web/sites/config",
  "apiVersion": "2022-09-01",
  "name": "authsettingsV2",
  "kind": "string",
  "properties": {
    "globalValidation": {
      "excludedPaths": [ "string" ],
      "redirectToProvider": "string",
      "requireAuthentication": "bool",
      "unauthenticatedClientAction": "string"
    },
    "httpSettings": {
      "forwardProxy": {
        "convention": "string",
        "customHostHeaderName": "string",
        "customProtoHeaderName": "string"
      },
      "requireHttps": "bool",
      "routes": {
        "apiPrefix": "string"
      }
    },
    "identityProviders": {
      "apple": {
        "enabled": "bool",
        "login": {
          "scopes": [ "string" ]
        },
        "registration": {
          "clientId": "string",
          "clientSecretSettingName": "string"
        }
      },
      "azureActiveDirectory": {
        "enabled": "bool",
        "isAutoProvisioned": "bool",
        "login": {
          "disableWWWAuthenticate": "bool",
          "loginParameters": [ "string" ]
        },
        "registration": {
          "clientId": "string",
          "clientSecretCertificateIssuer": "string",
          "clientSecretCertificateSubjectAlternativeName": "string",
          "clientSecretCertificateThumbprint": "string",
          "clientSecretSettingName": "string",
          "openIdIssuer": "string"
        },
        "validation": {
          "allowedAudiences": [ "string" ],
          "defaultAuthorizationPolicy": {
            "allowedApplications": [ "string" ],
            "allowedPrincipals": {
              "groups": [ "string" ],
              "identities": [ "string" ]
            }
          },
          "jwtClaimChecks": {
            "allowedClientApplications": [ "string" ],
            "allowedGroups": [ "string" ]
          }
        }
      },
      "azureStaticWebApps": {
        "enabled": "bool",
        "registration": {
          "clientId": "string"
        }
      },
      "customOpenIdConnectProviders": {},
      "facebook": {
        "enabled": "bool",
        "graphApiVersion": "string",
        "login": {
          "scopes": [ "string" ]
        },
        "registration": {
          "appId": "string",
          "appSecretSettingName": "string"
        }
      },
      "gitHub": {
        "enabled": "bool",
        "login": {
          "scopes": [ "string" ]
        },
        "registration": {
          "clientId": "string",
          "clientSecretSettingName": "string"
        }
      },
      "google": {
        "enabled": "bool",
        "login": {
          "scopes": [ "string" ]
        },
        "registration": {
          "clientId": "string",
          "clientSecretSettingName": "string"
        },
        "validation": {
          "allowedAudiences": [ "string" ]
        }
      },
      "legacyMicrosoftAccount": {
        "enabled": "bool",
        "login": {
          "scopes": [ "string" ]
        },
        "registration": {
          "clientId": "string",
          "clientSecretSettingName": "string"
        },
        "validation": {
          "allowedAudiences": [ "string" ]
        }
      },
      "twitter": {
        "enabled": "bool",
        "registration": {
          "consumerKey": "string",
          "consumerSecretSettingName": "string"
        }
      }
    },
    "login": {
      "allowedExternalRedirectUrls": [ "string" ],
      "cookieExpiration": {
        "convention": "string",
        "timeToExpiration": "string"
      },
      "nonce": {
        "nonceExpirationInterval": "string",
        "validateNonce": "bool"
      },
      "preserveUrlFragmentsForLogins": "bool",
      "routes": {
        "logoutEndpoint": "string"
      },
      "tokenStore": {
        "azureBlobStorage": {
          "sasUrlSettingName": "string"
        },
        "enabled": "bool",
        "fileSystem": {
          "directory": "string"
        },
        "tokenRefreshExtensionHours": "int"
      }
    },
    "platform": {
      "configFilePath": "string",
      "enabled": "bool",
      "runtimeVersion": "string"
    }
  }
}

屬性值

sites/config-authsettingsV2

名稱 描述
類型 資源類型 'Microsoft.Web/sites/config'
apiVersion 資源 API 版本 '2022-09-01'
NAME 資源名稱

瞭解如何在 JSON ARM 範本中設定子資源的名稱和類型。
'authsettingsV2'
kind 資源種類。 字串
properties SiteAuthSettingsV2 資源特定屬性 SiteAuthSettingsV2Properties

SiteAuthSettingsV2Properties

名稱 描述
globalValidation 使用驗證/授權來決定使用者驗證流程的組態設定 App Service。 GlobalValidation
httpSettings 針對驗證/授權發出之 HTTP 要求的組態設定,以及針對 App Service 驗證/授權發出的授權要求。 HttpSettings
identityProviders 用來設定驗證/授權之每個識別提供者的組態設定 App Service。 IdentityProviders
login 使用驗證/授權 App Service 使用者登入流程的組態設定。 登入
平台 App Service 驗證/授權平臺的組態設定。 AuthPlatform

GlobalValidation

名稱 描述
excludedPaths 未經驗證流程的路徑不會重新導向至登入頁面。 string[]
redirectToProvider 設定多個提供者時要使用的預設驗證提供者。
只有在已設定多個提供者和未經驗證的用戶端時,才需要此設定
action 設定為 「RedirectToLoginPage」。。
字串
requireAuthentication true 如果要求需要驗證流程,則為 ;否則為 false bool
unauthenticatedClientAction 未驗證客戶端嘗試存取應用程式時要採取的動作。 'AllowAnonymous'
'RedirectToLoginPage'
'Return401'
'Return403'

HttpSettings

名稱 描述
forwardProxy 用於提出要求的正向 Proxy 組態設定。 ForwardProxy
requireHttps false 如果不允許驗證/授權回應沒有 HTTPS 配置,則為 ;否則為 true bool
路由 路徑 HTTP 要求的組態設定。 HttpSettingsRoutes

ForwardProxy

名稱 描述
公約 用來判斷所提出要求 URL 的慣例。 'Custom'
'NoProxy'
'Standard'
customHostHeaderName 包含要求主機的標頭名稱。 字串
customProtoHeaderName 包含要求配置之標頭的名稱。 字串

HttpSettingsRoutes

名稱 描述
apiPrefix 所有驗證/授權路徑前面的前置詞。 字串

IdentityProviders

名稱 描述
apple Apple 提供者的組態設定。 Apple
azureActiveDirectory Azure Active Directory 提供者的組態設定。 AzureActiveDirectory
azureStaticWebApps Azure Static Web Apps 提供者的組態設定。 AzureStaticWebApps
customOpenIdConnectProviders 每個自定義 Open ID Connect 提供者別名名稱的對應
自訂 Open ID Connect 提供者的組態設定。
物件 (object)
facebook Facebook 提供者的組態設定。 Facebook
gitHub GitHub 提供者的組態設定。 GitHub
Google Google 提供者的組態設定。 Google
legacyMicrosoftAccount 舊版 Microsoft 帳戶提供者的組態設定。 LegacyMicrosoftAccount
Twitter Twitter 提供者的組態設定。 Twitter

Apple

名稱 描述
已啟用 false 如果即使設定註冊,也不應該啟用Apple提供者;否則為 true bool
login 登入流程的組態設定。 LoginScopes
註冊 Apple 註冊的組態設定。 AppleRegistration

LoginScopes

名稱 描述
範圍 驗證時應要求的範圍清單。 string[]

AppleRegistration

名稱 描述
clientId 用於登入之應用程式的用戶端識別碼。 字串
clientSecretSettingName 包含客戶端密碼的應用程式設定名稱。 字串

AzureActiveDirectory

名稱 描述
已啟用 false 如果即使設定註冊,也不應該啟用 Azure Active Directory 提供者;否則為 true bool
isAutoProvisioned 取得值,指出 Azure AD 組態是否使用第 1 方工具自動布建。
這是主要用來支援 Azure 管理入口網站的內部旗標。 用戶不應該
讀取或寫入這個屬性。
bool
login Azure Active Directory 登入流程的組態設定。 AzureActiveDirectoryLogin
註冊 Azure Active Directory 應用程式註冊的組態設定。 AzureActiveDirectoryRegistration
validation Azure Active Directory 令牌驗證流程的組態設定。 AzureActiveDirectoryValidation

AzureActiveDirectoryLogin

名稱 描述
disableWWWAuthenticate true 如果應該從要求中省略 www-authenticate 提供者,則為 ;否則為 false bool
loginParameters 登入參數,以在何時傳送至 OpenID Connect 授權端點
使用者登入。 每個參數的格式都必須是 「key=value」。。
string[]

AzureActiveDirectoryRegistration

名稱 描述
clientId 此信賴憑證者應用程式的用戶端標識碼,稱為client_id。
若要使用 Azure Active Directory 啟用 OpenID 連線驗證,需要此設定或
其他第三方 OpenID Connect 提供者。
OpenID Connect 的詳細資訊: http://openid.net/specs/openid-connect-core-1_0.html
字串
clientSecretCertificateIssuer 用戶端秘密指紋的替代方案,這是用於簽署之憑證的簽發者。 這個屬性的作用是
取代用戶端秘密憑證指紋。 它也是選擇性的。
字串
clientSecretCertificateSubjectAlternativeName 用戶端密碼指紋的替代方案,這是用於簽署之憑證的主體別名。 這個屬性的作用是
取代用戶端秘密憑證指紋。 它也是選擇性的。
字串
clientSecretCertificateThumbprint 客戶端密碼的替代方案,這是用於簽署之憑證的指紋。 這個屬性的作用是
取代客戶端密碼。 它也是選擇性的。
字串
clientSecretSettingName 包含信賴憑證者應用程式的用戶端密碼的應用程式設定名稱。 字串
openIdIssuer OpenID Connect 簽發者 URI,代表發出此應用程式存取令牌的實體。
使用 Azure Active Directory 時,此值是目錄租使用者的 URI,例如 https://login.microsoftonline.com/v2.0/{tenant-guid}/.
此 URI 是令牌簽發者的區分大小寫標識碼。
OpenID Connect 探索的詳細資訊: http://openid.net/specs/openid-connect-discovery-1_0.html
字串

AzureActiveDirectoryValidation

名稱 描述
allowedAudiences 可以成功驗證/授權要求的物件清單。 string[]
defaultAuthorizationPolicy 默認授權原則的組態設定。 DefaultAuthorizationPolicy
jwtClaimChecks 驗證 JWT 宣告時應該進行的組態設定。 JwtClaimChecks

DefaultAuthorizationPolicy

名稱 描述
allowedApplications Azure Active Directory 允許應用程式的組態設定。 string[]
allowedPrincipals Azure Active Directory 允許主體的組態設定。 AllowedPrincipals

AllowedPrincipals

名稱 描述
groups 允許的群組清單。 string[]
身分識別 允許的身分識別清單。 string[]

JwtClaimChecks

名稱 描述
allowedClientApplications 允許的用戶端應用程式清單。 string[]
allowedGroups 允許的群組清單。 string[]

AzureStaticWebApps

名稱 描述
已啟用 false如果 Azure Static Web Apps 提供者不應在設定註冊的情況下啟用,則為 ,否則為 true bool
註冊 Azure Static Web Apps 註冊的組態設定。 AzureStaticWebAppsRegistration

AzureStaticWebAppsRegistration

名稱 描述
clientId 用於登入之應用程式的用戶端識別碼。 字串

Facebook

名稱 描述
已啟用 false如果 Facebook 提供者不應在設定註冊的情況下啟用,則為 ,true否則為 。 bool
graphApiVersion 登入時要使用的 Facebook API 版本。 字串
login 登入流程的組態設定。 LoginScopes
註冊 Facebook 提供者的應用程式註冊組態設定。 AppRegistration

AppRegistration

名稱 描述
appId 用於登入之應用程式的應用程式識別碼。 字串
appSecretSettingName 包含應用程式秘密的應用程式設定名稱。 字串

GitHub

名稱 描述
已啟用 false 如果 GitHub 提供者不應在設定註冊的情況下啟用,則為 ;否則為 true bool
login 登入流程的組態設定。 LoginScopes
註冊 GitHub 提供者的應用程式註冊組態設定。 ClientRegistration

ClientRegistration

名稱 描述
clientId 用於登入之應用程式的用戶端識別碼。 字串
clientSecretSettingName 包含客戶端密碼的應用程式設定名稱。 字串

Google

名稱 描述
已啟用 false 如果即使設定註冊,也不應該啟用 Google 提供者,則為 ;否則為 true bool
login 登入流程的組態設定。 LoginScopes
註冊 Google 提供者的應用程式註冊組態設定。 ClientRegistration
validation Azure Active Directory 令牌驗證流程的組態設定。 AllowedAudiencesValidation

AllowedAudiencesValidation

名稱 描述
allowedAudiences 要從中驗證 JWT 令牌之允許物件清單的組態設定。 string[]

LegacyMicrosoftAccount

名稱 描述
已啟用 false 如果即使設定註冊,仍不應啟用舊版 Microsoft 帳戶提供者,則為 ;否則為 true bool
login 登入流程的組態設定。 LoginScopes
註冊 舊版 Microsoft 帳戶提供者的應用程式註冊組態設定。 ClientRegistration
validation 舊版 Microsoft 帳戶提供者令牌驗證流程的組態設定。 AllowedAudiencesValidation

Twitter

名稱 描述
已啟用 false 如果即使設定註冊也不應該啟用 Twitter 提供者,則為 ;否則為 true bool
註冊 Twitter 提供者的應用程式註冊組態設定。 TwitterRegistration

TwitterRegistration

名稱 描述
consumerKey 用於登入之 Twitter 應用程式的 OAuth 1.0a 取用者密鑰。
啟用 Twitter 登入需要此設定。
Twitter Sign-In 檔: https://dev.twitter.com/web/sign-in
字串
consumerSecretSettingName 包含 Twitter OAuth 1.0a 消費者密碼的應用程式設定名稱
用於登入的應用程式。
字串

登入

名稱 描述
allowedExternalRedirectUrls 可重新導向至 作為登入或註銷應用程式之一部分的外部URL。 請注意,會忽略 URL 的查詢字串部分。
這是 Windows 市集應用程式後端通常需要的進階設定。
請注意,目前網域中的URL一律是隱含允許的。
string[]
cookieExpiration 會話 Cookie 到期的組態設定。 CookieExpiration
nonce 登入流程中使用的 nonce 組態設定。 Nonce
preserveUrlFragmentsForLogins true 如果在提出登入要求之後保留來自要求的片段,則為 ;否則為 false bool
路由 指定用於登入和註銷要求的端點的路由。 LoginRoutes
tokenStore 令牌存放區的組態設定。 TokenStore

CookieExpiration

名稱 描述
公約 判斷會話 Cookie 到期時所使用的慣例。 'FixedTime'
'IdentityProviderDerived'
timeToExpiration 當會話 Cookie 到期時,要求之後的時間。 字串

Nonce

名稱 描述
nonceExpirationInterval 要求到期后的時間。 字串
validateNonce false 如果在完成登入流程時不應該驗證 nonce,則為 ;否則為 true bool

LoginRoutes

名稱 描述
logoutEndpoint 應提出註銷要求的端點。 字串

TokenStore

名稱 描述
azureBlobStorage 如果使用 Blob 記憶體,令牌記憶體的組態設定。 BlobStorageTokenStore
已啟用 true 若要永久儲存在登入流程期間取得的平臺特定安全性令牌;否則為 false
預設為 false
bool
fileSystem 如果使用檔案系統,令牌記憶體的組態設定。 FileSystemTokenStore
tokenRefreshExtensionHours 會話令牌到期后的小時數,會話令牌可用來
呼叫令牌重新整理 API。 預設值為 72 小時。
int

BlobStorageTokenStore

名稱 描述
sasUrlSettingName 包含令牌之 Blob 記憶體 SAS URL 的應用程式設定名稱。 字串

FileSystemTokenStore

名稱 描述
directory 將儲存令牌的目錄。 字串

AuthPlatform

名稱 描述
configFilePath 如果組態檔來自檔案,則包含驗證設定的路徑。
如果路徑是相對的,基底將會是月臺的根目錄。
字串
已啟用 true 如果目前應用程式已啟用驗證/授權功能,則為 ;否則為 false bool
runtimeVersion 用於目前應用程式的 Authentication /Authorization 功能的 RuntimeVersion。
此值中的設定可以控制驗證/授權模組中特定功能的行為。
字串

快速入門範本

下列快速入門範本會部署此資源類型。

範本 描述
在 App Services 上使用 PostgreSQL 資料庫的 Airflow Web 應用程式

部署至 Azure
在 App Services 上使用 PostgreSQL 資料庫部署 Airflow Web 應用程式的範本
Azure 中的 EPiserverCMS

部署至 Azure
此範本可讓您在 Azure 中建立 EpiServerCMS 部署所需的資源
使用 Jenkins 和 Azure Web Apps 的 Java CI/CD

部署至 Azure
這是使用 Jenkins 和 Azure Web Apps 的 Java CI/CD 範例。
Orchard CMS 影片入口網站 Web 應用程式

部署至 Azure
此範本可讓您輕鬆地在 Azure App 服務 Web Apps 上部署一個可啟用和設定 Azure 媒體服務模組的地道 CMS。
適用於 Azure 事件中樞的 PubNub 即時閘道

部署至 Azure
適用於 Azure 的 PubNub 即時閘道提供 PubNub 資料流網路與 Azure 事件中樞 之間的實時數據流網橋。 -- 將其視為 PubNub 與 Azure 之間的雙向網橋!
可調整的 Umbraco CMS Web 應用程式

部署至 Azure
此範本提供在 Azure App 服務 Web Apps 上部署 umbraco CMS Web 應用程式的簡單方式。
簡單 Umbraco CMS Web 應用程式

部署至 Azure
此範本提供在 Azure App 服務 Web Apps 上部署 umbraco CMS Web 應用程式的簡單方式。
在應用程式中搭配 MySQL App Service 上的 WordPress

部署至 Azure
此範本會在應用程式中使用 MySQL 在 Windows App Service 上部署 WordPress Web 應用程式
Enterprise Governance-AppService、SQL DB、AD、OMS、Runbook

部署至 Azure
企業或大型的雲端採用需要負責任且有效率的治理模型,才能從其雲端部署衍生價值。 CloudWise (解決方案) 的程式代碼名稱,是 Azure 合作夥伴快速入門中提供的複合解決方案,是客戶、系統整合者和合作夥伴的採用啟用者,可提供自助式、自動化的治理和作業解決方案,著重於優化成本、改善應用程式 () 可靠性、降低商務風險。 此解決方案強調可見度和控制的核心治理要素。
使用 Azure SQL 私人端點的 WebApp

部署至 Azure
此範本示範如何建立 Web 應用程式,以取用指向 Azure SQL Server 的私人端點
Moesif API 分析和獲利

部署至 Azure
此範本會將來自 Azure API 管理 的 API 呼叫記錄到 Moesif API 分析和獲利平臺
從 Azure Logic Apps 呼叫自定義 API

部署至 Azure
雖然 Logic Apps 為各種服務提供數百個連接器,但您可能想要呼叫執行您自己的程式代碼的 API。 裝載您自己的 Web API 的最簡單且最可調整方式之一,就是使用 Azure App 服務。 此範本會為您的自訂 API 部署 Web 應用程式,並使用 Azure Active Directory 驗證保護該 API。
具有IP限制的Web應用程式 應用程式閘道

部署至 Azure
此範本會在 Azure Web 應用程式前面建立應用程式閘道,並在 Web 應用程式上啟用 IP 限制。
使用 Azure SQL 後端 App Service 環境

部署至 Azure
此範本會建立具有 Azure SQL 後端的 App Service 環境,以及私人端點,以及通常用於私人/隔離環境中的相關聯資源。
布建在 App Service 方案上執行的函式應用程式

部署至 Azure
此範本會在專用主控方案上布建函式應用程式,這表示它會執行並計費,就像任何 App Service 網站一樣。
具有事件中樞和受控識別的 Azure 函式應用程式

部署至 Azure
他的範本會在Linux取用方案上布建 Azure 函式應用程式,以及事件中樞、Azure 記憶體和 Application Insights。 函式應用程式能夠使用受控識別來連線到事件中樞和記憶體帳戶
使用 vnet 整合部署 Azure Function Premium 方案

部署至 Azure
此範本可讓您將已啟用區域虛擬網路整合的 Azure Function Premium 方案部署到新建立的虛擬網路。
使用 SQL Database 布建行動應用程式

部署至 Azure
此範本會布建行動應用程式、SQL Database和通知中樞。 它會在資料庫和通知中樞的行動應用程式中設定 連接字串。
具有私人端點的 Web 應用程式

部署至 Azure
此範本可讓您建立 Web 應用程式,並透過私人端點公開
使用內部 API 管理和 Web 應用程式 應用程式閘道

部署至 Azure
應用程式閘道 將因特網流量路由傳送至虛擬網路 (內部模式) API 管理 實例,其服務裝載於 Azure Web 應用程式中的 Web API。
使用 Blob 記憶體建立 Azure Web 應用程式 連接字串

部署至 Azure
使用 Blob 記憶體建立 Azure Web 應用程式 連接字串,此範本最初由 Microsoft Jeff 的 Jeff 一文撰寫
使用診斷記錄至 Blob 容器的 Web 應用程式

部署至 Azure
使用診斷記錄將 Web 應用程式部署至已啟用記憶體帳戶 Blob 容器。
在已啟用 Java 13 和 Tomcat 9 的 Azure 上建立 Web 應用程式

部署至 Azure
此範本會在已啟用 Java 13 和 Tomcat 9 的 Azure 上建立 Web 應用程式,讓您能夠在 Azure 中執行 Java 應用程式。 範本是由 Microsoft Donovan Brown 所撰寫。
Web 應用程式 w/ Application Insights 傳送至 Log Analytics

部署至 Azure
此範本將協助支援 microsoft.insights/components 的新 API 版本。 從 2020-02-02-preview WorkspaceID 開始,建立 Application Inisghts 時將會需要此範本。此範本會部署 App Service 方案、App Service、Application Insights、Log Analytics 工作區,並將其全部連結在一起。
具有受控識別、SQL Server和 ΑΙ 的 Web 應用程式

部署至 Azure
為應用程式 + 資料 + 受控識別 + 監視部署 Azure 基礎結構的簡單範例
使用範本建立 Web 應用程式 + Redis 快取 + SQL DB

部署至 Azure
此範本會建立具有 Redis 快取和 SQL Database 的 Azure Web 應用程式。
使用 SQL Database 布建 Web 應用程式

部署至 Azure
此範本會布建 Web 應用程式、SQL Database、自動調整設定、警示規則和 App Insights。 它會在資料庫的 Web 應用程式中設定 連接字串。
使用範本建立 Web 應用程式和 Redis 快取

部署至 Azure
此範本會建立具有 Redis 快取的 Azure Web 應用程式。
具有自定義部署位置的 Web 應用程式

部署至 Azure
此範本可讓您輕鬆地在 Azure Web Apps 上使用自訂部署位置來部署 Web 應用程式。
Linux 上的 Airflow Docker Web 應用程式與 PostgreSQL

部署至 Azure
此範本可讓您輕鬆地在 Linux Web 應用程式上使用適用於 PostgreSQL 的 Azure 資料庫部署 puckel/docker-airflow 映射 (最新的標籤)
使用 Azure SQL 在 Linux 上使用 Sonarqube Docker Web 應用程式

部署至 Azure
此範本會使用官方 Sonarqube 映像,並將 Sonarqube 部署在 Azure App 服務 Web 應用程式 Linux 容器中,並由 Azure SQL 伺服器支援。
使用 MySQL 在 Linux 上的 Sonarqube Docker Web 應用程式

部署至 Azure
此範本可讓您輕鬆地在 Linux Web 應用程式中部署 Sonarqube docker 映射, (alpine 卷標) 與適用於 MySQL 的 Azure 資料庫
使用 PostgreSQL 在 Linux 上的 Sonarqube Docker Web 應用程式

部署至 Azure
此範本可讓您輕鬆地在 Linux Web 應用程式上部署 Sonarqube docker 映射, (alpine 卷標) 與適用於 PostgreSQL 的 Azure 資料庫 (Preview)
適用於 MySQL 的 Azure 資料庫 Web 應用程式

部署至 Azure
此範本可讓您輕鬆地在適用於 MySQL 的 Azure 資料庫 Azure App 服務 Web Apps 上部署 Web 應用程式。
Linux 上的 Web 應用程式與 PostgreSQL

部署至 Azure
此範本提供簡單的方法,可讓您使用適用於 PostgreSQL 的 Azure 資料庫在 Linux 上部署 Web 應用程式。
具有 VNet 插入和私人端點的 Web 應用程式

部署至 Azure
此範本可讓您建立具有兩個 Web 應用程式、前端和後端的安全端對端解決方案,前端會透過 VNet 插入和私人端點安全地取用後端

Terraform (AzAPI 提供者) 資源定義

月臺/組態資源類型可以使用目標作業進行部署:

  • 資源群組

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄

name 屬性的選項

月臺/設定資源會根據 name 屬性的值接受不同的屬性。 本文說明設定 name: 'authsettingsV2'時可用的屬性。

如需其他選項,請參閱:

資源格式

若要建立 Microsoft.Web/sites/config 資源,請將下列 Terraform 新增至您的範本。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Web/sites/config@2022-09-01"
  name = "authsettingsV2"
  parent_id = "string"
  body = jsonencode({
    properties = {
      globalValidation = {
        excludedPaths = [
          "string"
        ]
        redirectToProvider = "string"
        requireAuthentication = bool
        unauthenticatedClientAction = "string"
      }
      httpSettings = {
        forwardProxy = {
          convention = "string"
          customHostHeaderName = "string"
          customProtoHeaderName = "string"
        }
        requireHttps = bool
        routes = {
          apiPrefix = "string"
        }
      }
      identityProviders = {
        apple = {
          enabled = bool
          login = {
            scopes = [
              "string"
            ]
          }
          registration = {
            clientId = "string"
            clientSecretSettingName = "string"
          }
        }
        azureActiveDirectory = {
          enabled = bool
          isAutoProvisioned = bool
          login = {
            disableWWWAuthenticate = bool
            loginParameters = [
              "string"
            ]
          }
          registration = {
            clientId = "string"
            clientSecretCertificateIssuer = "string"
            clientSecretCertificateSubjectAlternativeName = "string"
            clientSecretCertificateThumbprint = "string"
            clientSecretSettingName = "string"
            openIdIssuer = "string"
          }
          validation = {
            allowedAudiences = [
              "string"
            ]
            defaultAuthorizationPolicy = {
              allowedApplications = [
                "string"
              ]
              allowedPrincipals = {
                groups = [
                  "string"
                ]
                identities = [
                  "string"
                ]
              }
            }
            jwtClaimChecks = {
              allowedClientApplications = [
                "string"
              ]
              allowedGroups = [
                "string"
              ]
            }
          }
        }
        azureStaticWebApps = {
          enabled = bool
          registration = {
            clientId = "string"
          }
        }
        customOpenIdConnectProviders = {}
        facebook = {
          enabled = bool
          graphApiVersion = "string"
          login = {
            scopes = [
              "string"
            ]
          }
          registration = {
            appId = "string"
            appSecretSettingName = "string"
          }
        }
        gitHub = {
          enabled = bool
          login = {
            scopes = [
              "string"
            ]
          }
          registration = {
            clientId = "string"
            clientSecretSettingName = "string"
          }
        }
        google = {
          enabled = bool
          login = {
            scopes = [
              "string"
            ]
          }
          registration = {
            clientId = "string"
            clientSecretSettingName = "string"
          }
          validation = {
            allowedAudiences = [
              "string"
            ]
          }
        }
        legacyMicrosoftAccount = {
          enabled = bool
          login = {
            scopes = [
              "string"
            ]
          }
          registration = {
            clientId = "string"
            clientSecretSettingName = "string"
          }
          validation = {
            allowedAudiences = [
              "string"
            ]
          }
        }
        twitter = {
          enabled = bool
          registration = {
            consumerKey = "string"
            consumerSecretSettingName = "string"
          }
        }
      }
      login = {
        allowedExternalRedirectUrls = [
          "string"
        ]
        cookieExpiration = {
          convention = "string"
          timeToExpiration = "string"
        }
        nonce = {
          nonceExpirationInterval = "string"
          validateNonce = bool
        }
        preserveUrlFragmentsForLogins = bool
        routes = {
          logoutEndpoint = "string"
        }
        tokenStore = {
          azureBlobStorage = {
            sasUrlSettingName = "string"
          }
          enabled = bool
          fileSystem = {
            directory = "string"
          }
          tokenRefreshExtensionHours = int
        }
      }
      platform = {
        configFilePath = "string"
        enabled = bool
        runtimeVersion = "string"
      }
    }
    kind = "string"
  })
}

屬性值

sites/config-authsettingsV2

名稱 描述
類型 資源類型 “Microsoft.Web/sites/config@2022-09-01”
NAME 資源名稱 “authsettingsV2”
parent_id 此資源之父系的資源標識碼。 類型資源的標識碼: 網站
kind 資源種類。 字串
properties SiteAuthSettingsV2 資源特定屬性 SiteAuthSettingsV2Properties

SiteAuthSettingsV2Properties

名稱 描述
globalValidation 組態設定,會使用 App Service 驗證/授權來決定使用者的驗證流程。 GlobalValidation
httpSettings 針對驗證/授權 App Service 進行驗證和授權要求的 HTTP 要求組態設定。 HttpSettings
identityProviders 用來設定 App Service 驗證/授權的每個識別提供者組態設定。 IdentityProviders
login 使用驗證/授權 App Service 使用者登入流程的組態設定。 登入
平台 App Service 驗證/授權平臺的組態設定。 AuthPlatform

GlobalValidation

名稱 描述
excludedPaths 未經驗證流程的路徑不會重新導向至登入頁面。 string[]
redirectToProvider 設定多個提供者時要使用的預設驗證提供者。
只有在設定多個提供者和未驗證的用戶端時,才需要此設定
action 設定為 「RedirectToLoginPage」。。
字串
requireAuthentication true 如果需要驗證流程,則為任何要求;否則為 false bool
unauthenticatedClientAction 當未經驗證的用戶端嘗試存取應用程式時,要採取的動作。 “AllowAnonymous”
“RedirectToLoginPage”
“Return401”
“Return403”

HttpSettings

名稱 描述
forwardProxy 用來提出要求的轉寄 Proxy 組態設定。 ForwardProxy
requireHttps false 如果允許驗證/授權回應沒有 HTTPS 配置,則為 ;否則為 true bool
路由 路徑 HTTP 要求的組態設定。 HttpSettingsRoutes

ForwardProxy

名稱 描述
公約 用來判斷所提出要求 URL 的慣例。 "Custom"
“NoProxy”
“Standard”
customHostHeaderName 標頭的名稱,其中包含要求的主機。 字串
customProtoHeaderName 包含要求配置之標頭的名稱。 字串

HttpSettingsRoutes

名稱 描述
apiPrefix 所有驗證/授權路徑前面的前置詞。 字串

IdentityProviders

名稱 描述
apple Apple 提供者的組態設定。 Apple
azureActiveDirectory Azure Active Directory 提供者的組態設定。 AzureActiveDirectory
azureStaticWebApps Azure Static Web Apps 提供者的組態設定。 AzureStaticWebApps
customOpenIdConnectProviders 每個自定義 Open ID Connect 提供者別名的名稱對應至
自訂 Open ID Connect 提供者的組態設定。
物件 (object)
facebook Facebook 提供者的組態設定。 Facebook
gitHub GitHub 提供者的組態設定。 GitHub
Google Google 提供者的組態設定。 Google
legacyMicrosoftAccount 舊版 Microsoft 帳戶提供者的組態設定。 LegacyMicrosoftAccount
Twitter Twitter 提供者的組態設定。 Twitter

Apple

名稱 描述
已啟用 false 如果即使設定註冊,也不應該啟用Apple提供者;否則為 true bool
login 登入流程的組態設定。 LoginScopes
註冊 Apple 註冊的組態設定。 AppleRegistration

LoginScopes

名稱 描述
範圍 驗證時應要求的範圍清單。 string[]

AppleRegistration

名稱 描述
clientId 用於登入之應用程式的用戶端識別碼。 字串
clientSecretSettingName 包含客戶端密碼的應用程式設定名稱。 字串

AzureActiveDirectory

名稱 描述
已啟用 false 如果即使設定註冊,也不應該啟用 Azure Active Directory 提供者;否則為 true bool
isAutoProvisioned 取得值,指出 Azure AD 組態是否使用第 1 方工具自動布建。
這是主要用來支援 Azure 管理入口網站的內部旗標。 用戶不應該
讀取或寫入這個屬性。
bool
login Azure Active Directory 登入流程的組態設定。 AzureActiveDirectoryLogin
註冊 Azure Active Directory 應用程式註冊的組態設定。 AzureActiveDirectoryRegistration
validation Azure Active Directory 令牌驗證流程的組態設定。 AzureActiveDirectoryValidation

AzureActiveDirectoryLogin

名稱 描述
disableWWWAuthenticate true 如果應該從要求中省略 www-authenticate 提供者,則為 ;否則為 false bool
loginParameters 登入參數,以在何時傳送至 OpenID Connect 授權端點
使用者登入。 每個參數的格式都必須是 「key=value」。。
string[]

AzureActiveDirectoryRegistration

名稱 描述
clientId 此信賴憑證者應用程式的用戶端標識碼,稱為client_id。
若要使用 Azure Active Directory 啟用 OpenID 連線驗證,需要此設定或
其他第三方 OpenID Connect 提供者。
OpenID Connect 的詳細資訊: http://openid.net/specs/openid-connect-core-1_0.html
字串
clientSecretCertificateIssuer 用戶端秘密指紋的替代方案,這是用於簽署之憑證的簽發者。 這個屬性的作用是
取代用戶端秘密憑證指紋。 它也是選擇性的。
字串
clientSecretCertificateSubjectAlternativeName 用戶端密碼指紋的替代方案,這是用於簽署之憑證的主體別名。 這個屬性的作用是
取代用戶端秘密憑證指紋。 它也是選擇性的。
字串
clientSecretCertificateThumbprint 客戶端密碼的替代方案,這是用於簽署之憑證的指紋。 這個屬性的作用是
取代客戶端密碼。 它也是選擇性的。
字串
clientSecretSettingName 包含信賴憑證者應用程式的用戶端密碼的應用程式設定名稱。 字串
openIdIssuer OpenID Connect 簽發者 URI,代表發出此應用程式存取令牌的實體。
使用 Azure Active Directory 時,此值是目錄租使用者的 URI,例如 https://login.microsoftonline.com/v2.0/{tenant-guid}/.
此 URI 是令牌簽發者的區分大小寫標識碼。
OpenID Connect 探索的詳細資訊: http://openid.net/specs/openid-connect-discovery-1_0.html
字串

AzureActiveDirectoryValidation

名稱 描述
allowedAudiences 可成功驗證/授權要求的物件清單。 string[]
defaultAuthorizationPolicy 默認授權原則的組態設定。 DefaultAuthorizationPolicy
jwtClaimChecks 驗證 JWT 宣告時,應該進行的組態設定。 JwtClaimChecks

DefaultAuthorizationPolicy

名稱 描述
allowedApplications Azure Active Directory 允許應用程式的組態設定。 string[]
allowedPrincipals Azure Active Directory 允許主體的組態設定。 AllowedPrincipals

AllowedPrincipals

名稱 描述
groups 允許的群組清單。 string[]
身分識別 允許的身分識別清單。 string[]

JwtClaimChecks

名稱 描述
allowedClientApplications 允許的用戶端應用程式清單。 string[]
allowedGroups 允許的群組清單。 string[]

AzureStaticWebApps

名稱 描述
已啟用 false如果 Azure Static Web Apps 提供者不應在設定註冊的情況下啟用,則為 ,true否則為 。 bool
註冊 Azure Static Web Apps 註冊的組態設定。 AzureStaticWebAppsRegistration

AzureStaticWebAppsRegistration

名稱 描述
clientId 用於登入之應用程式的用戶端識別碼。 字串

Facebook

名稱 描述
已啟用 false如果 Facebook 提供者不應在設定註冊的情況下啟用,則為 ,true否則為 。 bool
graphApiVersion 登入時要使用的 Facebook API 版本。 字串
login 登入流程的組態設定。 LoginScopes
註冊 Facebook 提供者的應用程式註冊組態設定。 AppRegistration

AppRegistration

名稱 描述
appId 用於登入之應用程式的應用程式識別碼。 字串
appSecretSettingName 包含應用程式秘密的應用程式設定名稱。 字串

GitHub

名稱 描述
已啟用 false 如果 GitHub 提供者不應在設定註冊的情況下啟用,則為 ;否則為 true bool
login 登入流程的組態設定。 LoginScopes
註冊 GitHub 提供者的應用程式註冊組態設定。 ClientRegistration

ClientRegistration

名稱 描述
clientId 用於登入之應用程式的用戶端識別碼。 字串
clientSecretSettingName 包含客戶端密碼的應用程式設定名稱。 字串

Google

名稱 描述
已啟用 false 如果即使設定註冊,也不應該啟用 Google 提供者,則為 ;否則為 true bool
login 登入流程的組態設定。 LoginScopes
註冊 Google 提供者的應用程式註冊組態設定。 ClientRegistration
validation Azure Active Directory 令牌驗證流程的組態設定。 AllowedAudiencesValidation

AllowedAudiencesValidation

名稱 描述
allowedAudiences 要從中驗證 JWT 令牌之允許物件清單的組態設定。 string[]

LegacyMicrosoftAccount

名稱 描述
已啟用 false 如果即使設定註冊,仍不應啟用舊版 Microsoft 帳戶提供者,則為 ;否則為 true bool
login 登入流程的組態設定。 LoginScopes
註冊 舊版 Microsoft 帳戶提供者的應用程式註冊組態設定。 ClientRegistration
validation 舊版 Microsoft 帳戶提供者令牌驗證流程的組態設定。 AllowedAudiencesValidation

Twitter

名稱 描述
已啟用 false 如果即使設定註冊也不應該啟用 Twitter 提供者,則為 ;否則為 true bool
註冊 Twitter 提供者的應用程式註冊組態設定。 TwitterRegistration

TwitterRegistration

名稱 描述
consumerKey 用於登入之 Twitter 應用程式的 OAuth 1.0a 取用者密鑰。
啟用 Twitter 登入需要此設定。
Twitter Sign-In 檔: https://dev.twitter.com/web/sign-in
字串
consumerSecretSettingName 包含 Twitter OAuth 1.0a 消費者密碼的應用程式設定名稱
用於登入的應用程式。
字串

登入

名稱 描述
allowedExternalRedirectUrls 可在登入或註銷應用程式時重新導向至 的外部URL。 請注意,會忽略 URL 的查詢字串部分。
這是 Windows 市集應用程式後端通常需要的進階設定。
請注意,目前網域內的URL一律會隱含允許。
string[]
cookieExpiration 會話 Cookie 到期的組態設定。 CookieExpiration
nonce 登入流程中使用的 Nonce 組態設定。 Nonce
preserveUrlFragmentsForLogins true 如果在提出登入要求之後保留來自要求的片段,則為 ;否則為 false bool
路由 指定用於登入和註銷要求的端點的路由。 LoginRoutes
tokenStore 令牌存放區的組態設定。 TokenStore

CookieExpiration

名稱 描述
公約 判斷會話 Cookie 到期時所使用的慣例。 “FixedTime”
“IdentityProviderDerived”
timeToExpiration 當會話 Cookie 到期時,要求之後的時間。 字串

Nonce

名稱 描述
nonceExpirationInterval 要求到期后的時間。 字串
validateNonce false 如果在完成登入流程時不應該驗證 nonce,則為 ;否則為 true bool

LoginRoutes

名稱 描述
logoutEndpoint 應提出註銷要求的端點。 字串

TokenStore

名稱 描述
azureBlobStorage 如果使用 Blob 記憶體,令牌記憶體的組態設定。 BlobStorageTokenStore
已啟用 true 若要永久儲存在登入流程期間取得的平臺特定安全性令牌;否則為 false
預設為 false
bool
fileSystem 如果使用檔案系統,令牌記憶體的組態設定。 FileSystemTokenStore
tokenRefreshExtensionHours 會話令牌到期后的小時數,會話令牌可用來
呼叫令牌重新整理 API。 預設值為 72 小時。
int

BlobStorageTokenStore

名稱 描述
sasUrlSettingName 包含令牌之 Blob 記憶體 SAS URL 的應用程式設定名稱。 字串

FileSystemTokenStore

名稱 描述
directory 將儲存令牌的目錄。 字串

AuthPlatform

名稱 描述
configFilePath 如果組態檔來自檔案,則包含驗證設定的路徑。
如果路徑是相對的,基底將會是月臺的根目錄。
字串
已啟用 true 如果目前應用程式已啟用驗證/授權功能,則為 ;否則為 false bool
runtimeVersion 用於目前應用程式的 Authentication /Authorization 功能的 RuntimeVersion。
此值中的設定可以控制驗證/授權模組中特定功能的行為。
字串