- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Azure 函数,我用它从 Azure AD 获取数据,但我想限制谁可以使用该函数,因为它将使用 HTTP 触发器,这样我就可以从逻辑应用程序稍后在路上。因此,由于 HTTP 触发的 Azure Functions 有一个公共(public)端点,我想通过将授权级别设置为 Function 来提高安全性,或者更优选使用 Azure AD 服务主体(预先创建)。进行此更改后,我可以通过将函数放入 URL 来进行调用。
基本网址:https://something.com/api/function_name
带有 token 的 URL:https://something.com/api/function_name?code=token_here
但是,我的函数需要一些输入。在匿名端点上,您可以像这样扩展基本 URL:https://something.com/api/function_name/?parameter=value
其中参数是代码所期望的,以及在代码中传递给变量的值。现在我不熟悉这个 HTTP 端点的东西,并通过 URL 传递值。我知道这是作为 JSON 传递的(可能)
但是我不明白如何既可以进行功能授权又可以传入参数。我试过:
https://something.com/api/function_name/?parameter=value?code=token_here
https://something.com/api/function_name?code=token_here/?parameter=value
有人知道这是怎么回事吗?
另一方面,我还可以将 Platform Features -> Authentication/Authorization
设置为 Azure AD 服务主体。但是,我该如何更改 URL 以使用该服务主体的 client_id
和 client_secret
进行身份验证?我实际上更喜欢使用这种方法,因为这样我就可以对 token 实现生命周期管理并轮换它以使其更加安全。
我看过这里: Azure function with Azure AD authentication access using JavaScript
我在 stackoverflow 上发现的大多数其他主题甚至都没有接近。
PS:此 PS 不需要答案,但如果有任何想法,我将不胜感激。我正在编造的这个东西是一个工作流,它结合了一个触发 Get-Function
的(预定)逻辑应用程序。 Get-Function
需要以某种方式触发 Update-Function
。我正在触发 Get-Function
HTTP,这样我也可以将它作为 API 提供,使该功能可用于自动化。 (允许通过 API 调用轮换 secret ,而无需那些需要 Azure AD 权限的人)然后,更新功能需要轮换(特定)应用程序/服务主体的 secret 。Azure Functions 基于 v2 并使用 Powershell Core 作为语言。
最佳答案
如果您想使用平台功能->认证/授权(Easy Auth)来保护您的匿名http触发功能,您可以按照以下步骤操作:
点击保存。完成该过程后,请记下您的功能广告应用的 client_id,我们稍后会用到它。
为其创建客户端密码,记下客户端密码值和新的 Azure AD 应用程序 ID:
Request URL:
POST https://login.microsoftonline.com/<-your tenant id/name->/oauth2/token
Request Header:
Content-Type: application/x-www-form-urlencoded
Request Body:
grant_type=client_credentials
&resource=<-function App ID->
&client_id=<-new Azure AD App ID->
&client_secret=<-client secret of new Azure AD App ID->
如下:
正如您在响应中看到的,您可以获得一个访问 token ,因此在 http 请求 header Authorization
参数中使用此 token 来调用您的 http 触发函数,该函数启用了简单的身份验证,所有请求都没有正确的授权 header 将被阻止:
如果这对你有帮助,请标记我。
关于powershell - 如何使用函数身份验证或 Azure AD 服务主体对 Azure 函数进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57587054/
我正在寻找实现 PowerShell 提供程序 在 电源外壳。 我一直在想,如果我只是定义类型,然后将它们导入我的 session (导入模块),我应该能够让它们可用。 例如,这个 不工作但它沿着我想
我创建的脚本使用了组件,这些组件仅在32位版本的Powershell中可用。 默认情况下,Windows使用Powershell x64执行脚本,这会导致一些错误。 是一种在脚本开头设置值以强制Win
是否可以从 Powershell 中检测它是否是嵌套 shell? 如果我打开 Powershell 或 cmd.exe 窗口,然后输入 powershell 在那里,是否有一个神奇的 $host.s
随着 PowerShell Core 的发布,应用程序在使用托管自动化库 (system.management.automation) 时如何选择调用哪个版本的 Powershell(Powershe
最近,我加入了我企业的 Windows 团队,凭借我的开发人员背景(一般是 Java、.NET 和 Web),我很快就对 PowerShell 产生了兴趣。我可以看到它比普通的旧批处理文件、VB 更有
假设我有一个 powershell 脚本,它在我当前路径的相对路径中包含一个 Powershell 哈希。让我们称之为“name.ps1”,它包含: $names = @{ "bob" = "b
我想为我正在构建的自定义 Powershell Commandlet 使用 SqlServerCmdletSnapin。如果我将以下代码添加到 PSM1 的开头: if ( (Get-PSSnapin
如何调用从 PowerShell 脚本中获取命名参数的 PowerShell 脚本? foo.ps1: param( [Parameter(Mandatory=$true)][String]$a=''
我即将为 Windows 管理员编写一个 PowerShell 脚本,以帮助他们完成与部署 Web 应用程序相关的某些任务。 有什么理由让我应该赞成或排除开发 PowerShell 模块 (.psm1
我的 powershell 模块有一个函数,我希望它返回一个非零退出代码。但是,作为一个模块函数,当我运行 Import-Module 时,它会加载到 powershell 控制台的上下文中。所以,当
我在这个问题上花了最后 4 个小时,非常感谢您提供的任何意见。 我需要使用不同的凭据调用 powershell 脚本并将参数传递给该脚本。 安装 WISEScript 中包装的程序后,此脚本开始收集机
我有一个场景,我需要将 powershell 命令的命令和输出转发到另一个进程以进行日志记录和处理。 我希望这个控制台尽可能接近 powershell,因此不希望将它简单地托管在另一个控制台程序中。
我正在尝试让一个主 PowerShell 脚本运行所有其他脚本,同时等待 30-60 秒以确保完成任务。我尝试过的所有其他操作都不会停止/等待第一个脚本及其进程完成,然后才能同时完成所有其他脚本,并且
我正在编写一个脚本来使用多个 plink (PuTTY) session 作为 Windows 版本的 clustersh。然而,我陷入困境,因为我想从 powershell 打开多个 Powersh
我读了这个答案:How to Open Powershell from Powershell start powershell 这将打开基础的大分辨率 PS 实例。如何打开 PS(x86)? 最佳答案
我很想知道我们是否可以在 Powershell 中做到这一点。 使用 Out-File 命令,我们可以通过管道将其输出写入文件。这样我就可以将我所有的历史命令发送到一个文本文件中。 问题是我可以在每次
我在 about_Pipelines 阅读了有关 PowerShell 中的管道工作原理的信息,并了解到管道一次传送一个对象。 所以,这个 Get-Service | Format-Table -Pr
我正在尝试像这样从 powershell 启动一个进程:- $proc = (start-process $myExe -argumentList '/myArg True' -windowStyle
## To run the script # .\get_status.ps1 -Hostname -Service_Action -Service_Name #$Hostname = "hos
让我们使用 powershell 命令 Write-Host "red text"-Fore red这会在红色前景中显示“红色文本”。 但是,您希望文本以稍微亮一点的方式显示字体颜色,浅红色。 有没有
我是一名优秀的程序员,十分优秀!