トップ OSS紹介 SPIFFE

SPIFFE

NRIのOpenStandiaが提供するSPIFFE最新情報

バージョンアップ情報

SPIFFE情報

SPIFFEとは

SPIFFE(Secure Production Identity Framework For Everyone)はクラウドネイティブ環境においてソフトウェアを安全に識別、認証するための標準仕様です。SPIFFEが導入されたシステムでは、他のリソースへ通信する機能を持ったワークロードと呼ばれる単位で、統一された識別子と統一された認証方式で安全な相互認証を行うことが出来ます。
ワークロードの定義としては、例えばVMやコンテナ、WebアプリケーションやDBなどがあり、通信相手側もワークロードと呼ばれます。

SPIFFE はGlueCon 2016でKubernetesの共同創設者であるJoe Beda氏から発表された「The Original SPIFFE Design Doc」で提案されて始まったもので、SPIFFE自体はScytale、Google、Heptio、Tigeraのエンジニアにより策定されています。
2017年にはCNCF(Cloud Native Computing Foundation)のプロジェクトとして承認されました。

主な特徴

SPIFFEの特徴として、以下のような機能を備えています。

マルチプラットフォーム、プロバイダ対応

SPIFFEは異なるクラウドプロバイダやプラットフォーム上で稼働するアプリケーションやサービスに対して、信頼できるIDを発行することで、サービスの移植性の向上や、セキュリティを強化することが可能です。

独自識別子(SPIFFE ID)

SPIFFEは独自の識別子であるSPIFFE IDを発行し、これを使用することで異なるクラウドやサービス間での認証を行います。SPIFFE IDはサービス起動時に自動的に発行されるため、手動でのアイデンティティ管理が不要となります。

SVID(SPIFFE Verifiable Identity Document)

SPIFFE IDを検証、認証するためにSPIFFEが発行する証明書で、X.509証明書形式のX.509 SVIDとJWT形式のJWT SVIDの2種類のSVIDが標準化されています。いずれもSPIFFE IDの信頼性を検証することができ、サービス間の安全な通信を確立することが可能です。

Trust Bundle

SVIDを検証するための公開鍵としてワークロードがAPIへリクエストして取得する認証局(CA)ルート証明書の集合体です。これにより、異なるTrust Domainを持つワークロード同士での相互認証が可能になり、さらにOpenID Connect互換なシステムであれば外部のシステムとも連携が出来ます。

SPIFFE Workload API

SPIFFE Workload APIはSVIDとTrust Bundleを取得するためのAPIです。Workload APIはプラットフォームに依存せず、カーネルレベルだけでなく、プロセスレベルでも実行中サービスを識別できるためKubernetesなどのコンテナスケジューラでの使用に適しています。
また、全ての秘密鍵・証明書は短命で、頻繁に自動でローテンションすることで、SVIDの流出や漏洩による被害を最小限に抑えることが可能です。

ユースケース

SPIFFEは、Zero Trust Networkを実現するためのサービス間認証の仕様であるためサービスメッシュやコンテナオーケストレーションシステムなどのマイクロサービスアーキテクチャにおけるセキュアな相互認証を提供します。

動作環境

SPIFFEはあくまで仕様なので、SPIFFEに準拠したソフトウェアを導入する必要があります。主なソフトウェアは以下の通りです。

  • SPIRE
  • Istio
  • Consul
  • Kuma

オープンソース年間サポートサービス

OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。

お気軽にお問い合わせください

関連OSS

  • Keycloak
    サポート対象

    Keycloak

    キークローク。Red Hat社が提供する最小限の認証機能からソーシャルなどので他サービスへの高機能な認証にも対応する統合認証プラットフォームです。

  • Istio
    サポート対象

    Istio

    イスティオ。マイクロサービスをセキュアにマネージメントするためのマイクロサービス管理フレームワークです。

オープンソースに関するさまざまな課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。