Esta página foi traduzida pela API Cloud Translation.
Switch to English

Integração com o Terraform

Se você usa o Terraform para gerenciar sua infraestrutura, você pode utilizar a versão Beta do Provedor do Google Cloud para definir os recursos a seguir na configuração do Terraform.

Defina seu repositório e as permissões específicas ao repositório em um módulo do Terraform.

  1. Crie o arquivo de módulo main.tf com o provedor google e o recurso do repositório.

    A configuração a seguir define o provedor e um repositório com o nome do recurso Terraform my-repo.

    provider "google" {
        project = "PROJECT-ID"
    }
    
    resource "google_artifact_registry_repository" "my-repo" {
      provider = google-beta
    
      location = "LOCATION"
      repository_id = "REPOSITORY"
      description = "DESCRIPTION"
      format = "DOCKER"
      kms_key_name = "KEY"
    }
    

    Onde

    • PROJECT-ID é o ID do projeto do Google Cloud;
    • REPOSITORY é o nome do repositório;
    • LOCATION é o local do repositório.
    • DESCRIPTION é a descrição opcional para o repositório. Não inclua dados confidenciais, já que as descrições do repositório não são criptografadas.
    • KEY é o nome da chave do Cloud Key Management Service, se você estiver usando chaves de criptografia gerenciadas pelo cliente (CMEK, na sigla em inglês) para criptografia. Omita esse argumento para usar a configuração padrão, as chaves de criptografia gerenciadas pelo Google.
  2. Para conceder permissões específicas do repositório no módulo, adicione os recursos google_artifact_registry_repository_iam. O exemplo a seguir define uma conta de serviço com o nome de recurso repo-account e concede a ela acesso de leitura a um repositório com o nome de recurso my-repo.

    provider "google" {
        project = "PROJECT-ID"
    }
    
    resource "google_artifact_registry_repository" "my-repo"     {
      provider = google-beta
    
      location = "LOCATION"
      repository_id = "REPOSITORY"
      description = "DESCRIPTION"
      format = "DOCKER"
    }
    
    resource "google_service_account" "repo-account" {
      provider = google-beta
    
      account_id   = "ACCOUNT-ID"
      display_name = "Repository Service Account"
    }
    
    resource "google_artifact_registry_repository_iam_member" "repo-iam" {
      provider = google-beta
    
      location = google_artifact_registry_repository.my-repo.location
      repository = google_artifact_registry_repository.my-repo.name
      role   = "roles/artifactregistry.reader"
      member = "serviceAccount:${google_service_account.repo-account.email}"
    }
    

    ACCOUNT-ID é o ID da conta de serviço. Essa é a parte do campo de e-mail da conta de serviço antes do símbolo @.

    Para outros exemplos, incluindo a atribuição de permissões com uma política do IAM, consulte a documentação google_artifact_registry_repository_iam.

  3. Inicialize o Terraform:

    terraform init
    
  4. Aplique a configuração do Terraform:

    terraform apply
    

    Confirme que você quer aplicar as ações digitando yes.