如何使用Terraform创建Azure应用程序注册和客户端密钥

huangapple go评论139阅读模式
英文:

How to create azure app registration and client secret using terraform

问题

我正在尝试创建一个用于Azure应用注册和客户端密钥的Terraform代码(具有对订阅的读取访问权限的服务主体)。

基本上,我正在尝试将Azuresafe与Terraform集成,并尝试逐步了解如何配置。这里有文档。如果已经有任何Terraform代码可供审查等等,将会很有帮助,或者关于我想了解如何创建应用注册和客户端密钥

  1. # 创建新的应用注册
  2. resource "azuread_application" "app" {
  3. display_name = var.azuread_app_display_name
  4. }
  5. # 创建服务主体
  6. resource "azuread_service_principal" "app" {
  7. application_id = azuread_application.app.application_id
  8. }
  9. # 创建服务主体密码
  10. resource "azuread_service_principal_password" "app" {
  11. application_object_id = azuread_application.app.object_id
  12. }
英文:

I am trying to create an Terraform code for Azure app registration and client secret (A service principal with Read access to the subscription)

Basically, I am trying to Integrate Azuresafe with Terraform and trying to identify how to configure step by step.https://docs.safe.security/docs/azure. If there is already any terrafrom code out there to review etc.. will be helpful or for this I would like to understand how to create a app registration and clien secret.

  1. # Create new app registration
  2. resource "azuread_application" "app" {
  3. display_name = var.azuread_app_display_name
  4. }
  5. # Create a service principal
  6. resource "azuread_service_principal" "app" {
  7. application_id = azuread_application.app.application_id
  8. }
  9. # Create Service Principal password
  10. resource "azuread_service_principal_password" "app" {
  11. application_object_id = azuread_application.app.object_id
  12. }

答案1

得分: 1

我尝试使用Terraform创建Azure应用程序注册、服务主体和客户端密钥,并成功完成了它们的配置。

根据需求,我们需要在我们的活动订阅中为Azure应用程序注册及其密钥、服务主体提供只读访问权限。为此,我们需要赋予贡献者级别的访问权限。

我的Terraform代码如下:

main.tf

  1. resource "azuread_application" "app" {
  2. display_name = "Azuresafe Application VK"
  3. }
  4. resource "azuread_service_principal" "app" {
  5. application_id = azuread_application.app.application_id
  6. }
  7. resource "azuread_application_password" "example" {
  8. application_object_id = azuread_application.app.object_id
  9. }
  10. # 输出服务主体和密码
  11. output "app" {
  12. value = azuread_application.app.id
  13. sensitive = true
  14. }
  15. output "app_password" {
  16. value = azuread_application_password.example.value
  17. sensitive = true
  18. }

输出:

如何使用Terraform创建Azure应用程序注册和客户端密钥

现在执行terraform_output命令来检查应用程序和应用程序密钥。

terraform_output

如何使用Terraform创建Azure应用程序注册和客户端密钥

如何使用Terraform创建Azure应用程序注册和客户端密钥

门户输出:

应用程序注册

如何使用Terraform创建Azure应用程序注册和客户端密钥

应用程序注册密码

如何使用Terraform创建Azure应用程序注册和客户端密钥

英文:

> I tried to create Azure app registration, Service principal & client secret using Terraform and I was successfully able to provision them

Here as per the requirement, we need need to provision Azure App registration & its secret, Service principal in read-only access. For this, we need contributor-level access to our active subscription.

my terraform code

main.tf

  1. resource "azuread_application" "app" {
  2. display_name = "Azuresafe Application VK"
  3. }
  4. resource "azuread_service_principal" "app" {
  5. application_id = azuread_application.app.application_id
  6. }
  7. resource "azuread_application_password" "example" {
  8. application_object_id = azuread_application.app.object_id
  9. }
  10. # Output the Service Principal and password
  11. output "app" {
  12. value = azuread_application.app.id
  13. sensitive = true
  14. }
  15. output "app_password" {
  16. value = azuread_application_password.example.value
  17. sensitive = true
  18. }

Output:

如何使用Terraform创建Azure应用程序注册和客户端密钥

now execute the terrafrom_output command to check the app and app_secret

terraform_output

如何使用Terraform创建Azure应用程序注册和客户端密钥

如何使用Terraform创建Azure应用程序注册和客户端密钥

Portal Output:

  1. App Registration

如何使用Terraform创建Azure应用程序注册和客户端密钥

  1. App registration password

如何使用Terraform创建Azure应用程序注册和客户端密钥

huangapple
  • 本文由 发表于 2023年7月31日 22:32:48
  • 转载请务必保留本文链接:https://go.coder-hub.com/76804627.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定