Eliminación de Recursos y Claves en AWS con Serverless Framework
Serverless Framework nos ha ayudado creando un montón de recursos durante este curso, todos estos recursos están asociados a tu cuenta de AWS y a la región en donde estés desplegando y a un stack de CloudFormation en particular, por lo general el uso de estos recursos o servicios tiene un costo asociado en AWS, sin embargo, para el scope de este curso usamos únicamente servicios que estuvieran disponibles dentro del Free tier, es decir, servicios que pueden ser usados gratis si cumplen con las condiciones necesarias, para saber más sobre el free tier te invito a que revises la documentación de AWS.
A pesar de ser servicios que pueden no generar costos, es importante que eliminemos todo lo que hemos creado durante el curso si ya no lo vamos a usar más, para eliminar todos los recursos creados en el stack de CloudFormation que se creó a través de nuestro serverless.yaml usando serverless deploy solo hara falta usar serverless remove, así entonces.
Para borrar todos los recursos creados por el deploy debes ejecutar:
serverless remove
Pero no te preocupes, si quieres volver a desplegar tu aplicación puedes hacerlo, te tomará minutos y es precisamente otra de las ventajas de usar infraestructura como código, para desplegar tu aplicación nuevamente bastara con ejecutar:
serverless deploy
Otro punto aún más importante es la seguridad, recuerda que para este curso hemos creado un par de AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY, estas son las llaves para acceder y tomar acciones dentro de tu cuenta de AWS, son las que usa Serverless Framework para crear los recursos de nuestra app. Es muy importante que eliminemos estas llaves si no se usaran más, no queremos que se filtren por algún motivo a Internet, para borrarlas debes entonces:
En la sección de Access keys, elimina o desactiva las keys que ya no usaras más.
Después te aparecerá un recuadro de confirmación, en el que primero debes desactivar la key y copiar y pegar el AWS_ACCESS_KEY_ID en el recuadro para confirmar que quieres borrar la key.
Recuerda que la seguridad en la nube es compartida, gran parte de la responsabilidad es tuya y otra gran parte de la responsabilidad es de parte del proveedor de servicio(AWS), por eso debes ser responsable de administrar bien los recursos que crees y hacer buen uso de los ACCESS_KEY, por ningún motivo se los debes compartir a alguien.
Si por el momento no harán cambios dentro de su repositorio y no quieren volver a generar las keys de AWS pueden desactivarlas y reactivarlas después desde el panel de IAM.
Para esto se van a:
IAM > Usuarios > [Tu usuario] > Credenciales de seguridad
Se van hasta la parte de Claves de acceso luego en Acciones > Desactivar > Aceptar
Otras recomendaciones de seguridad que les doy son:
No usar el acceso root de su cuenta de AWS
Activar el MFA en su cuenta root para evitar que si se filtran sus credenciales accedan directamente
Crear un usuario en IAM para gestionar todo el panel de AWS en lugar de usar la cuenta root
Crear credenciales para desarrollo (por ejemplo la configuracion de AWS en tu maquina y realizar las acciones con esas keys)
Crear credenciales especificamente para usar en GitHub Actions asi las llaves de desarrolladores y del proceso de CI/CD no se combinan