Ssoon

[6주차] 06 Terraform으로 Secret 관리 - Basic/Tools 본문

Terraform 101 Study

[6주차] 06 Terraform으로 Secret 관리 - Basic/Tools

구구달스 2022. 11. 22. 21:01
CloudNet@ 팀의 가시다님이 진행하는 Terraform 101 Study 06주차 정리입니다.

Secret 관리 기본사항

📌 일반 텍스트로 SECRETS 을 저장하지 마십시오

  • version control system 에 액세스할 수 있는 사람은 누구나 해당 secret 에 액세스할 수 있습니다.
  • version control system 에 액세스할 수 있는 모든 컴퓨터는 해당 secret 의 복사본을 보관합니다.
  • 실행하는 모든 소프트웨어는 해당 secret 에 액세스할 수 있습니다.
  • 해당 secret 에 대한 액세스를 감사하거나 취소할 방법이 없습니다.

   👉 secret 을 일반 텍스트로 저장하면 악의적인 행위자에게 가장 민감한 데이터에 액세스할 수 있는 수많은 방법을 제공하는 것입니다.

 

Secret 관리 도구

 저장하는 secret 유형 

개인 비밀, 고객 비밀 및 인프라 비밀의 세 가지 기본 유형의 비밀이 있습니다

  • 개인 secret 은 개인에게 속한 secret 입니다.
    • the usernames and passwords for websites you visit; your SSH keys; your PGP keys.
  • 고객 secret 은 고객에게 속한 secret 입니다.
    • the usernames and passwords that your customers use to log into your product; personally identifiable info (PII) for your customers; personal health information (PHI) for your customers.
  • 인프라 secret 은 인프라에 속한 secret 입니다
    • database passwords; API keys; TLS certificates 

 secret 저장하는 방법

secret 을 저장하는 가장 일반적인 두 가지 전략은 파일 기반 secret 저장소 또는 중앙 집중식 secret 저장소를 사용하는 것입니다.

  • 파일 기반 secret 저장소
    • 일반적으로 버전 제어에 체크인되는 암호화된 파일에 secret 을 저장합니다. 파일을 암호화하려면 암호화 키가 필요합니다
      • AWS KMS, GCP KMS 또는 Azure Key Vault와 같은 클라우드 공급자가 제공하는 키 관리 서비스(KMS)에 키를 저장 하는 것입니다
      • PGP 키를 사용하는 것입니다. 각 개발자는 공개 키와 개인 키로 구성된 고유한 PGP 키를 가질 수 있습니다. 하나 이상의 공개 키로 secret 을 암호화하면 해당 개인 키가 있는 개발자만 해당 secret 을 해독할 수 있습니다
  • 중앙 집중식 secret 저장소
    • secret 을 암호화하고 MySQL, PostgreSQL, DynamoDB 등과 같은 데이터 저장소에 저장하는 네트워크를 통해 대화하는 웹 서비스입니다.
    • 일반적으로 암호화 키는 서비스 자체에서 관리하거나 서비스가 클라우드 공급자의 KMS에 의존합니다

 secret 에 액세스하는 데 사용하는 인터페이스

대부분의 비밀 관리 도구는 API, CLI 및/또는 UI를 통해 액세스할 수 있습니다.

  • 거의 모든 중앙 집중식 secret 저장소는 네트워크 요청을 통해 사용할 수 있는 API(예: HTTP를 통해 액세스하는 REST API)를 노출합니다
  • 모든 파일 기반 secret 저장소는 명령줄 인터페이스(CLI)를 통해 작동합니다. 많은 중앙 집중식 secret 저장소는 서비스에 대한 API 호출을 수행하는 CLI 도구도 제공합니다.
  • 일부 중앙 집중식 secret 저장소는 웹, 데스크톱 또는 모바일을 통해 사용자 인터페이스 (UI)를 노출하기도 합니다.

 

 secret 관리 도구 비교

  Types of secrets Secret storage Secret interface
HashiCorp Vault Infrastructure Centralized UI, API, CLI
AWS Secrets Manager
Infrastructure Centralized UI, API, CLI
Azure Key Vault Infrastructure Centralized UI, API, CLI
Okta
Customer Centralized UI, API, CLI
AWS Cognito
Customer Centralized UI, API, CLI
Comments