2016-08-15 32 views
2

我正在嘗試執行下面給出的示例terraform計劃。執行Terraform執行計劃時的憑據失敗

# Configure the Microsoft Azure Provider 
provider "azurerm" { 
    subscription_id = "..." 
    client_id  = "..." 
    client_secret = "..." 
    tenant_id  = "..." 
} 

    # Create a resource group 
    resource "azurerm_resource_group" "production" { 
     name  = "production" 
     location = "West US" 
    } 

    # Create a virtual network in the web_servers resource group 
    resource "azurerm_virtual_network" "network" { 
     name    = "productionNetwork" 
     address_space  = ["10.0.0.0/16"] 
     location   = "West US" 
     resource_group_name = "${azurerm_resource_group.production.name}" 

     subnet { 
     name   = "subnet1" 
     address_prefix = "10.0.1.0/24" 
     } 

     subnet { 
     name   = "subnet2" 
     address_prefix = "10.0.2.0/24" 
     } 

     subnet { 
     name   = "subnet3" 
     address_prefix = "10.0.3.0/24" 
     } 
    }`enter code here` 

我通過創建活動目錄應用接着[1]以產生憑證和所使用的正確subscription_id,CLIENT_ID,client_secret,tenant_id在上述計劃和執行的「terraform計劃」反對。但是我收到了錯誤。

錯誤刷新狀態:1個錯誤發生:

  • 憑據acessing在Azure資源管理器API很可能是不正確,或 服務主體沒有使用Azure的服務管理權限 API。

[1] https://azure.microsoft.com/en-us/documentation/articles/resource-group-create-service-principal-portal/

在此任何想法?

+0

您需要自動部署權限,這不是因爲您可以在可以使用terraform的門戶中創建VM。您需要首先訪問它。 –

回答

1

看起來在terraform文檔中,他們沒有包括將角色分配給服務主體的步驟。按照這些步驟,它的工作原理。

1)通過Azure CLI通過以下鏈接https://azure.microsoft.com/en-us/documentation/articles/resource-group-authenticate-service-principal-cli/創建服務主體,該鏈接將角色分配給服務主體 2)轉到Azure RM門戶 - > Active Directory - >應用程序註冊 - >創建密鑰 3)在.tf文件中使用上面的相應值。

然後運行命令terraform plan。

+0

好像現在已經更新,只需按照下面的步驟操作即可.https://www.terraform.io/docs/providers/azurerm/r/virtual_machine.html – Vikram

+0

對不起,這是這個鏈接。 https://www.terraform.io/docs/providers/azurerm/index.html – Vikram