対話型マップについて
GeoJSON または TopoJSON 構文を使って お使いの GitHub Enterprise Server インスタンス ユーザーが対話型マップを作成できるようにすることができます。 対話型マップの作成について詳しくは、「ダイアグラムの作成」をご覧ください。
対話型マップを有効にするには、Azure Maps の認証情報を指定する必要があります。
Warning
GitHub Enterprise Server 3.11.1 以降では、API トークンを使用する Azure Maps での認証は終了になりました。 API トークンで認証するように既に構成されているインスタンスの最新リリースの GitHub Enterprise Server にアップグレードすると、対話型マップは無効になります。 Microsoft Entra ID (旧称 Azure AD) テナント上のアプリケーションのロールベースのアクセス制御 (RBAC) を使用して認証を再構成する必要があります。 詳細については、リリース ノートの「非推奨」セクションを参照してください。
前提条件
インスタンスで GitHub Enterprise Server 3.11.1 以降を実行している場合、次の前提条件が適用されます。
-
インスタンスの対話型マップを構成するには、Microsoft Entra ID のテナントへの管理アクセス権が必要です。 詳細については、会社の Microsoft リソースの管理者に問い合わせるか、Microsoft Learn の「クイックスタート: Microsoft Entra ID で新しいテナントを作成する」を参照してください。
-
Entra ID の自分のテナントのテナント ID を知っている必要があります。 詳細については、Microsoft Learn の「Azure portal でサブスクリプションとテナントの ID を取得する」を参照してください。
-
インスタンスが https://login.microsoftonline.com にアクセスできる必要があります。
インスタンスで GitHub Enterprise Server 3.11.0 を実行している場合は、代わりに Azure Maps の API トークンを指定する必要があります。
Warning
GitHub では、認証に Azure Maps API トークンを使用することはお勧めしません。 セキュリティを強化するには、GitHub Enterprise Server の最新のパッチ リリースにアップグレードし、Azure Maps 認証を再構成します。 アップグレード後は、認証を再構成するまで、インスタンスの対話型マップは無効になります。 詳細については、リリース ノートの「非推奨」セクションを参照してください。
Azure Maps の認証情報の生成
RBAC を使って Azure Maps の認証を構成するには、インスタンスで GitHub Enterprise Server 3.11.1 以降を実行する必要があります。
Azure Maps の認証情報を生成するには、Entra ID でテナントのアプリケーションを作成し、Azure Maps アカウントへのアプリケーション アクセスを提供し、ロールベースのアクセス制御 (RBAC) を構成する必要があります。
-
Entra ID テナントに新しいアプリケーションを登録します。 詳細については、Microsoft Learn の「クイックスタート: Microsoft ID プラットフォームにアプリケーションを登録する」を参照してください。
- サポートされているアカウントの種類を指定する際に、[この組織のディレクトリ内のアカウントのみ] を選択します。
-
クライアント シークレットの追加。 詳細については、Microsoft Learn の「クイックスタート: Microsoft ID プラットフォームにアプリケーションを登録する」を参照してください。
-
お使いの GitHub Enterprise Server インスタンス で認証を構成するときに参照できるセキュリティで保護された場所にシークレットの値を格納します。 ページを離れた後、Entra に値が表示されることはありません。
-
Azure Maps によるシークレットへのアクセスを構成します。
- Entra ID テナントで構成したアプリケーションの詳細を表示しているときに、左側のサイドバーで [API のアクセス許可] をクリックします。
- [アクセス許可の追加] をクリックします。
- [Azure Maps] をクリックします。
- [委任されたアクセス許可] を選択します。
- [アクセス許可の選択] で [
user_impersonation
] を選択します。 - [アクセス許可の追加] をクリックしてアクセス許可を保存します。
-
Azure Maps アカウントにサインインします。 アカウントがない場合は、 作成できます。 詳しくは、Azure Maps アカウントの Web サイトをご覧ください。
-
Azure Maps の RBAC を構成します。 詳細については、Microsoft Learn の「Azure Maps による認証」および「Azure portal を使用して Azure ロールを割り当てる」を参照してください。
- Entra ID テナントで、Access Control (IAM) から 「Azure Maps データ閲覧者」のロールを「ユーザー、グループ、またはサービス プリンシパル」に割り当て、これらの手順で前に作成したアプリケーションを選択し、フォームに入力する必要があります。
対話型マップの有効化
Entra ID テナントでアプリケーションを作成し、Azure Maps を使用するためのシークレットを生成したら、お使いの GitHub Enterprise Server インスタンス で対話型マップを構成できます。
-
GitHub Enterprise Server の管理アカウントから、任意のページの右上隅にある をクリックします。
-
[サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。
-
[ サイト管理者] サイドバーで [Management Console] をクリックします。
-
[設定] サイドバーで、[プライバシー] をクリックし、[プライバシー モード] をオフにします。
-
対話型マップを有効にするには、[GeoJSON レンダリングを有効にする] を選択します。
-
クロスサイト リクエスト フォージェリ (CSRF) を防ぐためのシークレットとして使用する 32 文字の文字列を生成します。 たとえば、管理シェルにアクセスし、お使いの GitHub Enterprise Server インスタンス の
openssl
を使用して文字列を生成できます。 詳しくは、「管理シェル (SSH) にアクセスする」をご覧ください。Shell openssl rand -hex 32
openssl rand -hex 32
次の手順で参照できる安全な場所に文字列を格納します。
-
入力します。
-
インスタンスで GitHub Enterprise Server 3.11.0 を実行している場合は、[Azure Maps API Token] にトークンを入力するか貼り付けます。 %}
-
インスタンスで GitHub Enterprise Server 3.11.1 以降を実行している場合は、見出しの下に次の情報を入力するか貼り付けます。
-
オプションでレンダリングされるマップのスタイルを変更するには、[ベースマップ ID] に使用するスタイルの ID を入力します。
-
見出しの下に、認証の詳細を入力するかペーストします。
Value 説明 詳細 Azure Maps クライアント ID Azure Maps アカウントのクライアント ID Microsoft Learn の Azure Maps での認証の管理 Azure アプリのクライアント ID Entra ID テナントで作成したアプリケーションのアプリケーション (クライアント) ID Microsoft Learn の リソースにアクセスできる Microsoft Entra アプリケーションとサービス プリンシパルを作成する Azure テナント ID Entra ID のテナントの ID 前提条件 Azure アプリのクライアント シークレット Entra ID テナントでアプリケーション用に生成したクライアント シークレット Azure Maps の認証情報の生成 CSRF シークレット CSRF 攻撃を防ぐための 32 文字の文字列 前のステップを参照してください。
-
-
-
[設定] サイドバーで [設定の保存] をクリックします。
Note
[Management Console] で設定を保存すると、システム サービスが再起動され、ユーザーにわかるダウンタイムが発生する可能性があります。
-
設定の実行が完了するのを待ってください。
対話型マップの無効化
-
GitHub Enterprise Server の管理アカウントから、任意のページの右上隅にある をクリックします。
-
[サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。
-
[ サイト管理者] サイドバーで [Management Console] をクリックします。
-
[設定] サイドバーで、[プライバシー] をクリックし、[プライバシー モード] をオフにします。
-
対話型マップを無効にするには、[GeoJSON レンダリングを有効にする] の選択を解除します。
-
[設定] サイドバーで [設定の保存] をクリックします。
Note
[Management Console] で設定を保存すると、システム サービスが再起動され、ユーザーにわかるダウンタイムが発生する可能性があります。
-
設定の実行が完了するのを待ってください。