記事
チュートリアル
インタラクティブ ガイド
Snyk と Bitbucket Cloud を統合して DevSecOps を実現する方法
Simon Maple 氏
Snyk のフィールド CTO
Snyk を Bitbucket Cloud や Jira と統合して、DevSecOps を実現します。
Snyk は複数のアトラシアン製品と統合されているため、DevSecOps チームのワークフローとパイプラインを強化できます。このチュートリアルでは、Atlassian Bitbucket と Snyk を活用して、セキュリティのシフト レフトを可能にするパターンについてご説明します。これらの手法によって、チームは、DevSecOps のペースでアプリケーションとコンテナーベースのワークロードをスキャンできます。これらのパターンを使用して、パイプラインの段階全体でセキュリティを含む方法について学習します。
所要時間
読む時間 15 分。
対象者
- デベロッパー
- DevOps と DevSecOps エンジニア
- アプリケーション セキュリティ チームとアプリケーション開発チーム
前提条件
Snyk アカウントを持っているユーザーはこちらをご利用ください。
Atlassian Bitbucket のアカウントを持っているユーザー。こちらからログインするか、こちらから開始してください。
ステップ 1: 環境を構成する
Snyk CLI をインストールする
Snyk CLI は、Snyk アカウントを使用してマシンを認証します。CLI ツールは、依存関係にある既知の脆弱性を手動で、および CI/CD パイプラインで検出して修正するのに役立ちます。CLI をインストールするための完全な手順は、一般的なオペレーティング システムと環境向けに複数の形式で Snyk でご利用いただけます。たとえば、CLI は brew と次のコマンドと共に利用できます。
brew tap snyk/tap
brew install snyk
CLI をインストールしたら、次のコマンドで認証します。
snyk auth
このコマンドによってブラウザー タブが開き、認証プロセスを完了します。[認証] ボタンをクリックすると、リポジトリをスキャンする準備が整います。認証が完了したら、端末に戻って作業を続けられます。
その他のラボ リソース
このチュートリアルの演習には、指定されたモジュール ページ内で共有されるコマンドまたはコード スニペットの組み合わせと、パブリック Bitbucket リポジトリで利用可能なテンプレートとソース コードが含まれます。Bitbucket Cloud アカウントを設定したら、これらのリソースをアカウントにコピーする必要があります。これを行うには、次のステップに従ってください。
リポジトリをフォークする
こちらをクリックして、アップストリーム リポジトリを Bitbucket アカウントにフォークします。アトラシアンのドキュメントには、リポジトリをフォークする方法の詳細な手順が記載されています。
フォークをローカルにクローンする
フォークが完了したら、フォークしたリポジトリをクローンする必要があります。詳細な手順については、リポジトリをクローンする方法に関するアトラシアンのドキュメントをご参照ください。
ステップ 2: Snyk を Bitbucket に接続する
このセクションでは、Snyk を Bitbucket に接続して、オープン ソースの脆弱性について Bitbucket アプリケーションをスキャンします。
ソフトウェア構成解析 (SCA) とは
ソフトウェア構成解析 (SCA) は、オープン ソースのコンポーネント管理ツールです。このツールは、アプリケーション内のすべてのオープン ソース コンポーネント (直接的/間接的な依存関係を含む) をリストするレポートを生成します。SCA ツールを使用すると、開発チームはプロジェクトに導入されたオープン ソース コンポーネントをすばやく追跡して分析できます。
オープン ソース コンポーネントは便利で広く利用されていますが、従来は追跡が困難でした。その結果、開発者はメールやスプレッドシートなどの手動プロセスを使用して、状況を緩和していました。しかし、これらの手動プロセスは、オープン ソースが提供する利便性を打ち消し、不完全なソリューションを提供するおそれがあります。より適切なアプローチは、各コンポーネントを即座に把握できる SCA ツールを活用することです。
SCA ツールを使用する理由
オープン ソース コンポーネントは、実質的にあらゆる分野にわたるソフトウェア開発における主要な構成要素です。組織の規模にかかわらず、SCA は、ビジネスにとって重要なアプリケーション内のオープン ソース コンポーネントを特定する際に役立ちます。SCA ツールによって、開発者は次のことを行えます。
1. アプリケーションで使用される依存関係を理解する。
2. ソフトウェア開発ライフサイクル (SDLC) 全体を通して、セキュリティ ポリシーとコンプライアンス ポリシーを適用する。
3. ソースで潜在的な脆弱性をプロアクティブに修正する。
4. チームの効率性と会社のセキュリティ体制を改善する。
ステップ 3: アプリ パスワードを作成する
Snyk にリポジトリへのアクセスを許可して Snyk の Bitbucket Cloud 統合を有効にするには、アプリ パスワードを作成する必要があります。
アプリ パスワードを作成するには、次の手順に従います。
1. 左下のアバターから、[個人設定] をクリックします。
2. [アクセス管理] の下で、[アプリ パスワード] をクリックします。
3. [アプリ パスワードを作成] をクリックします。
4. アプリ パスワードに、パスワードを使用するアプリケーションに関連する名前を付けます。
5. このアプリケーション パスワードに付与する特定のアクセス権と権限を選択します。
- アカウント:
read
- チーム メンバーシップ:
read
- プロジェクト:
read
- リポジトリ:
read and write
- プル リクエスト:
read and write
- Webhook:
read and write
6. 生成されたパスワードをコピーして、記録するか、アクセス権を付与したいアプリケーションに貼り付けます。パスワードはこの 1 回のみ表示されます。
ステップ 4: リポジトリ変数を追加する
リポジトリ変数はリポジトリ レベルで定義する必要があり、後でパイプラインで参照されます。 これらの構成は次のとおりです。
- SNYK_TOKEN - Snyk アカウントを認証するための Snyk API トークン。これは保護された変数です。
- IMAGE - コンテナー イメージ名。これは保護された変数ではありません。
その他の変数は、強化されたパイプライン操作向けであり、このチュートリアルでは説明していません。
ステップ 5: Snyk API トークンを取得する
1. Snyk API トークンを取得する
Snyk コンソールから [設定] (画像の歯車アイコン) に移動して、[一般] メニューで [組織 ID] をコピーします。
トークンをコピーしたら、Bitbucket Cloud UI に戻って SNYK_TOKEN
リポジトリ変数を定義します。
ステップ 6: Bitbucket 統合を有効にする
Snyk コンソールから [統合] に移動して [Bitbucket Cloud] を選択します。
Bitbucket Cloud 統合ページで、[ユーザー名] フィールドに Bitbucket ユーザー名を、[アプリ パスワード] フィールドに前のステップの Bitbucket アプリ パスワードを入力します。次に [保存] をクリックします。
Snyk アカウントと Bitbucket アカウントの接続に成功すると、確認メッセージと Bitbucket Cloud リポジトリを Snyk に追加する機能が表示されます。
このページに留まって、次のセクションで、Bitbucket Cloud リポジトリをインポートして Snyk でスキャンする方法を学習します。
Bitbucket アプリケーションをスキャンして監視する
オープンソースの依存関係の脆弱性に関するアプリケーションのスキャンは、ソースから始まります。前のセクションでは、Snyk と Bitbucket の統合を有効にして、最初のプロジェクトがインポートできる状態になりました。
ステップ 7: Bitbucket Cloud リポジトリを Snyk に追加する
前のセクションの最後の画面で [Add your Bitbucket Cloud repository to Snyk (Bitbucket Cloud リポジトリを Snyk に追加)] をクリックします。
[環境を構成] モジュールでフォークしたリポジトリを探します。チェックボックスをクリックして選択し、[Add selected repository (選択したリポジトリを追加)] ボタンをクリックしてプロジェクトをインポートします。
ステップ 8: 脆弱性レポートを確認する
packages.json に基づく脆弱性の数と、それぞれの詳細情報を確認する必要があります。スキャンしたばかりのプロジェクトをクリックして、Snyk で結果を確認します。脆弱性の重大度やエクスプロイトの成熟度などに関するコンテキストだけでなく、次の強力な機能も取得できます。
「Atlassian Open DevOps の統合」をご確認ください。
この記事を共有する
次のトピック
おすすめコンテンツ
次のリソースをブックマークして、DevOps チームのタイプに関する詳細や、アトラシアンの DevOps についての継続的な更新をご覧ください。