在 Azure DevOps Powershell 管道任务中获取自己的服务主体名称

2023-12-08

当使用 system.debug=true 在 Azure DevOps 发布管道中运行 Azure Powershell 任务时,您将获得类似于以下内容的输出:

# anonymized
...
2019-09-05T12:19:41.8983585Z ##[debug]INPUT_CONNECTEDSERVICENAMEARM: '7dd40b2a-1c37-4c0a-803e-9b0044a8b54e'
2019-09-05T12:19:41.9156487Z ##[debug]ENDPOINT_URL_7dd40b2a-1c37-4c0a-803e-9b0044a8b54e: 'https://management.azure.com/'
2019-09-05T12:19:41.9188051Z ##[debug]ENDPOINT_AUTH_7dd40b2a-1c37-4c0a-803e-9b0044a8b54e: '********'
2019-09-05T12:19:41.9221892Z ##[debug]ENDPOINT_DATA_7dd40b2a-1c37-4c0a-803e-9b0044a8b54e: '{"subscriptionId":"b855f753-d5b3-48f4-b7cd-5beb58fb5508","subscriptionName":"Entenhausen","environment":"AzureCloud","creationMode":"Automatic","azureSpnRoleAssignmentId":"5ddcc3fe-f93c-4771-8041-50b49f76b828","azureSpnPermissions":"[{\"roleAssignmentId\":\"5ddcc3fe-f93c-4771-8041-50b49f76b828\",\"resourceProvider\":\"Microsoft.RoleAssignment\",\"provisioned\":true}]","spnObjectId":"76055cb6-3b75-4191-9309-306b32dad443","appObjectId":"e4b90b9d-7a73-42a3-ae6e-4daec910def4","environmentUrl":"https://management.azure.com/","galleryUrl":"https://gallery.azure.com/","serviceManagementUrl":"https://management.core.windows.net/","resourceManagerUrl":"https://management.azure.com/","activeDirectoryAuthority":"https://login.microsoftonline.com/","environmentAuthorityUrl":"https://login.windows.net/","graphUrl":"https://graph.windows.net/","managementPortalUrl":"https://manage.windowsazure.com/","armManagementPortalUrl":"https://portal.azure.com/","activeDirectoryServiceEndpointResourceId":"https://management.core.windows.net/","sqlDatabaseDnsSuffix":".database.windows.net","AzureKeyVaultDnsSuffix":"vault.azure.net","AzureKeyVaultServiceEndpointResourceId":"https://vault.azure.net","StorageEndpointSuffix":"core.windows.net","EnableAdfsAuthentication":"false"}'
2019-09-05T12:19:41.9284444Z ##[debug]AuthScheme ServicePrincipal
...

我需要将 Azure DevOps 连接的 SPN 添加到资源。更改订阅或管道时,SPN 也会更改,我不想对该值进行硬编码。 由于该值打印在 system.debug=true 输出中,我想知道如何在管道任务中访问我自己的 SPN。是否可以读出spnObjectId":"76055cb6-3b75-4191-9309-306b32dad443"以某种方式使用Powershell?


可以使用 Get-AzureRmContext 访问有关服务主体的信息,但信息有限,并且某些信息在日志中被混淆,因此您需要再次调用 Get-AzureRmServicePrincipal 来访问 ObjectId

$Context = Get-AzureRmContext
$AzureDevOpsServicePrincipal = Get-AzureRmADServicePrincipal -ApplicationId $Context.Account.Id
$ObjectId = $AzureDevOpsServicePrincipal.Id

暴露的 ID$Context.Account.Id是服务主体 ApplicationId

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Azure DevOps Powershell 管道任务中获取自己的服务主体名称 的相关文章

