Snykのプロジェクト属性とタグでスケールを成功させる方法
Josefa Riveros
2020年9月30日
0 分で読めます成長を実感できるのは素晴らしいことです。庭の植物やパン生地の膨らみ、あるいは組織でアプリケーションやサービスを構築する開発者やチームの増加など、何であれ、成長する姿を見るのはうれしいものです。
しかし、スケールの拡大を支える適切なツールがなければ、組織はニュースになるようなセキュリティリスクにさらされる可能性があります。たとえば、次のようなリスクです。
開発者が作業対象のプロジェクトを見つけるのに多くの時間を費やし、作業を急いだり、差し迫った新たな期限に間に合わせるために近道を選んだりする可能性があります。
利用するオープンソースプロジェクトの数が大幅に増え、深刻な脆弱性が、深刻度の低い問題の山に埋もれてしまう可能性があります。
多様なプロジェクトを活用したさまざまな種類のアプリケーションを次々とリリースするようになると、大まかなガバナンスだけでは安全性も十分性も保てなくなります。
セキュリティ上の脅威を最小限に抑えるには、高い生産性、きめ細かなガバナンス、明確な作業の優先順位付けが欠かせません。そのため、プロジェクトを整理しながら、細部まで管理できる仕組みが必要です。

プロジェクト属性とタグ、そしてポリシーの組み合わせ
Snykでプロジェクトを効果的に活用し、スケールさせるためのソリューション「プロジェクト属性」と「プロジェクトタグ」の提供を開始できることを、大変うれしく思います。

まるでスクリーンに登場する次の犯罪捜査コンビのような名前ですが、この2つは連携して、生産性の維持、プロジェクト単位のガバナンス、優先順位付けを実現します。まずはプロジェクト属性とタグについて手短にご紹介し、その後、プロジェクトにポリシーを適用する方法を説明します。
プロジェクト属性は固定されており、設定を変更できません。組織でプロジェクトをグループ化する際によく使われる共通の「属性」です。各属性には、プロジェクトを効果的に整理するために割り当て可能な値が複数あります。
プロジェクトの環境:内部、外部、フロントエンド、バックエンドなど。
ビジネスにおける重要度:高、中、低。
プロジェクトのソフトウェア開発ライフサイクルの段階:本番、開発、サンドボックス。
属性を使うと、きめ細かなガバナンスを実現できるだけでなく(詳しくは後ほど説明します)、プロジェクト一覧ページでプロジェクトを絞り込めます。簡単なフィルタリングで、何千ものプロジェクトがある組織から、少数のプロジェクトを見つけられます。

Snykが提供するプロジェクト属性に加えて、組織固有の条件に基づいて作業を整理し、優先順位を付けたい場合は、プロジェクトタグを作成してプロジェクトに割り当てることができます。タグは自由に設定でき、適用するプロジェクトも選べます。よくあるタグの例を紹介します。
Snykを利用するチームが複数あり、それぞれが特定のプロジェクト群を担当しているのではないでしょうか。チーム名のタグを付けてプロジェクトをグループ化し、チーム全体の生産性を高めてみましょう。
ある組織にとって重要なことが、別の組織にとっても重要とは限りません。また、リスクを表す独自の用語を持つ組織も多くあります。独自の社内リスク基準に基づいてタグを作成し、プロジェクトをグループ化しましょう。
アプリケーションやサービスには、個性的な名前が付いていることも多く、1つ以上のリポジトリにあるプロジェクトを利用している場合もあります。プロジェクトが属するアプリケーションやサービスごとにグループ化すれば、チームが取り組むべき作業の優先順位を効果的に決められます。
プロジェクトにタグを作成して適用したら、もうすぐ利用可能になる機能をぜひご活用ください。プロジェクト一覧ページでタグに基づいてプロジェクトを絞り込めるため、干し草の山から針を探すような手間を省けます。この機能はまもなくUIで利用可能になりますので、ご期待ください。

大規模環境でもセキュリティを維持するために、プロジェクトにポリシーを適用
すでに少し触れたとおり、ポリシーと属性を組み合わせることで、プロジェクト単位のポリシー適用に必要なきめ細かなガバナンスを実現できます。
プロジェクトごとに状況は異なり、適用したい基準もそれぞれ異なるはずです。外部に公開され、ビジネスにとって極めて重要なプロジェクトには、社内向けのバックエンドプロジェクトとは異なるルールを適用することになるでしょう。セキュリティポリシーまたはライセンスポリシーを作成する際に、プロジェクトに関連付けられた属性と値に基づいて、特定のプロジェクトグループにポリシーを割り当てられるようになりました。
簡単な例を見てみましょう。
私の組織の法務チームには、アプリケーションのUIで顧客が利用するものについて、ライセンス違反のリスクを決して許容できないというポリシーがあります。アプリケーションを構成するプロジェクトに、法務チームが禁止対象として指定したライセンスが含まれていると、違反が発生する可能性があります。また、ライセンス違反について、低から高までの深刻度を付けた優先順位リストも受け取っています。ライセンス違反を防ぐために、チームのプロジェクトに含まれる禁止対象ライセンスを検出するポリシーを作成する必要があります。
まず、プロジェクト属性に適切な値を割り当て、重要なプロジェクトをグループ化できるようにします。これらのプロジェクトに該当する値は次のとおりです。
ビジネスにとって重要
本番環境
フロントエンド向け
外部向け

対象となるすべてのプロジェクトに適切な属性値を設定したら、それらに適用するポリシーを作成できます。
ポリシータブでは、組織に適用するライセンスポリシーを作成するか、属性に適用するかを選択できます。この例では、属性に適用するポリシーを作成します。
禁止対象ライセンスの深刻度を「高」に変更したら、適切なプロジェクトの属性に割り当てます。「送信」をクリックすると、ポリシーが適用されます。ポリシーで指定したライセンスが関連プロジェクトに含まれている場合、プロジェクトの問題ページやレポートなど、複数の場所でチームに通知されます。また、深刻度の高いライセンスの問題がある場合にPRチェックを失敗させるよう設定することもできます。

今すぐ始めませんか?
プロジェクトの数が100件でも10万件でも、プロジェクトタグ、属性、ポリシーを活用すれば、大規模環境でも安全に作業できます。ぜひ今すぐご活用ください。
プロジェクト属性は、Freeプランを含むすべてのSnyk Open SourceおよびSnyk Containerプランでご利用いただけます。プロジェクトタグは、Snyk Open SourceおよびSnyk ContainerのProプランとEnterpriseプランでご利用いただけます。これらの機能はAPIとUIから利用できます。
ポリシーはProプランおよびEnterpriseプランの機能です。ライセンスポリシーは現在ご利用いただけます。セキュリティポリシーと、プロジェクト属性へのポリシー適用機能は現在ベータ版です。ご利用をご希望の場合は、カスタマーサクセスマネージャーまでお問い合わせください。
キャプチャー・ザ・フラッグを始めよう
オンデマンドのバーチャル入門ワークショップを視聴して、キャプチャー・ザ・フラッグの課題の解き方を学びましょう。
