2017-10-12 3 views
0

J'essaie d'exécuter terraform apply sur un dossier avec un fichier tf, après avoir lancé init.Terraform impossible de lister l'état d'enregistrement du fournisseur

Cependant, je reçois l'erreur suivante:

Error running plan: 1 error(s) occurred:

  • provider.azurerm: Unable to list provider registration status, it is possible that this is due to invalid credentials or the service principal does not have permission to use the Resource Manager API, Azure error: resources.ProvidersClien t#List: Failure responding to request: StatusCode=403 -- Original Error: autorest/azure: Service returned an error. Stat us=403 Code="AuthorizationFailed" Message="The client '17cd0b64-08fb-48db-ad9f-4dd56361bb47' with object id '17cd0b64-08 fb-48db-ad9f-4dd56361bb47' does not have authorization to perform action 'Microsoft.Resources/subscriptions/providers/re ad' over scope '/subscriptions/9a305d25-7f89-43d4-a691-62ad0f63c5c8'."

Le fichier a mon id tf locataire, id abonnement, tous les autres champs obligatoires, mais l'erreur continue à se produire. S'il vous plaît donnez votre avis?

EDIT: Voici mon fichier tf

provider "azurerm" { 
 
    subscription_id = "9a305d25-7f89-43d4-a691-62ad0f63c5c8" 
 
    client_id  = "b5c92e75-9609-40d4-a64c-8d09be8b3a26" 
 
    client_secret = "CO5FufAOpH!j0r*Rlf0gi^[email protected]{}A=zUZRbsf" 
 
    tenant_id  = "4da92a32-54f3-4287-bbdb-bafbf8b87840" 
 
} 
 

 

 

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

+0

Vous êtes l'utilisateur 21k dans Stackoverflow, mais vous demandez question sans des détails, mais un message d'erreur, autre chose que vous pouvez fournir, tels que les codes, comment exécuter les commandes, les variables d'environnement que vous définissez, et d'autres? – BMW

+0

Avez-vous vraiment posté vos informations d'identification secrètes ?! Si c'est le cas, veuillez les révoquer et auditer votre configuration pour tout changement effectué en utilisant les creds donnés. –

Répondre

1

Sans voir la configuration de votre terraform il est difficile de connaître exactement le problème, mais je devine que vous manquez votre client_id et client_secret.

Donc, votre fournisseur ressemblerait à quelque chose comme ceci:

provider "azurerm" { 
    subscription_id = "..." 
    client_id  = "..." 
    client_secret = "..." 
    tenant_id  = "..." 
} 

Plus d'informations ici: https://www.terraform.io/docs/providers/azurerm/

+0

Hmm, j'ai précisé cela. Je peux partager le code ce soir depuis chez moi. – dotnetdev

0

regardant le message d'erreur donné, je dirais que les pouvoirs donnés ne disposent pas d'autorisations requises sur ledit Ressources.

perform action 'Microsoft.Resources/subscriptions/providers/read' 
over scope '/subscriptions/9a305d25-7f89-43d4-a691-62ad0f63c5c8'." 

Avez-vous créé vos informations d'identification selon les instructions données à

https://www.terraform.io/docs/providers/azurerm/

En outre, à partir https://github.com/Azure/vagrant-azure/issues/127#issuecomment-226659944

"To enable the application for use with Azure RM, you now need to switch to the 'New' Portal:" and further. You need to add that app credential to the Azure portal and give permission. Trick is about adding by name manually as "Type in the name of the application added in the 'Classic' Portal. You need to type this as it won't be shown in the user list. Click on the appropriate user in the list and then click Select"