メイン コンテンツにスキップ

ステップ 3 - Secrets Manager にシークレットを作成する

CDR レポートを含む S3 バケット(s3name)への Glasswall Halo のアクセスを有効にするには、iam user と role が必要です。

  • IAM user(external_secrets_iam_user)を作成し、CDR レポートを保存する s3 bucket に対する読み取りおよび書き込みを許可する policy を持つ role(external_secrets_iam_role)を割り当てます。この bucket は prerequisites ステップで作成済みである必要があります。

  • iam user の access key id を保存する AWS_ACCESS_KEY_ID Secret を作成します。

  • iam user の secret access key を保存する AWS_SECRET_ACCESS_KEY Secret を作成します。

3.1 - MongoDB 接続文字列

Glasswall Halo Policy Management API が MongoDB で policy を作成および管理できるようにするには、MongoDB 接続文字列を AWS Secrets Manager に保存します。

  • 以下の例に示すように、DocumentDB MongoDB compatible 接続文字列は AWS Console から取得できます。
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 に追加する

注: 以前に AWS 内で MongoDB を設定およびセットアップし、上記のとおり MongoDB 接続文字列を作成済みであれば、この手順はスキップできます。

そうでない場合、Glasswall Halo の Policy Management API が MongoDB 内で policy を作成および管理し、Asynchronous API がリクエストを作成および管理できるようにするには、手順 8 に記載されている Helm chart を使用して MongoDB をデプロイする必要があります。

MongoDB Helm chart によって 2 人のユーザーが作成され、対応するユーザーのパスワードを Key Vault シークレットに設定する必要があります。

パスワードなどの機密データは、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 という名前のシークレットを作成し、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>