随机推荐

  • 单选按钮 onclick 不起作用

    我有 3 个单选按钮 将根据单击的按钮显示列表中的某些作业 我曾经使用搜索按钮来运行搜索代码 因此 用户将选择一个单选按钮 然后单击搜索 但现在我已经删除了搜索按钮 我希望单选按钮在单击时调用搜索功能 table tr td td tr t
  • 如何使用 Byte Buddy 更改导入?

    我想更改类的导入 以便它们指向不同的包 Byte Buddy 文档没有提供太多关于如何实现这一目标的信息 这是我到目前为止所拥有的 public class ProxyPlugin implements net bytebuddy buil
  • 限时输入? [复制]

    这个问题在这里已经有答案了 我希望能够做的是使用输入向用户询问问题 例如 print some scenario prompt input You have 10 seconds to choose the correct answer n
  • 使用 fileConfig 在 Python 中配置自定义处理程序

    我正在使用配置文件在 Python 应用程序中配置我的记录器 这是文件 loggers keys root logger root level INFO handlers console handlers keys console file
  • 在 SSRS 中分组?

    我是 SSRS 的新手 数据如下所示 它们都来自同一个数据集 就像将 2 列分组一样 即 WrkCrtId Name 显示在它们之上 我已经尝试了一些方法来做到这一点 但仍然失败 我想知道是否有人可以提供帮助 附注下图显示了 2 组 B3
  • 在.NET 6控制台应用程序中读取appsettings.json文件

    如何从appsettings json NET 6 控制台应用程序中的文件 program cs file public class Program private static ManualResetEvent quitEvent new
  • 如何在 Ant 中从逗号分隔的目录列表创建文件集?

    在 Ant 目标中 我获得一个属性 其中包含要包含在进一步操作 复制 过滤等 中的目录列表 它看起来像这样 directories dir1 dir2 dir3 我需要一种方法将此列表转换为选择的文件集或模式集all这些目录中的文件 我知道
  • 转换错误:需要左值作为赋值的左操作数

    所以我正在尝试使用ether aton 它返回一个struct ether addr 我正在尝试将其放入我的struct ether header eptr 来自 net ethernet h ether shost成员 我试过这个 str
  • swift3 日期到数据,数据到日期转换

    我正在努力将 Objective C 中创建的代码更改为 swift3 我想将下面的代码更改为使用 Objective c 创建的 swift3 代码 Objective c NSDate 到 NSData 代码 NSCalendar ca
  • 如何使用 PDFBox 对动态创建的 PDF 文档进行数字签名?

    对不起 我java很差 我哪里不对的地方请指正 我哪里不好的地方请改进 我正在尝试使用 PDFBox 通过以下程序对动态创建的 pdf 进行数字签名 计划中的任务 i 创建 PDF 模板 ii 更新 ByteRange xref start
  • 如何在构建阶段使用其他小部件的约束和大小

    我想确保涵盖所有情况 父窗口小部件读取 并可能使用 子窗口的大小或约束 子部件读取 并可能使用 父部件的大小或约束 子部件读取 并可能使用 另一个子部件的大小或约束 解决方案似乎是 让构建阶段运行 然后构建我想要从中检索数据的小部件的大小和
  • 本地通知?

    我的应用程序主要是服务器的客户端 实际上没有连接到互联网 它连接到 Polycom 编解码器并管理 2 个端点之间的视频通话 所以我的应用程序可以发送诸如结束通话 调高音量等命令 然而我的问题是这样的 当有来电并且应用程序不在前台时 我需要
  • Next.js Firebase 托管 404 错误(除 index.html 外)

    我构建了一个 nextjs 应用程序npm run build npm run export并使用部署到 firebasefirebase deploy命令 在此之前 我曾经使用过firebase init在我的项目文件夹中 仅使用默认选项
  • 如何将电子邮件建议传递到 Azure AD B2C 注册页面

    有没有办法在自定义策略中建议注册电子邮件 我的一些用户只需要通过邀请电子邮件进行注册 我在文档中看到 https learn microsoft com bs latn ba azure active directory b2c direc
  • ViewStateUserKey + 共享托管 + ViewStateMac 验证失败

    所以 问题很简单 尽管我开始怀疑这是否会得到解答 我有一个网站 我想在其中使用推荐的 ViewStateUserKey 来保护我的视图状态 在我的基页 显然继承自 Page 中 我有以下代码 protected override void
  • 保留最新文件并删除所有其他文件

    在我的文件夹中有许多具有日期时间戳格式的 pdf 文件 如最后所示 我想保留当天的最新文件并删除当天的其余文件 我该怎么做 2012 07 13 15 13 27 1342167207 pdf 2012 07 13 15 18 22 134
  • 为什么 Java 在连续整数上切换似乎在增加情况下运行得更快?

    我正在编写一些需要高度优化的 Java 代码 因为它将在主程序逻辑中的许多点调用的热函数中运行 该代码的一部分涉及乘法double变量由10提升为任意非负数int exponents 获得相乘值的一种快速方法 编辑 但不是最快的方法 请参阅
  • BlackBerry 应用程序大于 14mb

    我的黑莓应用程序包括一些 html 文件 图像 jss 文件 这些文件是gzip压缩的 但是这个gzip的大小是18mb 我知道 BlackBerry 智能手机应用程序的最大大小是约14MB 我该如何解决这个限制 我找到了这个支持论坛页面
  • Crystal Reports - “您请求的报告需要更多信息”

    我有一些使用 Crystal Visual Studio 外部 创建的 Crystal Reports 现在已加载到 VS 项目中 在预览报告之前 我在报告和所有子报告中设置了这样的报告数据库信息 var connectionInfo ne
  • 在 Azure DevOps Powershell 管道任务中获取自己的服务主体名称

    当使用 system debug true 在 Azure DevOps 发布管道中运行 Azure Powershell 任务时 您将获得类似于以下内容的输出 anonymized 2019 09 05T12 19 41 8983585Z