Docker for AWS は、デフォルトで安全なコンテナープラットフォーム

2017.06.08

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

本記事は、2017/6/2 の docker blog ポストより引用しています。

Docker for AWS and Azure: Secure By Default Container Platform - Docker Blog

ざっくり紹介

Docker for AWS (および Azures)製品について、2017/2 に NCC Group(セキュリティ会社)と共同で セキュリティ評価を実施したところ、デフォルト設定で安全なプラットフォームが提供されていると評価された。 また、それとは別に Docker プロジェクト(Notary、詳細は後述)についても検証されていたりします。 他には、 Fleet Management from Docker Cloud という、より大きな開発者やオペレーションのチームのための製品が紹介されています。

記事の内容紹介

Docker for AWS や Docker for Azure は、Docker をクラウド環境に簡単に設定することが出来ます。 実際には、Docker アプリケーションを構築、出荷、実行するための安全なプラットフォームを提供するために、 デフォルトでセキュリティを考慮したインフラストラクチャを提供しています。

2017/2 独立したセキュリティ会社である NCC Group と協力し、セキュリティ評価を実施したところ Docker Community Edition & Enterprise Edition が安全なインフラストラクチャーとして 妥当なデフォルト設定を提供するだけではなく、各クラウドの最高のセキュリティ機能を活用し統合されていると 評価されました。

  • 各クラウド固有のアクセス制御(AWS だと IAM ロール、Azure だと Service Principals)を利用し、エンタープライズワークロードを最も特権のない方法で実行している
  • 新しくプロビジョニングされたロードバランサを含むネットワーク構成設定では、アプリケーションの作成および更新に応じて動的に更新されます。
  • 基盤となるホストネットワーク構成を評価したところ、最小限のネットワークエクスポージャーが提供されていた

詳細については、NCC Group のレポートを参照してください。

NCC Group は、AWS や Azure 上の Docker にいくつかの制限を課しています。 たとえば、単一のSSH鍵でアクセスを管理しているため、より大きな開発者やオペレーションのチームがアクセスを共有することは実用的ではありません。 そのため、Dockerには追加製品があります。

  • Fleet Management from Docker Cloudを利用することで、Docker ID を利用し Docker Community Edition (CE) swarm への共有アクセスが実現できます。これは、Docker for Mac & Windows への統合を含みます。

  • AWS および AzureDocker Enterprise Edition Standard and Advanced tiers (旧 Docker Datacenter)は、 細やかな RBAC および統合されたユーザー管理を備えた完全な Container-as-a-Service 環境を提供しています。

さらに、NCC Group はこれまで Docker Engine のセキュリティ機能については Linux Container 環境を強化するためのホワイトペーパーでカバーしていました。 しかしながら、これら(ランタイムを保護するために seccomp によるシステムコールフィルタリングや Linux の機能制限など)はデフォルトで組み込まれていました。 また、NCC Group と協力の上で、Notary(Docker Image が改竄されていないことを保証するための署名検証フレームワーク)の暗号化やシステムセキュリティについて検証しました。 詳細については、NCC Group のレポート(PDF)を参照してください。

Docker では、今後も継続的に Docker for AWS & Azure (& GCP)を改善し続け、ユーザーが各クラウド環境でセキュアかつ簡単にコンテナ設定できるよう努力します。 Docker for AWS や Docker for Azure を今すぐ利用するには以下のリンクをクリック

最後に

私個人としては、知らなかった製品やフレームワークについて知ることが出来るブログポストでした。 これまでにも、ECSKubernetes cluster on AWS を触ってみましたが、Docker for AWS も一度触ってみたいなと感じました。 機会があれば、検証してみたいと思います。

ではでは