事象
CodeBuild のビルドログにて正しく入れているつもりの情報が ***
と表示されることがありました。
[Container] 2021/01/07 06:57:03 Running command make docker-build DOCKER_BUILDKIT=1 docker image build --tag ***
BuildSpec をみても、環境変数をみても問題なさそうなのにログだけがおかしい。
このビルドログが出ているタイミングで、ビルドが失敗してしまったので、何らかの問題があるかと調査をしました。
結論
ビルドの失敗は別問題で、ログ上に情報が表示されてないだけでした。
公式ドキュメント
注記
機密情報を保護するために、CodeBuild ログでは次の情報が非表示になっています。
- AWS アクセスキー ID。詳細については、AWS Identity and Access Management ユーザーガイドの「IAM ユーザーのアクセスキーの管理」を参照してください。
- パラメータストアを使用して指定された文字列。詳細については、『Amazon EC2 Systems Manager ユーザーガイド』の「Systems Manager パラメータストア」および「Systems Manager パラメータストアコンソールのチュートリアル」を参照してください。
- AWS Secrets Manager を使用して指定された文字列。詳細については、「キーの管理」を参照してください。
今回は、AWS Secrets Manager を利用して Docker Hub へログインしていました。
このときに利用しているユーザー名とビルド時に指定しているタグ名がたまたま同じだったため、非表示になりました。
まとめ
「Systems Manager パラメータストア」や「AWS Secrets Manager」を利用している場合は、その値を直接参照していないケースでもログが非表示になる可能性があるようです。
ログの表示が見えないだけなので、実際の動作は問題ありません。
直接利用している箇所だけがマスクされるわけじゃないことに注意したいと思います。