Emite un certificado con Terraform
Aprende a usar Terraform con Certificate Authority Service para hacer lo siguiente:
- Crea un grupo de CA y una CA raíz en el grupo de CA nuevo.
- Crea un grupo de CA y una CA subordinada dentro de él que esté firmada por la CA raíz.
- Genera una nueva solicitud de firma de certificado (CSR).
- Usa la CSR generada para solicitar un certificado del grupo de CA que contiene la CA subordinada.
Terraform es un software de código abierto que te permite crear y administrar tus recursos del Servicio de autoridad certificadora con su paradigma de infraestructura como código. En esta guía de inicio rápido, se usa el Google Cloud proveedor de Terraform para Terraform.
Para seguir la guía paso a paso sobre esta tarea directamente en la Google Cloud consola, haz clic en Guiarme:
Antes de comenzar
Asegúrate de tener el rol de IAM de administrador del Servicio de autoridad certificadora (roles/privateca.admin). Si no tienes este rol de IAM, consulta
Otorga un solo rol
para obtener información sobre cómo otorgarlo.
Crear un Google Cloud proyecto de
- Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the CA Service API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the CA Service API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
Instala Google Cloud CLI
Si aún no lo hiciste, instala la Google Cloud CLI. Cuando se te solicite, elige el proyecto que seleccionaste o creaste anteriormente.
Si ya tienes instalada la Google Cloud CLI, ejecuta el siguiente comando para actualizarla:
gcloud components update
gcloud components update
Muestra de configuración de Terraform
Ejecuta el archivo de configuración de Terraform
Para aplicar tu configuración de Terraform en un Google Cloud proyecto de, completa los pasos de las siguientes secciones.
Prepara Cloud Shell
- Inicia Cloud Shell.
-
Establece el Google Cloud proyecto predeterminado en el que deseas aplicar tus configuraciones de Terraform.
Solo necesitas ejecutar este comando una vez por proyecto y puedes ejecutarlo en cualquier directorio.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Las variables de entorno se anulan si configuras valores explícitos en el archivo de configuración de Terraform.
Prepara el directorio
Cada archivo de configuración de Terraform debe tener su propio directorio (también llamado módulo raíz).
-
En Cloud Shell, crea un directorio y un archivo nuevo dentro de ese directorio. El nombre del archivo debe tener la extensión
.tf, por ejemplo,main.tf. En este instructivo, el archivo se denominamain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Si sigues un instructivo, puedes copiar el código de muestra en cada sección o paso.
Copia el código de muestra en el
main.tfrecién creado.De manera opcional, copia el código de GitHub. Esto se recomienda cuando el fragmento de Terraform es parte de una solución de extremo a extremo.
- Revisa y modifica los parámetros de muestra que se aplicarán a tu entorno.
- Guarda los cambios.
-
Inicializa Terraform. Solo debes hacerlo una vez por directorio.
terraform init
De manera opcional, incluye la opción
-upgradepara usar la última versión del proveedor de Google:terraform init -upgrade
Aplica los cambios
-
Revisa la configuración y verifica que los recursos que creará o actualizará Terraform coincidan con tus expectativas:
terraform plan
Corrige la configuración según sea necesario.
-
Para aplicar la configuración de Terraform, ejecuta el siguiente comando y, luego, escribe
yescuando se te solicite:terraform apply
Espera hasta que Terraform muestre el mensaje “¡Aplicación completa!”.
- Abre tu Google Cloud proyecto para ver los resultados. En la Google Cloud consola, navega a tus recursos en la IU para asegurarte de que Terraform los haya creado o actualizado.
Limpieza
Para evitar que se generen cargos en tu Google Cloud cuenta por los recursos que usaste en esta guía de inicio rápido, borra tu grupo de CA y todos los recursos definidos en el archivo de configuración de Terraform:
terraform destroy
Cuando se te solicite, ingresa yes.
Si creaste un proyecto nuevo para esta guía de inicio rápido y ya no lo necesitas, entonces borra el proyecto.
¿Qué sigue?
- Obtén más información para ejecutar
gcloudcomandos con Cloud Shell. - Obtén más información para usar Terraform con Google Cloud.
- Obtenga más información sobre el uso de Terraform con el servicio de CA.
- Lee la documentación de Terraform sobre la compatibilidad con el Servicio de autoridad certificadora.
- Comienza a usar el Google Cloud proveedor.