如何在Bicep脚本中配置Azure App Service身份验证额外检查
在Bicep中配置Azure App Service身份验证的额外检查
以下是针对各类身份验证检查项的具体Bicep配置方法:
一、客户端应用要求
1. 仅允许来自本应用自身的请求
将allowedApplications设置为当前应用的api://<应用客户端ID>,示例如下:
resource authSettingsV2 'Microsoft.Web/sites/config@2023-01-01' = { parent: appService name: 'authsettingsV2' properties: { identityProviders: { azureActiveDirectory: { validation: { defaultAuthorizationPolicy: { allowedApplications: [ 'api://${appServiceIdentity.properties.clientId}' ] } } } } } }
2. 允许来自特定客户端应用的请求
在allowedApplications数组中添加指定客户端应用的api://<客户端ID>:
allowedApplications: [ 'api://<客户端应用1的ID>' 'api://<客户端应用2的ID>' ]
3. 允许来自任意应用的请求(不推荐)
不配置allowedApplications字段,或者将其设置为空数组,此时不会对客户端应用做限制:
defaultAuthorizationPolicy: { // 省略allowedApplications,或设置为allowedApplications: [] }
二、身份要求
1. 允许来自任意身份的请求
不配置allowedPrincipals字段,不对用户/组身份做额外限制(仅需通过身份验证即可)。
2. 允许来自特定身份的请求
在defaultAuthorizationPolicy的allowedPrincipals数组中添加指定用户或组的对象ID,格式为user:<对象ID>或group:<对象ID>:
defaultAuthorizationPolicy: { allowedPrincipals: [ 'user:<指定用户的对象ID>' 'group:<指定组的对象ID>' ] }
三、租户要求
1. 仅允许来自颁发者租户的请求
将allowedTenants设置为包含当前租户ID的数组,并开启颁发者验证:
azureActiveDirectory: { validation: { validateIssuer: true defaultAuthorizationPolicy: { allowedTenants: [ '<当前租户ID>' ] } } }
2. 允许来自特定租户的请求
在allowedTenants数组中添加需要允许的租户ID列表:
allowedTenants: [ '<租户ID1>' '<租户ID2>' ]
3. 使用基于颁发者的默认限制
将validateIssuer设置为false,此时会依赖颁发者的默认验证规则,不对租户做额外限制:
azureActiveDirectory: { validation: { validateIssuer: false } }
内容的提问来源于stack exchange,提问作者Ajit S
相关产品推荐
相关产品推荐

