Amazon Web Services ブログ

2020年 AWS Container Security Surveyの結果

この記事は、Results of the 2020 AWS Container Security Survey ( 2020/12/03 投稿 ) を翻訳したものです。

2019 年、我々は初めて AWS Container Security Survey を発表しました。そして、 2020 年も皆様に本 Survey を提供します。 2019 年と同様に、2020 年も AWS のコンテナユーザーに対し匿名での調査を実施しました。調査ページにアクセスした 655 名のうち 295 名が回答に着手し、そのうち 156 名が最後まで回答してくださいました(完了率 52 %)。かかった時間は平均 10 分強でした。質問を提案して下さった方々 及び 本 Survey の拡散に協力してくださった方々に改めてお礼申し上げます。 ご参加いただいた皆様、ご意見をお寄せいただいた皆様、本当にありがとうございました。

グラフを見ると、全体的にコンテナセキュリティに関するグッドプラクティスの点で、良い傾向があることがわかります。スキャニングからポリシーに至るまで、ほぼ全ての主要な項目で 2019 年と比べて採用率が上昇しました。特に、 2 つの点が目立っています。

  1. “supply chain management” への取り組みが低下しているように見えますが、この理由については、調査での質問に関連性があるのか、それともより深い理由があるのか、根本的な理由を明らかにするための調査が必要です。
  2. “signing container images” の採用率は 2019 年と変わらず 10 %程度でした。 2021 年我々は Notary 2 を中心とした活動により、この状況が改善されることを期待しています。 AWS はアップストリームの活動に貢献しており、このトピックがより注目されることを楽しみにしています。

調査結果の概要を pdf ファイルで、また生データは csv ファイルで公開しており、質問内容の詳細もご覧いただけます。では、詳細について見ていきましょう。

まず回答者のロールについて質問し、それをグラフにしてみました。

Site Reliability Engineering/DevOps ロールの方からの回答が、全体の 50 %以上を占めているのは素晴らしいですね。また、 2019 年と比較すると、 Architects ロールの方の回答数が増加し、 InfoSec ロールの回答数も増加しました。しかし、 developer ロールの方の回答率は低いままでした。

次に、どのようにコンテナを実行しているか尋ねました。つまり、コンテナオーケストレータとコンテナ実行基盤の選択についてです。

コンテナオーケストレーションとコンテナ実行基盤の組み合わせトップ 3 は、 Amazon EKS on EC2 ( 79 票 )、DIY Kuberneters on EC2 ( 48 票 )、Amazon ECS on AWS Fargate ( 46 票 ) でした。

次はアーティファクトについてです。つまり、どこにコンテナイメージ等をストアしているか質問しました(これは 2019 年には尋ねなかった質問です)。

Amazon ECR は 105 票で、 41 票だった DockerHub や 35 票だった JFrog Artifactory をリードしています。

また、上記の質問と関連がありますが、静的イメージスキャンをどのように実施しているかも尋ねました。

Amazon ECR の機能でイメージスキャンをしていると回答した方が 62 名、オープンソースの Clair を自身でセットアップして利用している方が次点で 21 名、そして、オープンソースの Trivy を自身でセットアップして利用している方が 18 名でした。 2019 年と比べて目立ったのは、コンテナイメージスキャンをしていないと回答した方の割合が、 38 %から 24.8 %に減ったことで、これは良い進歩です。

次に動的スキャンまたはランタイムスキャンについて見ていきましょう。

約 70 %もの回答者が、 ECS や EKS などのコンテナオーケストレーションを用いたコンテナ実行時にコンテナをスキャンしていないと答えていますが、一方で 2019 年と比べて良い傾向も見られます。まず、実行時スキャンをしていないと回答した方が全体の 83 %から 70 %へ減少したこと。次に、 CNCF Falco ( 27 票 ) 、 Prisma Cloud ( 10 票 )、 Twistlock Defender ( 10 票 ) 、 Aqua Security ( 7 票 ) が支持を集めていることがわかります。

話は変わって、パスワードや API キー等の機密データの管理の方法について尋ねました。

回答では、 AWS Secrets Manager が最も利用されており ( 78 票 ) 、それに続き HashiCorp Vault ( 59 票 ) 、 AWS Systems Manager Parameter Store ( 41 票 ) でした。機密データを暗号化していないと回答した方の割合は昨年の 11 %から 9.7 %にわずかに減少しました。

