ステップ 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_IDSecret を作成します。 -
iam user の secret access key を保存する
AWS_SECRET_ACCESS_KEYSecret を作成します。
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>