GitHub Enterprise Cloud との統合

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:11分
  • ソフトウェア資産管理 アプリケーションを 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. [接続] タブを選択します。
    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 へのアクセスを可能にする個人用アクセストークン。
      • インストールされている <c0/> スポークバージョンが 2.2.5 以降の場合は、「<api-key>」と入力します。GitHub
      • インストールされている <c0/> スポークバージョンが 2.2.5 より前の場合は、「Bearer <api-key>」と入力します。GitHub
      <api-key> は、以下で生成した個人アクセストークンですGitHub Enterprise Cloud の API アクセストークンを生成する
    6. [接続を設定] を選択します。

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

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

    始める前に

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

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

    このタスクについて

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

    手順

    1. 統合プロファイルに移動します。
      インターフェイスアクション
      コア UI
      1. 移動先 すべて > ソフトウェア資産 > SaaS ライセンス > 直接統合プロファイル.
      2. [新規] を選択します。
      3. [GitHub Cloud 統合プロファイル] を選択します。
      Software Asset Workspace
      1. 移動先 ライセンス操作 > ユーザー登録 > 直接統合プロファイル.
      2. [新規] を選択します。
      3. ドロップダウンリストから [GitHub Cloud ] を選択します。
      4. [続行] を選択します。
    2. フォームのフィールドに入力します。
      表 : 3. 統合プロファイルフォーム
      フィールド 説明
      表示名 データ連携プロファイルの名前例: GitHub クラウド統合
      接続と資格情報 GitHub スポークの接続および資格情報エイリアス。

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

      ステータス 統合プロファイルのステータス。
      • 統合プロファイルを公開していない場合、このフィールドは自動的に [ドラフト] に設定されます。
      • 統合プロファイルを既に公開している場合、このフィールドは自動的に [公開済み] に設定されます。
      プロファイルタイプ 統合プロファイルのタイプ。

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

    3. [ サブスクリプションのサブフローのダウンロード] タブで、[ サブフロー ] フィールドが [GitHub クラウドダウンロードサブスクリプション] に設定されていることを確認します。
      ソフトウェア資産管理 は、メンバー、外部コラボレーター、保留中の招待、および保留中の外部コラボレーターをプルして、GitHub Enterprise Cloud サブスクリプションの完全なビューを提供します。
      重要:
      処理待ちの外部協力者をプルするには、 sn_sam_saas_int.pull_pending_collaborator_github システムプロパティを有効にします。リポジトリの数が多いと、API トランザクションの数が増加します。
    4. [ アクティビティサブフローの計算 (Calculate Activity Subflow )] タブで、[ サブフロー ] フィールドが [GitHub Cloud Update User Activity] に設定されていることを確認します。
      [ユーザーアクティビティの分析元 (Analyze user activity from)] フィールドで、ユーザーアクティビティを分析する日時を選択することもできます。デフォルトでは、現在の日付の 60 日前までのユーザーアクティビティを分析し、このプロファイルの作成以降に個々のユーザーが実行したイベントを表示できます。
      注:
      ソフトウェア資産管理 は、プロファイル作成日に関係なく、ユーザーアクティビティの分析を開始した時点からのイベントをプルします。
      この値は、ソフトウェア再利用ルールの [前回のアクティビティしきい値] フィールドで変更できます。詳細については、「ソフトウェア再利用ルールのレビュー」を参照してください。
      ヒント:
      このサブフローのパフォーマンスの問題を回避する最善の方法は、[ Analyze user activity from ] フィールドを現在の日付の最大 7 日前に設定することです。
    5. [ Reclaim Subscription Subflow ] タブで、[ Subflow ] フィールドが [GitHub Cloud Reclaim Subscription] に設定されていることを確認します。
    6. [保存] を選択します。
      ServiceNowインスタンスはドラフト統合プロファイルを作成します。統合プロファイルは、 GitHub クラウドダウンロードサブスクリプション、 GitHub クラウド更新ユーザーアクティビティ、および GitHub クラウド再利用サブスクリプションサブフローを使用して、 GitHub Enterprise クラウドアプリケーションからユーザーデータを取得します。
    7. フォームが再読み込みされたら、 公開 を選択します。
      [公開の確認] ダイアログボックスが開きます。
    8. ダイアログボックスで、 [ OK] を選択します。

    次のタスク

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

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

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