Azure 逻辑应用程序 - 在不使用我的个人身份的情况下启动 runbook
Azure Logic App - Start a runbook without using my personal identity
我做了一个小的解决方案来检查 keyvault 中证书的到期日期,如果有任何证书将在 7 天后到期,我会向 Teams 中的频道发送电子邮件通知。
该解决方案可以满足我的要求,但我不喜欢在调用 Runbook 的 'Create Job' 步骤中使用我的个人身份。似乎任何有权访问逻辑应用程序的人都可以编辑此步骤以使用我的身份调用任何运行手册。
为清楚起见,这是逻辑应用程序步骤的屏幕截图(没有足够的代表直接粘贴)
Screenshot of azure logic app steps
Runbook 与一个自动化帐户相关联,并在检查密钥保管库时使用此帐户(该帐户具有最少的权限来完成其工作)。我在 Create Job 任务的 Automation Account 字段中选择了它。我完全不明白为什么必须输入我自己的个人凭据。
更糟糕的是,现在我已经将我的身份添加到“创建作业”步骤,我似乎无法删除它 - 任何时候我在逻辑应用程序中添加一个新的“创建作业”步骤时,它都会自动与我的用户相关联帐户。这是我第一次使用逻辑应用程序,所以可能我什么都不担心
在你的情况下,正如你提到的你不知道如何删除你的身份,你只需要删除逻辑应用程序的同一资源组中的连接(当你使用你的身份连接到自动化帐户时在逻辑应用程序中,它会在同一资源组中生成一个连接,如下图所示,只需将其删除即可)。
删除连接后,当你回到你的逻辑应用程序并删除"create job"动作,添加一个新的"create job",它会要求你提供新的连接标识。
如果不想在"create job"步骤中使用个人身份,可以使用“Connect with Service Principal”。
使用此功能前,我们需要在Azure AD APP注册中新建一个应用,请参考以下步骤:
1.进入你的Azure AD页面点击"APP registrations" --> "New registration"(如果你想使用已有的应用,请忽略创建应用程序的步骤)。
2.在创建页面输入应用名称并注册。
3. 转到您的新注册应用程序并从页面复制一些信息(将 "client id" 和 "tenant id" 复制到您的记事本)。
4. 单击 "Certificates & secrets" 选项卡 --> "New client secret" 并将新密码复制到记事本中。
5. 返回您的逻辑应用并单击 "Connect with Service Principal",然后键入 "Client ID"、"Client Secret"、"Tenant" 用记事本中复制的三个文本,创建连接。
6. 现在您成功创建了与服务主体(注册应用程序)的自动化连接。但是您可能在drop-down框中看不到任何订阅和资源组,您需要将服务主体(注册应用程序)设置为订阅的所有者,然后您才能看到订阅和资源组。在您的 Azure 门户上单击 "All services" 并搜索 "subscription",选择您的订阅并单击 "Access control(IAM)"。单击 "Add" --> "Add role assignment"。
将 "owner" 分配给您注册的应用程序。
7. 现在您可以在您的逻辑应用和 select 您的自动化帐户的 drop-down 框中看到订阅和资源组。如果你想使用这个服务主体来做一些其他的工作比如keyvault,你也需要给它权限。
希望对你有帮助~
我做了一个小的解决方案来检查 keyvault 中证书的到期日期,如果有任何证书将在 7 天后到期,我会向 Teams 中的频道发送电子邮件通知。
该解决方案可以满足我的要求,但我不喜欢在调用 Runbook 的 'Create Job' 步骤中使用我的个人身份。似乎任何有权访问逻辑应用程序的人都可以编辑此步骤以使用我的身份调用任何运行手册。
为清楚起见,这是逻辑应用程序步骤的屏幕截图(没有足够的代表直接粘贴)
Screenshot of azure logic app steps
Runbook 与一个自动化帐户相关联,并在检查密钥保管库时使用此帐户(该帐户具有最少的权限来完成其工作)。我在 Create Job 任务的 Automation Account 字段中选择了它。我完全不明白为什么必须输入我自己的个人凭据。
更糟糕的是,现在我已经将我的身份添加到“创建作业”步骤,我似乎无法删除它 - 任何时候我在逻辑应用程序中添加一个新的“创建作业”步骤时,它都会自动与我的用户相关联帐户。这是我第一次使用逻辑应用程序,所以可能我什么都不担心
在你的情况下,正如你提到的你不知道如何删除你的身份,你只需要删除逻辑应用程序的同一资源组中的连接(当你使用你的身份连接到自动化帐户时在逻辑应用程序中,它会在同一资源组中生成一个连接,如下图所示,只需将其删除即可)。
删除连接后,当你回到你的逻辑应用程序并删除"create job"动作,添加一个新的"create job",它会要求你提供新的连接标识。
如果不想在"create job"步骤中使用个人身份,可以使用“Connect with Service Principal”。
使用此功能前,我们需要在Azure AD APP注册中新建一个应用,请参考以下步骤:
1.进入你的Azure AD页面点击"APP registrations" --> "New registration"(如果你想使用已有的应用,请忽略创建应用程序的步骤)。
2.在创建页面输入应用名称并注册。
3. 转到您的新注册应用程序并从页面复制一些信息(将 "client id" 和 "tenant id" 复制到您的记事本)。
4. 单击 "Certificates & secrets" 选项卡 --> "New client secret" 并将新密码复制到记事本中。
5. 返回您的逻辑应用并单击 "Connect with Service Principal",然后键入 "Client ID"、"Client Secret"、"Tenant" 用记事本中复制的三个文本,创建连接。
6. 现在您成功创建了与服务主体(注册应用程序)的自动化连接。但是您可能在drop-down框中看不到任何订阅和资源组,您需要将服务主体(注册应用程序)设置为订阅的所有者,然后您才能看到订阅和资源组。在您的 Azure 门户上单击 "All services" 并搜索 "subscription",选择您的订阅并单击 "Access control(IAM)"。单击 "Add" --> "Add role assignment"。
将 "owner" 分配给您注册的应用程序。
7. 现在您可以在您的逻辑应用和 select 您的自动化帐户的 drop-down 框中看到订阅和资源组。如果你想使用这个服务主体来做一些其他的工作比如keyvault,你也需要给它权限。
希望对你有帮助~