주요 콘텐츠로 건너뛰기

3단계 - Secrets Manager에서 시크릿 생성

CDR 보고서가 포함된 S3 버킷(s3name)에 Glasswall Halo가 액세스할 수 있도록 하려면 iam 사용자와 역할이 필요합니다.

  • IAM 사용자(external_secrets_iam_user)를 생성하고, CDR 보고서를 저장할 s3 버킷에 대한 읽기 및 쓰기를 허용하는 policy가 포함된 역할(external_secrets_iam_role)을 할당하세요. 이 버킷은 사전 요구 사항 단계에서 생성되어 있어야 합니다.

  • iam 사용자 액세스 키 ID를 저장하는 AWS_ACCESS_KEY_ID Secret을 생성합니다.

  • iam 사용자 시크릿 액세스 키를 저장하는 AWS_SECRET_ACCESS_KEY Secret을 생성합니다.

3.1 - MongoDB 연결 문자열

Glasswall Halo Policy Management API가 MongoDB에서 policy를 생성하고 관리할 수 있도록 하려면 MongoDB 연결 문자열을 AWS Secrets Manager에 저장합니다.

  • 아래 예와 같이 AWS Console에서 DocumentDB MongoDB compatible connection string을 가져올 수 있습니다.
mongodb://${username}:${password}@${endpoint}:${port}/?ssl=true&ssl_ca_certs=rds->combined-ca-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false
  • ${mongodb_connstring}을 바꿔 연결 문자열(스크린샷에서 강조 표시됨)을 입력하고, ${region}을 바꿔 AWS 리전을 입력합니다(아래 예시 참조).
aws secretsmanager create-secret --name "mongodb-connectionstring" --secret-string >"${mongodb_connstring}" --region "${region}"

MongoDB 비밀번호를 AWS Secret Manager에 secret으로 추가

참고: 이전에 AWS 내에서 MongoDB를 구성 및 설정했고 위에 나열된 대로 MongoDB connection string을 이미 생성했다면, 이 단계는 건너뛸 수 있습니다.

그렇지 않은 경우, Glasswall Halo의 Policy Management API가 MongoDB에서 policy를 생성하고 관리하고, Asynchronous API가 요청을 생성하고 관리할 수 있도록 하려면 8단계에 나열된 Helm chart를 사용하여 MongoDB를 배포해야 합니다.

MongoDB Helm chart에 의해 두 명의 사용자가 생성되며, 해당 사용자의 비밀번호는 Key Vault secret에 설정해야 합니다.

비밀번호와 같은 민감한 데이터는 AWS Secrets Manager에 저장해야 합니다.

aws secretsmanager create-secret --name "mongodb-cdrp-password" --secret-string "<cdrp-user-password>" --region "${region}"
aws secretsmanager create-secret --name "mongodb-admin-password" --secret-string "<admin-user-password>" --region "${region}"

3.2 - Amazon DocumentDB Certificate Authority (CA)

cdrplatform-policy-API 서비스가 MongoDB에 성공적으로 인증하려면 Amazon DocumentDB Certificate Authority를 신뢰해야 합니다.

  • Secrets Manager에 cdrp-rds-ca-bundle라는 secret을 생성하고 Amazon에서 제공하는 certificate authority의 내용을 추가합니다.

3.3 - [선택 사항] ReversingLabs 자격 증명 추가

Glasswall Halo를 ReversingLabs와 통합하려면 ReversingLabs 자격 증명을 AWS Secrets Manager에 저장합니다.

$reversinglabs_username$reversinglabs_password를 실제 사용자 이름과 비밀번호로 바꾸십시오.

aws secretsmanager create-secret  --name "halo-reversinglabs-username" --secret-string "${reversinglabs_username}" --region "${region}"
aws secretsmanager create-secret --name "halo-reversinglabs-password" --secret-string "${reversinglabs_password}" --region "${region}"

3.4 - [선택 사항] ICAP MTLS 인증서 추가

ICAP 서버는 MTLS 인증서를 사용하여 상호 클라이언트 인증을 수행하도록 구성할 수 있습니다. 인증서는 Kubernetes secrets를 사용하여 ICAP 서버 pod에 마운트됩니다.

서버 인증서와 인증 기관을 AWS Secrets Manager에 추가하여 Kubernetes secrets로 동기화할 수 있도록 합니다.

aws secretsmanager create-secret --name "tls-server-cert" --region "$region" --secret-string <file://path/to/mtls-server-cert.pem>
aws secretsmanager create-secret --name "tls-server-key" --region "$region" --secret-string <file://path/to/mtls-server-key.pem>
aws secretsmanager create-secret --name "tls-cafile" --region "$region" --secret-string <file://path/to/mtls-ca-cert.pem>