GitHub Enterprise Cloud との統合

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:12分
  • ソフトウェア資産管理 アプリケーションを GitHub Enterprise Cloud アプリケーションと統合すると、ソフトウェアサブスクリプションを追跡し、未使用のライセンスを再利用するのに役立ちます。

    重要:
    必要なユーザーまたは API 権限のみにアクセス権を付与することで、セキュリティリスクを最小限に抑え、情報を保護します。
    表 : 1. 最小限のユーザー権限
    責任を担います。 GitHub Enterprise Cloud アプリケーションで必要なユーザーロール 認証スコープ
    サブスクリプションをダウンロード 組織オーナー read:org
    ユーザーアクティビティのプル 組織オーナー
    • read:org
    • repo
    サブスクリプションを再利用 組織オーナー write:org

    GitHub Enterprise Cloud の API アクセストークンを生成する

    GitHub Enterprise Cloud API へのアクセスに使用できるトークンを生成します。

    始める前に

    GitHub 必要なロール:組織オーナー

    認証に使用するユーザー アカウントは、所属している組織内のすべてのリポジトリを読み取ることができる必要があります。

    このタスクについて

    GitHub リポジトリホスティングサービスは、個人用アクセストークンを使用して、ユーザーに GitHub API へのアクセス権を付与します。個人アクセストークンは、API 要求を許可することで、OAuth アクセストークンと同様に機能します。個人アクセストークンを生成して GitHub Enterprise Cloud API リクエストを承認することで、 GitHub Enterprise Cloud API にアクセスできるようになります。

    手順

    1. Web ブラウザーから GitHub を開きます。
    2. GitHub アカウントにサインインします。
    3. GitHubページのヘッダーで、プロファイル写真を選択し、[設定] を選択します。
      プロファイル設定が開きます。
    4. 左側のナビゲーション ウィンドウで、[ 開発者設定] を選択します。
      開発者設定が開きます。
    5. 左側のナビゲーションペインで、[ 個人用アクセストークン] を選択します。
    6. [トークン (クラシック)] を選択します。
    7. [個人用アクセス トークン] ページで、 [新しいトークンの生成] を選択します。
    8. [新しいトークンの生成 (クラシック)] を選択します。
    9. 続行する前にパスワードの確認を求められた場合は、 GitHub パスワードを入力し、[ パスワードの確認] を選択します。
    10. [新しい個人アクセストークン] フォームの [ メモ ] フィールドにトークンの目的を記述します。
    11. トークンに有効期限を指定するには、[有効期限] ドロップダウンメニューを選択してデフォルト値を選択するか、カレンダーピッカーを使用します。
    12. [スコープを選択] フォームセクションで、repo、write:org、read:org OAuth スコープを有効にします。
      OAuth スコープは、保護されたリソースに対してアプリケーションが持つアクセスレベルを制限します。リポジトリの OAuth スコープを使用すると、プライベート リポジトリを完全に制御できます。write:org および read:org OAuth スコープを使用すると、すべてのチーム、プロジェクト、メンバーシップを含む組織全体を管理できます。GitHub OAuth スコープの詳細については、「OAuth アプリのスコープ」を参照してください。
      1. リポジトリのチェックボックスをオンにして、リポジトリの OAuth スコープを有効にします。
        この OAuth スコープを有効にすると、repo:status、repo_deployment、public_repo、repo:invite、および security_events OAuth スコープが自動的に有効になります。
      2. write:org および read:org OAuth スコープを有効にします。
    13. [トークンの生成] を選択します。
      個人アクセストークンが生成されます。
    14. アクセストークンをコピーし、後で使用するために安全な場所に保存します。
    15. トークンを使用して、SAML シングルサインオンを使用する組織が所有するリソースにアクセスするには、トークンを承認します。
      詳細については、「 SAML シングルサインオンで使用する個人アクセストークンの承認」を参照してください。

    GitHub Enterprise Cloud 接続を作成

    GitHub Enterprise Cloud アプリケーションと ServiceNow インスタンス間の接続を作成します。

    始める前に

    ServiceNow インスタンスと GitHub Enterprise Cloud アプリケーションの間の通信にMID サーバーを使用する場合は、まずインスタンスにMID サーバーを設定する必要があります。詳細な手順については、「 MID サーバー 」を参照してください。

    ServiceNow 必要なロール:admin

    手順

    1. ServiceNowインスタンスから、 プロセス自動化 > Flow Designer (フローデザイナー).
      [フローデザイナー] タブが作成されます。
    2. [Connections (接続)] タブを選択します。
    3. GitHub 接続の [詳細を表示] を選択します。
    4. 使用可能な接続の一覧で GitHub を見つけて、 構成 を選択します。
    5. [接続を設定] ダイアログボックスで、フィールドに入力します。
      表 : 2. [接続の設定] ダイアログボックス
      フィールド 説明
      接続名 GitHub接続の名前です。
      接続 URL GitHub API エンドポイントの URL。

      https://api.github.com を入力します。

      MID サーバー の使用 ServiceNow インスタンスが GitHub Enterprise Cloud アプリケーションとの通信にMID サーバーを使用できるようにするオプション。
      • インスタンスで MID サーバーが必要な場合は、このフィールドを true に設定します。
      • インスタンスで MID サーバーが必要ない場合は、このフィールドを空のままにします。
      重要:
      このオプションを有効にするには、インスタンスに MID サーバー が設定されている必要があります。詳細な手順については、「 MID サーバー 」を参照してください。
      API キー GitHub Enterprise Cloud API へのアクセスを可能にする個人アクセストークン。
      • インストールされている GitHub スポークバージョンが 2.2.5 以降の場合は、「 <api-key>」と入力します。
      • インストールされている GitHub スポークバージョンが 2.2.5 より前の場合は、「 Bearer <api-key>」と入力します。
      <api-key> は、で生成した個人アクセストークンです GitHub Enterprise Cloud の API アクセストークンを生成する
    6. [接続を設定] を選択します。

    GitHub Enterprise Cloud 統合プロファイルの作成

    GitHub Enterprise Enterprise Cloud 統合プロファイルを作成して、ソフトウェアサブスクリプションを追跡し、GitHub Enterprise Cloud アプリケーションのライセンスを最適化します。

    始める前に

    GitHub Enterprise Cloud 統合プロファイルを作成するには、ServiceNow Store から ソフトウェア資産管理 - SaaS ライセンス管理 プラグイン (sn_sam_saas_int) を要求します。

    ServiceNow 必要なロール:sam_integrator または admin

    重要:
    [Application Manager] ページでオプション機能をインストールするときは、この統合の [GitHub スポーク] チェックボックスをオンにする必要があります。必要な SaaS アプリケーションの選択の詳細については、「 SaaS ライセンス管理の要求」を参照してください。

    このタスクについて

    ソフトウェア資産ワークスペースを使用している場合、コア UIGitHub Cloud 統合プロファイルを作成するオプションは非アクティブです。

    手順

    1. 統合プロファイルに移動します。
      インターフェイスアクション
      Core UI (コア UI)
      1. 次のように移動する。 All (すべて) > ソフトウェア資産 > SaaS ライセンス > 直接統合プロファイル.
      2. [New (新規)] を選択します。
      3. [GitHub Cloud Integration Profile] を選択します。
      ソフトウェア資産ワークスペース
      1. 次のように移動する。 ライセンス操作 > ユーザー登録 > 直接統合プロファイル.
      2. [New (新規)] を選択します。
      3. ドロップダウンリストから [GitHub Cloud ] を選択します。
      4. [Continue (続行)] を選択します。
    2. フォームのフィールドに入力します。
      表 : 3. 統合プロファイルフォーム
      フィールド 説明
      表示名 データ連携プロファイルの名前例:GitHub クラウド統合
      ステータス 統合プロファイルのステータス。
      • 統合プロファイルを公開していない場合、このフィールドは自動的に [ドラフト] に設定されます。
      • 統合プロファイルを既に公開している場合、このフィールドは自動的に [公開済み] に設定されます。
      プロファイルタイプ 統合プロファイルのタイプ。

      このフィールドは自動的に github_cloud_subscription に設定されます。

    3. 各プロセスの [ ベンダー構成 ] フィールドで指定された必要なユーザーロールまたは API 権限を確認して、セキュリティリスクを最小限に抑え、 SaaS ライセンスを最適化します。
      注:
      詳細については、「 最小限のユーザーアクセス許可 」テーブルを参照してください。
      1. [Download Subscription Subflow] セクションで、[ Subflow ] フィールドが [GitHub Cloud Download Subscriptions] に設定されていることを確認します。
        注:
        [ サブスクリプションをダウンロード ] チェックボックスはデフォルトでオンになっており、オフにすることはできません。
        ソフトウェア資産管理 は、メンバー、外部コラボレーター、保留中の招待、保留中の外部コラボレーターをプルして、GitHub Enterprise Cloud サブスクリプションの完全なビューを提供します。
        重要:
        処理待ちの外部コラボレーターをプルするには、 sn_sam_saas_int.pull_pending_collaborator_github システムプロパティを有効にします。リポジトリの数が多いほど、API トランザクションの数が増加します。
      2. [アクティビティサブフローの計算] セクションで、[ サブフロー ] フィールドが [GitHub クラウドのユーザー アクティビティの更新] に設定されていることを確認します。
        注:
        [ ダウンロードアクティビティ ] チェックボックスはデフォルトでオンになっています。これをクリアすると、アクティビティのスケジュール済みジョブ SAM - Refresh <displayname> Activity は作成されません。
        [ ユーザーアクティビティを分析 ] フィールドで、ユーザーアクティビティを分析する開始日時を選択することもできます。デフォルトでは、現在の日付の 60 日前までのユーザーアクティビティを分析し、このプロファイルを作成したときから個々のユーザーが実行したイベントを表示できます。
        注:
        ソフトウェア資産管理 は、プロファイルの作成日に関係なく、ユーザーアクティビティの分析を開始した時点からのイベントをプルします。
        この値は、ソフトウェア再利用ルールの [前回のアクティビティしきい値] フィールドで変更できます。詳細については、「ソフトウェア再利用ルールのレビュー」を参照してください。
        ヒント:
        このサブフローでパフォーマンスの問題を回避するには、[ ユーザーアクティビティの分析元 ] フィールドを現在の日付の最大 7 日前に設定することをお勧めします。
      3. [サブスクリプションサブフローの再利用] セクションで、[ サブフロー ] フィールドが [GitHub クラウドサブスクリプションの再利用] に設定されていることを確認します。
        注:
        [ サブスクリプションを再利用 ] チェックボックスはデフォルトでオンになっています。サブスクリプションを再利用しない場合は、このチェックボックスをオフにします。これをクリアすると、削除候補は作成されますが、サブスクリプションの再利用サブフローがトリガーされないか、再利用プロセスが開始されません。
    4. [Save (保存)] をクリックする。
      ServiceNowインスタンスでドラフトの統合プロファイルが作成されます。

      [接続と資格情報] フィールドが表示され、自動的に sn_github_spoke に設定されます。GitHub

    5. 統合プロファイルフォームで、[ 接続を検証 ] を選択して、この統合の接続と資格情報の詳細を確認します。

      接続を検証すると、Download Subscriptions API と Calculate Activity API は検証されますが、Reclaim Subscriptions API は検証されません。

    6. 接続を確認したら、[ 公開] を選択します。
    7. 公開の確認 ダイアログ ボックスで、 OK を選択します。
      注:
      統合プロファイルの公開後に [ ダウンロードアクティビティ ] チェックボックスをオフにすると、次のイベントが発生するため、接続を再検証してから統合プロファイルを再公開する必要があります。
      • 統合プロファイルフォームの [ ステータス ] フィールドが [ドラフト] に変わります。
      • [ 接続を検証] ボタンがフォームに表示されます。
      • 現在の SAM - Refresh <displayname> Activity ジョブが削除されます。

    次のタスク

    統合が接続されると、 ServiceNow インスタンスでソフトウェアモデル、再利用ルール、ソフトウェアサブスクリプションが自動的に作成され、毎日更新されます。

    一意の接続を持つ複数の統合プロファイルを設定する場合は、子エイリアスを作成して、統合プロファイルごとに異なる構成と設定を管理します。詳細については、「子エイリアスを作成して複数の統合プロファイルを設定する」を参照してください。

    ユーザーサブスクリプションを再利用するために、自動的に生成されたすべての再利用ルールを確認します。詳細については、「ソフトウェア再利用ルールのレビュー」を参照してください。

    自動生成されたソフトウェアモデルのソフトウェアエンタイトルメントを作成して、使用済みソフトウェアを所有ソフトウェアに対して追跡します。
    調整は、サブスクリプションでもスケジュール済みジョブとして、またはオンデマンドで実行されます。調整結果は、 ライセンスワークベンチ (クラシックアプリケーションソフトウェア資産管理 ) または ライセンス使用状況ビュー (ソフトウェア資産ワークスペース) で表示できます。これらの結果を使用して、ライセンスコンプライアンスの状況を判断し、コンプライアンス違反を修正します。