DevOps戦略を成功させるためには、効果的な管理が不可欠です。鍵の管理は大規模な組織だけのものだと思っているかもしれませんが、私は...。
本ブログは英語版からの翻訳です。オリジナルはこちらからご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。
クリス・ライリー著
開発者が自律性を高め、セルフプロビジョニングされたインフラストラクチャなどのオンデマンドサービスにアクセスできるようになると、開発者はアプリケーションの構築とデプロイの方法に柔軟性を持つようになります。しかし同時に、開発者は、より多くのツールのライブラリを管理し、維持するという側面を継承することになります。これは、すでに定期的に作業しているものに加えて、さらに別のクラスのツールを作成して、より多くの作業を継承しないようにする必要があることを意味しています。そのようなツールの一つが秘密管理です。
アリババの鍵管理サービスのような秘密管理ツールは、開発チームの全員に、パスワードやAPIトークンなどの機密鍵を保存、共有、アクセスするための安全な場所を提供します。
多くの開発チームは、鍵を探すのにどれだけの時間を費やしているのか、あるいはチャットクライアントのような非中央集権的な方法で鍵をチームメンバーに振り分けることによってもたらされるリスクを認識していません。鍵の管理は大規模な組織だけのものだと思うかもしれませんが、単一の開発者チームに利益をもたらすことができます。また、組織のDevOps目標を迅速に達成し、改善するのにも役立ちます。
秘密の管理:ハウスキーピングだけではない
現代のアプリケーション開発では、アプリケーションのテストやキー管理のような要素は、パイプラインを衛生的に保つために行う単純なハウスキーピング項目のように見えるかもしれません。しかし、これらの要素は、開発プラクティスでさらに多くのことを行うための方法であることに変わりはありません。ここでは、鍵管理が開発チームがセキュリティの枠を超えてどのように役立っているかをご紹介します。
1.) マイクロサービス:アプリケーション開発環境は、複数の可動部分で構成されています。外部 API、フレームワーク、アプリケーションの認証情報、クラウドサービスの認証情報、ポリシー・トークン、およびオペレーティング・システムがありますが、これらはすべて何らかの関連する秘密を持っています。しかし、マイクロサービスのような現代的なアーキテクチャを考えると、さらに多くのものがあります。マイクロサービスベースの優れたアプリケーションアーキテクチャとは、自律的なサービスがコンテナ上で自動的にプロビジョニングされ、独自のクレデンシャルを持つより多くのインスタンスが自動的に生成されることを意味します。
2.) コミュニケーション:集中管理された鍵管理ソリューションを使用すると、チームメンバーは秘密を探したり、持っていない秘密をチームメンバーに尋ねたりする必要がありません。また、メッセージングサービスを介して秘密を共有するというリスクの高い行動をする必要もありません。強力な鍵管理システムは、秘密に関するコミュニケーションを完全に排除することを意味します。開発者がコンテナにアクセスする必要がある場合、許可されている限り、資格情報はキー管理システムにあり、誰とも対話する必要がないのです。
3.) アジャイルなアクセスコントロール:すべての人がすべてにアクセスできるわけではありません。昔のITと開発の時代には、ITは通常、クレデンシャルのゲートキーパーであり、多くの企業では今後もそうなるでしょう。従来、IT部門は、開発者がサービスや計算機へのアクセスを必要とする理由を理解していたとしても、常にアクセスを阻止しようとしていました。その代わりに、ログデータやその他の部分的なアクセスを与えることで、環境変数の雪の結晶がさらに増えていました。このため、新機能の開発が遅れ、すべてのリクエストに対応するために IT チームに余分な作業が多く発生していました。秘密の管理システムを使えば、開発者は必要なものにアクセスでき、必要でないものにはアクセスできません。開発者が広範囲にアクセスして何かを壊してしまう心配も少なくなります。また、セキュリティの共有と更新のマニュアル的な側面が排除されるため、IT 部門は迷うことが少なくなり、心配する管理者の数も減ります。
現代の鍵管理ソリューションには、アクセス制御や鍵と値のペアの保存を超える機能が必要です。また、最新の開発チームやアプリケーション・アーキテクチャに必要な自動化を構築できるように、DevOpsチームがAPIを介して統合ポイント(ネイティブまたはカスタム)を持つ必要があります。
セキュリティの面白さ
アプリケーション開発において、セキュリティはもはや異質なトピックではありません。開発者は、アプリケーションを悪用するために使用される秘密を不注意で開示した場合の責任があります。このような単純な理由から、鍵管理ソリューションは、会社、IT、および開発者にとっての保険となります。不満を持った従業員が会社を辞めた場合に、簡単に解決策を提供します。クレデンシャルが乱立して共有された場合のヒューマン・エラーを軽減し、全員の説明責任を構築することができます。セキュリティのニーズは、新しい脅威が発生するたびに常に変化しており、チームは新たな課題に直面しています。セキュリティはジョブセキュリティです。
結論
アプリケーション開発に関連する秘密は、組織のサイズではなく、アプリケーションのサイズと複雑さに関連しています。秘密管理は、健全なソフトウェア・デリバリー・チェーンを構築し維持するための適切な衛生管理であり、多くの企業にとっては、DevOpsの実践と原則の次のステップへとパイプラインを進めるための方法です。
Alibaba Cloudの鍵管理サービスを自分自身で試すには、現在Alibaba Cloudが提供している300ドルの無料クレジットを利用してみてはいかがでしょうか。
アリババクラウドは日本に2つのデータセンターを有し、世界で60を超えるアベラビリティーゾーンを有するアジア太平洋地域No.1(2019ガートナー)のクラウドインフラ事業者です。
アリババクラウドの詳細は、こちらからご覧ください。
アリババクラウドジャパン公式ページ