Deep Datta

Deep Datta

Former JFrog Partnerships Product Manager

Deep Datta was a Product Manager for JFrog’s Partnerships team leading developer focused integrations. He also worked with the Conan community on developing a central repository for C / C++ packages called ConanCenter. In past roles, Deep was involved in the open source community and he loves helping young developers learn more about contributing to open source. In his free time, he loves traveling, hiking, and learning more about how to use technology for social impact.

The Latest From Deep Datta

  • JFrog ArtifactoryとJFrog Xrayクラウド版JFrog Slackアプリ

    | < 1 min read

    チームメンバー全員がソフトウェアに直接貢献できる世界を想像してみてください。私たちは今、そのような世界に生きています。 1日のアクティブユーザー数が1,000万人を超えるSlackは世界中のソフトウェア開発チームが使用している、最も「生きている」コラボレーションツールの1つです。このことを念頭に置いて、JFrogはSlack用のアプリケーションを作成し、アーティファクト、ビルド、セキュリティスキャン、リポジトリの詳細など、すべての出来事をお気に入りのコラボレーションツールで詳細に確認できるようにしたことを発表します。 これを作成した理由 JFrog Artifactoryはソフトウェア開発のための代表的なバイナリリポジトリマネージャです。JFrogのお客様はWebインターフェイス、コマンドライン、自動化ツールを介してArtifactoryと対話する利点を経験してきています。しかし、ソフトウェア開発ライフサイクルにはコーディングツールを利用しないプランニングやコラボレーションも含まれていることを私たちは知っています。開発者はすでに自動化処理をトリガーするためのウェブフックを利用できますが、人々はコミュニケーションツールを通してDevOpsプロセスに可視性を持たせる必要があります。Slack用の新しいアプリを使うことで、ユーザは自分やチームにとって関心のあるJFrog DevOps Platformのイベントをリアルタイムで確認できます。   どのような種類の通知を有効化できますか? ビルドの通知 例えばステージングチームやインフラストラクチャチームのために特定のチャンネルを作成し、彼らがビルドの失敗やプロモーションなどを担当するとします。この統合により、新しいビルドがアップロードされたり、プロモーションされたり、削除されたりしたときに、そのチャンネルに通知が届くようになります。 JFrog Xray の通知 さらに、この統合の最も強力な部分はXrayポリシーに新たな違反があった場合にDevSecOps担当者が直ちに通知を受けることができることです。チームはセキュリティとライセンスのコンプライアンス違反の通知を受けることができるほか、さまざまなチャネルに通知を送ることができます。SlackでのXrayの通知はコンポーネントの概要ごとに通知するように設定できます。 または、このような個々の問題も。 アクションの実行 最後に、このインテグレーションにはいくつかの基本的なアクションが組み込まれており、SlackからJFrog Platformに処理を実行させられます。 例えば、Xray違反の無視ルールを設定したい場合、通知カードから直接アーティファクトをダウンロードしたい場合、直接プラットフォームのリンクを開きたい場合、アーティファクトをスキャンしてXray情報があるかどうかを確認したい場合など、これらの機能の多くはSlack自体でより迅速に行えます。 SlackでトリガーできるArtifactoryの通知は他にもたくさんあります。 アーティファクトのデプロイ アーティファクトのコピー アーティファクトの削除 アーティファクトの移動 アーティファクトのプロパティを追加 アーティファクトのプロパティを削除 ...など。 JFrogのSlackアプリケーションを利用する場合、JFrog DevOps Platformクラウド版7.27以上である必要があります。JFrogを初めてご利用になりますか?今すぐ無料でお試しください。 Slackインテグレーションの詳細については、JFrogのドキュメントをご覧ください。   SlackにPipelinesのCI/CD通知機能を追加 JFrog PlatformでPipelinesを使用する場合、Slack用のJFrogアプリの通知をCI/CDパイプラインからの通知として送信する独自に作成したメッセージを追加できます。 これは別のインテグレーションですがDevOpsプロセスにさらに包括的な可視性を提供します。Pipelines Slackインテグレーションを利用し、ビルドの成功または失敗を確認する方法をご覧ください。

    さらに見る
  • ChartCenterにHelm Chartのセキュリティ軽減メモ(Mitigation Notes)を追加する

    | < 1 min read

    今年の初めにChartCenterを立ち上げました。これはKubernetes開発者がHelm Chartを見つけるための最新のコミュニティプラットフォームです。この新しい無料のHelmセントラルリポジトリはChartの不変性を念頭に置いて構築されました。つまり、元のソースがダウンしても、Helm ChartのすべてのバージョンとChartCenter内のすべてのバージョンが常に利用できるということです。HelmHubが非推奨になったことで、不変性は特に重要になりました。Chartとそのバージョンは多くがChartCenter上に存在し続けており、各バージョンにはHelm Chartの依存関係、アプリケーションのバージョン、Helmのバージョン、他のChartがこのバージョンを使用している数など、豊富なメタデータが含まれています。 ChartCenterの最大の特徴は無料で見られる脆弱性の情報です。すべてのChartのバージョンについてJFrog Xrayを使用して脆弱性をスキャンし、CVSS 2の評価を使用して、高、中、低、未知いずれかのCVEスコアを算出します。 ChartCenterで明らかになる脆弱性 CVE (Common Vulnerabilities and Exposures) リストは国土安全保障省 (DHS) のOffice of Cybersecurity and Information Assurance (OCSIA) が主催する、報告された脆弱性の公開リストです。多くのサイバーセキュリティ企業は組織が自社の問題を明確に理解できるように、CVEやそれ以外の独自データベースを使用しています。CVEは特定の脆弱性やエクスポージャー(システム上の攻撃可能な不備など)に対する標準化された識別子を作成することで、組織間で既知の脆弱性に関する情報共有を容易にできます。CVEにより、組織はセキュリティツールの適用範囲を評価するためのベースラインを設定することができます。CVE の共通識別子は各ツールが何をカバーしていて、そのツールが組織にとってどの程度適切なのかを確認することができます。 各Chartページのセキュリティタブに移動すると、ユーザーはCVE ID、概要、コンポーネントおよび問題があるイメージといった脆弱性の詳細を確認することができます。 Mitigation Notes 私たちがこのセキュリティ機能をテストしている間に、様々なコミュニティメンバーから得たフィードバックがあります。脆弱性の多くはChartのメンテナーがコントロールできないサードパーティのコンポーネントにあるため、どのCVEが実際にアプリケーションに影響を与えるかについてエンドユーザに何らかのコンテキストを提供する機能をメンテナーに与えることができればより良いというものです。 正しくバランスを取りChartのメンテナーとユーザー両方の意思決定を支えるツールとするために、私たちは “Mitigation Notes”と呼ばれる機能を作成しました。ClaireOSやDockerHubなど多くのツールがコンテナスキャンを無料で提供しています。しかし、JFrogのChartCenterは1つのビューですべてを容易に閲覧でき、ユーザーが複数バージョンに渡って問題を確認できるUI上に情報が表示される初のツールでした。このことから、組織がChartのセキュリティについてユーザーとやりとりするための方法を提供することが正しいことだと分かりました。 また、この問題をきっかけにHelm ChartのメンテナーがChartCenter UI上でユーザーと直接対話できるような新機能を構築することになりました。このソリューションはアプリケーション全体のセキュリティについて、Chartのユーザーに透明性を提供し続ける必要があります。このバランスを正しくとる作業は興味深いものでした。中程度、低程度、未知のCVEの詳細をすべて継続的に公開することから始めましたが、高い脆弱性のデータにアクセスできるのはコミュニティユーザーがChartCenterにログインした場合に限られます。 “Maintainer Notes”の提供 CVEに対するMitigation Noteを提供するにはsecurity-mitigation.yamlファイルを使用します。ユーザーがこれを設定すると、セキュリティタブの各CVEの横にアイコンが表示されます。 アイコンをクリックすると次のような文章が表示されます: 軽減メモとアドバイスの例 ユーザーにこの手のアドバイスを提供することに慣れていない方は手本となる企業がたくさんあることを知っておいてください。これらの企業の多くはコード内のセキュリティ脆弱性を軽減するための独自のプロセスを持っており、サイト上に専用のページやポータルを構築して情報を公開している場合もあります。以下にセキュリティリスクへ対処するために会社標準の軽減勧告を実施している企業の例と、その方針の簡単な概要を示します。これらの例は自社のセキュリティ対策にも利用できます。 Drupal:  DrupalのセキュリティチームはDrupalコアやコントリビュートしたプロジェクトで報告されたセキュリティ問題をサイトオーナーに通知するため、セキュリティ勧告の公開アナウンスを管理しています。セキュリティ勧告では開発者が問題を修正するために必要な手順も提供されます。Drupalのセキュリティ勧告のプロセスについての詳細はこちらをご覧ください。 マイクロソフト: マイクロソフトは悪用可能性インデックスを持っています。セキュリティ更新プログラムに関連する重要度・重大度の高い各脆弱性の悪用の可能性を評価し、毎月のセキュリティ更新プログラムの詳細情報の一部として悪用可能性情報を公開しています。詳細を公開した後に、マイクロソフトが必要だと判断した場合はExploitability Index Assessment(悪用可能性指標)を変更し、技術的なセキュリティ通知で顧客に通達します。その流れが確認できる例もあります。   ChartCenter Mitigation YAML YAMLファイルを記述後は次のバージョンのHelm Chartにそのファイルを含めることができます。またはHelm Chartの所有者であることが確認できれば、直接security-mitigation.yamlファイルをメールで送信することもできます(ユーザーのメールアドレスがChartのリポジトリ情報に含まれていることが確認されます)。…

    さらに見る
  • 10のHelmチュートリアルでKubernetesの旅へ

    | < 1 min read

      Kubernetesの成長は目覚ましく、K8sアプリケーションの重要性と複雑さは増す一方です。今日、単一のアプリケーションの設定をするだけでも相互依存する多くのK8sソースを作成することになり、それぞれ細かいYAMLマニフェストファイルを書く必要があります。そんな中、KubernetesのパッケージマネージャーとしてのHelmはユーザーがK8sの設定を再利用可能にするための方法としてメジャーなものとなっています。 初心者のためのHelm HelmとはKubernetesに最適なアプリケーション・パッケージマネージャーでHelm Chartを使ってアプリケーションの構造を記述することを可能にします。Helmコマンドライン・インターフェイスを介してデプロイをロールバックしたり、アプリケーションの状態を監視したり、各デプロイの履歴をトレースしたりすることができます。Helmはサーバーサイドのアプリケーションを定義、保存、管理する方法を大きく変えます。2019年4月、CNCFはインキュベーション扱いであったHelmを完全なプロジェクトに変更しましたが、これはHelmが今後さらに多くのリソースへのアクセスを受け付けることを意味します。 Helmは主に次の機能を含みます。 Helm Chartとしてパッケージ化された人気のあるK8sソフトウェアを検索して使用する K8sアプリケーションをHelm Chartとして共有する K8sアプリケーションの再利用可能なビルドを作成する Kubernetesマニフェストファイルを管理する Helmパッケージのリリースを管理する なぜHelm Chartなのか? Helmの設定ファイルはChart(チャート)と呼ばれ、Kubernetesのマニフェストファイルにレンダリングされるメタデータとテンプレートを含む複数のYAMLファイルで構成されています。Chartの基本的なディレクトリ構造は以下の通りです。 package-name/ charts/ templates/ Chart.yaml LICENSE README.md requirements.yaml values.yaml   helmコマンドを使うと、ローカルディレクトリや上記ディレクトリ構造の `.tar.gz` パッケージからChartをインストールすることができます。これらのパッケージ化されたChartはChartリポジトリから自動的にダウンロード、インストールすることも可能です。 Helmのセントラル・リポジトリとしてのChartCenter JFrogは最近、開発者コミュニティ向けに公開されたHelm Chartの無料のセントラル・リポジトリとしてChartCenterを立ち上げました。ChartCenterではリッチなUIを使って何千ものKubernetes対応アプリケーションの中から必要なものを検索することができます。1つのセントラル・リポジトリからすべてのアプリケーションを見つけ、起動することができるのです。一見、他のHelmリポジトリが提供する検索サービスと似ていますが、Chartがキャッシュされていることと変更不可であることが特徴です。 保存されたHelm Chartはいずれも堅牢なメタデータとともに管理されます。メタデータがあることで、優れた意思決定をするための重要な情報が分かるようになります。 Helmチャンピオンになる Helmを使ってKubernetesアプリケーションのデプロイを成功させる方法を学ぶ場合、すでにある多くのリソースを活用できます。多くは初心者がHelmとその仕組みを理解することを目的としたチュートリアルです。 ここでは基本的なものから高度なものまで、Helmの概念や実践的な内容を知るのに役立つお気に入りのビデオチュートリアルをいくつかご紹介します。動画は英語ですが参考にしてみてください。 1. What is Helm? (Helmとは何か) IBM CloudのDavid Okun氏によるHelmの入門ビデオチュートリアルです。ここではKubernetesでアプリケーションやサービスを素早く定義、管理し、簡単にデプロイするためにHelmを使用する典型的なシナリオを説明しています。   2. An Introduction to Helm (Helm入門) CNCF (Cloud Native Computing…

    さらに見る
  • 新しいConanCenterのご紹介:進化した検索機能

    | < 1 min read

    この記事では新たに強化されたConanCenterの検索機能をご紹介します。ConanとはGitのようにC/C++の開発者がプッシュ/プルモデルでパッケージを共有することができる分散型パッケージマネージャです。ConanCenterはJFrogが開発とメンテナンスを行っているオープンソースのConanパッケージ用集中型リポジトリです。今回、UI/UXが進化したことにより簡単にConan C/C++パッケージを検索できるようになりました。 ConanCenterの新機能について 新しいConanCenterにアクセスすると、まずページ中央に大きな検索バーが目に入ります。 ここで名前や説明からパッケージを検索し、バージョンとダウンロード数の入った結果のリストを得ることができます。 さらに新しいConanCenterのUIはJFrogのサービス全体に合わせ統一されました。これは検索の実行と結果の表示に重点を置いたデザインであり、パッケージ開発者がConanパッケージのレシピと構成情報に素早くアクセスし、豊富なメタデータを簡単に見つけられることを目的としています。 構成ページそのものはバイナリでホストされていた以前のバージョンから大幅に改善されています。Artifactoryがホストする新しいConanCenterを使用するとパッケージの各バージョンの豊富な構成にアクセスできます。任意のOSとアーキテクチャを設定し、利用可能なバイナリでコンパイラを選択すると多くの構成オプションが表示されます。パッケージの全ての構成がすぐに利用できるわけではないため、UIに反映されない場合にはパッケージ開発者がConanCenter-indexに追加する必要があることにご注意ください。 Artifactoryベースの技術を採用した新しい貢献プロセス ConanCenterの大きな新機能として、JFrog Artifactoryベースの継続的インテグレーションシステムを通じて新しいパッケージとバージョンの管理ができるようになったことが挙げられます。このプロセスにはGitHubにあるconan-center-indexリポジトリのレシピに対するプルリクエストを通じて追加されたConan開発者による新しいパッケージの検証が含まれています。これによりパッケージがどのようにConanCenterに取り込まれているのかがより明確になり、個々のバイナリのトラッキングが改善されました。 これは以下で説明する「Early Access Program(EAP)」の一環として開始されており、2020年半ばにはこれが新しいConanCenterでパッケージを利用する唯一の方法になります。現在BintrayでConanパッケージをアップロードしている場合は、EAPに参加してパッケージの追加を行ってください。作成したパッケージを非公開でホストできるように、JFrogは無料のC / C++用Artifactory Community Editionも提供しています。 EAP:パッケージ開発者として参加するには 私たちはプロジェクト開始当初からパッケージ開発者が簡単にConanCenterへ新しいパッケージを追加できるようにしたいと考えていました。その考えは既に数万ものパッケージとそのバージョンが多数のオープンソースライブラリに属していることでご理解いただけると思います。 皆様がパッケージを提供して世界中の何千人ものConanCenterユーザとパッケージを共有することもできます。パッケージを提供するにはEarly Access Program(EAP)に参加する必要があります。 EAPに参加するにはGitHub issueにコメントを追加してください。EAPのメンバーになるとGitHubからConanCenterにパッケージを追加できるようになります。 conan.io/centerのトップページにあるAdd New Packagesボタンを押すとhttps://github.com/conan-io/ConanCenter-indexにプルリクエストで新しいレシピの追加ができます。新しいパッケージの具体的な追加方法は: conan-center-index gitリポジトリのフォーク後、クローンを作成 Conanパッケージレシピ(conanfile.py)とメタデータを含んだ新しいフォルダを作成 GitHubにプッシュし、プルリクエストを送信 自動ビルドサービスで100以上の異なる構成をビルドします。もしGitHubのプルリクエスト中に問題がある場合にはメッセージが表示されます。 プルリクエストがレビューされマージされると、パッケージはconan.io/centerに公開されます。詳細についてはConanドキュメント をご参照ください。 ConanCenterへフィードバック 私たちのチームでは引き続き新しいConanCenterの検索機能とワークフローを強化していきます。ConanCenterが進化するにつれ、Conan C/C++パッケージの検索に役立つパッケージの検出、キュレーション、コンテンツの追加が期待されています。現在のConanCenterの機能改善、全体的なUI/UXの向上、パッケージ検索機能の向上について、ぜひ皆様のご意見をお聞かせください。 新しいConanCenterの検索の機能や結果は全体的に改善を続けていきますが、皆様のコメントやフィードバックもお待ちしております。GitHubに具体的なフィードバックをお寄せいただけるとありがたいです。よろしくお願いします。

    さらに見る