続いて、コンテナイメージへの署名について尋ねました。

これは昨年の結果と大きく変わりはありませんでした。 89 %の大多数が、自身のコンテナイメージに署名していませんでした。
supply chain management に関しては、少々意外ですが、昨年のサンプル数の関係もあり、依然として大多数の回答者がそれを実施していないことがわかりました ( 昨年の 81 %から 93 %に上昇 ) 。

Supply chain を管理している方の多くは、自社開発または独自ソリューションを導入しているようです(5票)。それに続き、 CNCF in-toto ( 4 票 ) 、 Grafeas ( 2 票 ) が利用されています。

次は policy management and enforcement strategy について尋ねる新しい質問でした。

本質問の回答者は 155 名で、多くの方 ( 76 票 ) はまだ policy management strategy を持っていないことがわかりました。一方で、 CNCF Open Policy Agent ( OPA ) はすでに全体のほぼ 3 分の 1 ( 42 票 ) を獲得し DIY methods ( 38 票 ) がそれに続きます。

2020 年のもう一つの新しい質問は、クラスター内の通信 及び クラスター外との通信に関してでした。

これは面白い取り組みですね。回答した 121 名は Load Balancer や API Gateway といった境界で通信をフィルタしており、それに続き、 104 名は security group や network ACL で通信をフィルタし、 40 名はクラスター内コンテナ間の通信のみフィルタしていました。来年は、ここを掘り下げて質問するつもりです。

次に、 77 %の回答者が利用している Kubernetes にフォーカスしました。

Kubernetes という文脈で、我々はまず GitOps に関する新しい質問をしました。

この質問の回答者の 3 分の 2 ( 121 人中 78 人 ) は、すでに自身で GitOps をセットアップして利用しています。

次は、昨年と比較できる Kubernetes network policies に関する質問でした。

結果から 3 分の 1 強が、まだ network policies を利用していないことがわかります。そしてそれに続き、 Calico ( 2020 年は 35 %、 2019 年は 60 % ) 、 service meshes ( 2020 年は 21.8 %、 2019 年は 33 % ) 、 Cilium ( 昨年の 0 %からアップして 10 %)でした。ただし、昨年は “network policiesを利用しない” という選択肢を含めなかったため、この傾向はそれを考慮して解釈する必要があります。

次の質問は、 Kubernetes のランタイムポリシーにフォーカスします。

昨年は Pod Security Policy ( PSP ) の使用有無のみの質問であったため、これに関しても 2019 年と比較できる数字ではありません。 15 %程の回答者は、 CNCF OPA サブプロジェクトの Gatekeeper のような代替手段を優先し、 PSP を利用しない予定だ と答えています。 Kubernetes で PSP を利用することは今後非推奨になることから、健全な戦略と感じました。

次の質問では、 Kubernetes のユーザーマネージメントにフォーカスしました。

2019 年と比較して、大きく変化はないことがわかりました。 IAM users/roles を直接利用するという回答が依然として圧倒的に多く ( 2020 年は 80 %で、 2019 年の 86 %から僅かに低下)、 SSO ( 2020 年は 29 %、 2019 年は 31 %)、 LDAP-based のソリューション ( 2020 年は 20 %で 2019 年の 7 %から上昇 ) と続きます。

これに関連して、 pod レベルの最小限の権限についても質問しました。

2019 年のアンケートと同様、 AWS ネイティブなソリューションである IAM roles for service accounts が最も利用されています ( 2020 年は 54 %で 2019 年の 43 %から上昇 ) 。それに続き、 node レベルの IAM roles ( 2020 年は 21 %で 2019 年の 25 %より低下 ) 及び kube2iam ( 2020 年は 14 %で 2019 年の 20 %から低下 ) が利用されています。 pod レベルの Role 管理に移行するトレンドが見られるのは素晴らしいですが、我々は node レベルの IAM role を採用する 20 %強の方々に対し、さらなる働きかけが必要です。

これで 2020 年の調査結果は終了です。もし、調査結果の raw データ及び他にどのようなツールを利用していると回答しているか興味があれば、 GitHub をご覧ください。お時間を割いて頂きありがとうございます。 2021 年の調査を楽しみにしています。

翻訳はソリューションアーキテクト祖父江が担当しました。原文はこちらです。