Adi Atzmony

Adi Atzmony

JFrog Technical & Marketing Content Manager

Adi is the content manager and strategist in the product marketing team at JFrog. She has been in the software and tech domain for 17 years. Starting her career as a software developer, project manager, and continuing to expand her expertise as a senior technical and marketing writer. She is passionate about working together to make technical content clear, easy to read, relevant, actionable, and shareable across all social/community platforms.

The Latest From Adi Atzmony

  • ソフトウェアのセキュリティとコンプライアンスをアーティファクトに設定する方法

    | < 1 min read

    チームやサイトで使用されているすべてのオープンソース(OSS)コンポーネントの安全性を確保する最も簡単な方法はソフトウェア構成分析(SCA)ツールを利用することです。オープンソースの使用状況を管理・把握するためには自動化された信頼性の高い方法が必要です。 JFrog Xrayはソフトウェア開発ライフサイクル(SDLC)に脆弱性とライセンスコンプライアンスのスキャンを設定することができます。オンプレミス、クラウド、ハイブリッドで利用可能なXrayは企業のソフトウェア・コンポーネントを相互に接続して可視化し、脆弱性やライセンス問題のない迅速なリリースを実現します。このブログ記事で、その手順をご紹介します。 始める前に 必要なものは以下の通りです: JFrog Cloudサブスクリプション(無償のクラウド版とセルフホスティッド版を含む) ステップ1: あなたの環境にログイン オンプレミス版の場合はデフォルトのUsername: admin、Password: password、クラウド版の場合はメールで送られてきた認証情報を使ってログインします。 ステップ2: 選択したリポジトリでJFrog Artifactoryをセットアップ 過去の記事でプライベート、リモート、バーチャルDockerレジストリを設定する方法をご紹介しています。 ステップ3: Policyの定義 Policyはセキュリティおよびライセンスコンプライアンスの仕様を定義するものです。組織のニーズに合わせて強制するルールや適用する自動アクションを定義します。 ApplicationモジュールからSecurity & Compliance > Policiesをクリックします。 タイプが「Security」の新しいPolicyを追加します。新規ルールをクリックし、「All Severities」に設定します。 注: 新たなセキュリティ問題が見つかった場合に実行する自動アクションを定義することもできます。例えばWebhookのトリガー、メールでの通知、ダウンロードのブロック、ビルドの失敗などです。何も有効になっていない場合は単にWeb UIに情報が表示されるだけです。 ステップ4: 監視するリポジトリを選択し、PolicyをWatchに割り当てる Watchはアーティファクト・リポジトリとビルドなどの監視するリソースの範囲を定義します。ここでは新しいWatchを作成し、先ほど作成したPolicyを適用します。 ApplicationモジュールからSecurity & Compliance > Watchesをクリックし、新しいWatchを追加します。 Add Repositoriesをクリックし、このWatchに含めるリポジトリを選択します。 リソースが選択されたため、Policy自体を作成することができます。 Manage Policiesをクリックし、前のステップで作成したPolicyを選択します。 ステップ5: スキャンを実行 Watch作成後、スキャンがトリガーされるイベントが発生した場合、指定されたリソースのアーティファクトをスキャンし、それに応じて違反を報告します。 しかし、スキャンのトリガーとなるイベントが起こるまで(新しいアーティファクトがリポジトリにプッシュされるなど)、システム内にすでに存在するアーティファクトはWatchによってスキャンされません。そこで、関連するアーティファクトにWatchが直ぐに適用されるようにするために、手動でWatchを起動することができます。 先ほど作成したWatchにカーソルを合わせ、Apply on Existing Contentを選択します。 Watchに割り当てられたリソースの内、どのリソースをスキャンするかを指定し、スキャンするためにターゲットにアーティファクトが存在する必要がある時間を定義する日付範囲を指定します。 例えば「Last 90 days」を選択した場合、過去90日間にターゲットに存在していたアーティファクトのみをスキャンします。 注:…

    さらに見る
  • コード内のセキュリティ脆弱性をブロックするには

    | < 1 min read

    ソフトウェアの継続的デプロイが広まり業界の標準として受け入れられるようになると、セキュリティはこれまで以上に重要となります。開発から運用にいたるまで、組織内のすべてのチームがセキュリティの用件を満たす必要があります。 JFrogのIDEインテグレーションはIDEから直接セキュリティとコンプライアンスをチェック可能なソリューションを開発者に提供します。プラグインや拡張機能を使用することでユーザーはプロジェクトの依存関係をスキャンし、開発中にセキュリティの脆弱性とライセンスのコンプライアンス違反を知らせてくれます。 サポートするIDE環境 JFrogは4つのIDE環境をサポートしており、すべて同じ機能で動作します。 Visual Studio Code – Maven、Python、Go、npmプロジェクトの依存関係をスキャン IntelliJ IDEA – Maven、Gradle、Go、npmプロジェクトの依存関係をスキャン Eclipse – Maven、Gradle、npmプロジェクトの依存関係をスキャン Visual Studio – NuGetプロジェクトの依存関係をスキャン プラグインや拡張機能に含まれるもの インストールすると画面にJFrogタブが表示されます。JFrogパネルにはプロジェクトの直接的な依存関係がトップレベルにツリーとして表示され、そこからさらにドリルダウンすると依存関係を表示できます。例えばVisual Studio Codeでは以下のように表示されます: JFrog Xrayはプロジェクト内の依存関係に変更があるたびに自動スキャンを実行します。依存関係をクリックすると検出された問題の種類、深刻度のレベル、バージョン、ライセンス、問題の概要などの詳細が表示されます。例えばIntelliJ IDEAでは以下のように表示されます: また、深刻度の高いものは赤で表示するといったように色分けしてフィルタリングすることも可能です。さらに依存関係に脆弱性や違反がある場合、その親である依存関係もすべて脆弱性があるとマークされます。この表示を検証することで、脆弱性の原因である依存関係をピンポイントで特定することができます。 ツリー内の依存関係からエディター定義に画面遷移できます。 依存関係を検索したり、エディターで依存関係にカーソルを合わせるとその情報について素早く表示したり、pom.xml、package.json、requirements.txt、go.modから直接ライセンスを表示するなどその他にも多くの便利な機能があります。 セキュアなシフトレフトアプローチ 安全性の高いソフトウェアをいち早く提供するには、DevOpsワークフローに関わるすべてのチームの努力が必要です。より多くのツールを備えたDevSecOps戦略の一環としてシフトレフトアプローチを採用することで、開発者はセキュリティの脆弱性やライセンス違反などの潜在的な脅威を初期段階で阻止できます。これにより開発チームは潜在的なリスクを引き起こす前にあらゆる問題を簡単に軽減することができ、長期的には時間とコストの節約につながります。 JFrog Xrayをまだ使い始めていない場合はJFrogのWebサイトから無料の体験版をダウンロードできます。ぜひお使いの環境でお試しください。

    さらに見る
  • Artifactoryの5つの特別なリポジトリについて

    | < 1 min read

    アーティファクトリポジトリとしてJFrog Artifactoryで管理されているさまざまなタイプのバイナリリポジトリの中に、あまり知られていない非常に有用な5つのリポジトリがあります。他のリポジトリと同様に、これらもArtifactoryでバイナリを格納するメリットがありますが、使用方法が少し異なります。どのように使用するのか見てみましょう。 1. 汎用リポジトリ このタイプのリポジトリには特別な形式はなく、あらゆる形式のパッケージをアップロードできます。汎用リポジトリは、どのパッケージ形式にも属さないためパッケージインデックスは管理しません。サポートされていないパッケージ形式、インストーラやナビゲーションファイル、オーディオファイルなどを格納したい場合に便利です。 たとえば、Homebrewのアーティファクトをプロキシ処理してキャッシュする汎用リモートリポジトリを作成できます。URLにhttps://homebrew.bintray.com/を指定し、Homebrewリポジトリを設定するだけです。 デフォルトのHomebrewソースリポジトリをバイパスするには、以下のコマンドで環境変数HOMEBREW_BOTTLE_DOMAINを追加してください。 export HOMEBREW_BOTTLE_DOMAIN=https://ART_URL:8081/artifactory/homebrew/ その後、任意のパッケージ名でinstallコマンドを実行します。 brew install wget HomebrewはArtifactoryを経由してインストールし、インストールするすべてのアーティファクトをキャッシュします。 2. Build Infoリポジトリ デフォルトのartifactory-build-infoリポジトリ はArtifactoryのバージョン6.6で導入され、「build-info」ファイルをバイナリ・ラージ・オブジェクトとしてArtifactoryデータベースに格納するための新しいメカニズムになりました。このartifactory-build-infoリポジトリには、Artifactory JenkinsプラグインやJFrog CLI、Build Upload REST APIやArtifactory UIを直接経由して、さまざまなCIサーバープラグインでArtifactoryにアップロードされたすべてのビルド情報ファイルが格納されます。ビルド情報はREST APIとBuildsページから入手できます。 この新しいリポジトリはbuild-infoファイルへのアクセスを定義する新しいユーザやグループのパーミッションセットを導入しました。build-infoリポジトリ内のJSONパスを使用してリポジトリの権限を管理できます。「Create or Replace Permission Target」REST APIを使用してパーミッションを自動化することができます。build-infoパーミッションの新しいセクションを持つV2 JSONを使用するようになりました。 たとえば、次のcURLとbuild-info-permission.jsonは、test-mavenというビルドに対してjava-developersという新しいパーミッションを定義します。 cURLコマンド curl -uadmin:password -XPUT "https://localhost:8081/artifactory/api/v2/security/permissions/java-developers" -H "Content-type: application/json" -T build-info-permission.json build-info-permission.json { "name": "java-developers", "repo": { "include-patterns": ["**"] (default), "exclude-patterns": [""] (default),…

    さらに見る