Co-authored-by: Robert Sese <734194+rsese@users.noreply.github.com>
This commit is contained in:
docubot 2022-09-16 13:06:39 -05:00 коммит произвёл GitHub
Родитель d6ea35cc51
Коммит fb6156f69e
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
16 изменённых файлов: 691 добавлений и 520 удалений

Просмотреть файл

@ -36,7 +36,7 @@ During the runner deployment process, you can configure the _Max_ option, which
## Networking for {% data variables.actions.hosted_runner %}s
By default, {% data variables.actions.hosted_runner %}s receive a dynamic IP address that changes for each job run. Optionally, {% data variables.product.prodname_ghe_cloud %} customers can configure their {% data variables.actions.hosted_runner %}s to receive a static IP address from {% data variables.product.prodname_dotcom %}'s IP address pool. When enabled, instances of the {% data variables.actions.hosted_runner %} will receive an address from a range that is unique to the runner, allowing you to use this range to configure a firewall allowlist. You can use up to 10 static IP address ranges in total across all your {% data variables.actions.hosted_runner %}s.
By default, {% data variables.actions.hosted_runner %}s receive a dynamic IP address that changes for each job run. Optionally, {% data variables.product.prodname_ghe_cloud %} customers can configure their {% data variables.actions.hosted_runner %}s to receive a static IP address from {% data variables.product.prodname_dotcom %}'s IP address pool. When enabled, instances of the {% data variables.actions.hosted_runner %} will receive an address from a range that is unique to the runner, allowing you to use this range to configure a firewall allowlist. {% ifversion fpt %}You can use up to 10 static IP address ranges in total across all your {% data variables.actions.hosted_runner %}s{% endif %}{% ifversion ghec %}You can use up to 10 static IP address ranges for the {% data variables.actions.hosted_runner %}s created at the enterprise level. In addition, you can use up to 10 static IP address ranges for the {% data variables.actions.hosted_runner %}s created at the organization level, for each organization in your enterprise{% endif %}.
{% note %}

Просмотреть файл

@ -1,6 +1,6 @@
---
title: 新しい SSH キーを生成して ssh-agent に追加する
intro: 既存の SSH キーをチェックした後、新しい SSH キーを生成して認証に使用し、ssh-agent に追加できます。
title: Generating a new SSH key and adding it to the ssh-agent
intro: 'After you''ve checked for existing SSH keys, you can generate a new SSH key to use for authentication, then add it to the ssh-agent.'
redirect_from:
- /articles/adding-a-new-ssh-key-to-the-ssh-agent
- /articles/generating-a-new-ssh-key
@ -15,32 +15,34 @@ versions:
topics:
- SSH
shortTitle: Generate new SSH key
ms.openlocfilehash: 8714cb24a6ed46fda17f53295601748ebffdc255
ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d
ms.translationtype: HT
ms.contentlocale: ja-JP
ms.lasthandoff: 09/11/2022
ms.locfileid: '147409140'
---
## SSH キー パスフレーズについて
{% data reusables.ssh.about-ssh %}詳しくは、「[SSH について](/authentication/connecting-to-github-with-ssh/about-ssh)」を参照してください。
## About SSH key passphrases
SSH キーを生成するときに、パスフレーズを追加してキーをさらにセキュリティで保護できます。 キーを使用するときは、必ずパスフレーズを入力する必要があります。 キーにパスフレーズがあり、キーを使用するたびにパスフレーズを入力したくない場合は、SSH エージェントにキーを追加できます。 SSH エージェントでは SSH キーを管理し、パスフレーズを記憶します。
{% data reusables.ssh.about-ssh %} For more information, see "[About SSH](/authentication/connecting-to-github-with-ssh/about-ssh)."
SSH キーがまだない場合は、認証に使う新しい SSH キーを生成する必要があります。 SSH キーが既にあるかどうかがわからない場合は、既存のキーを確認できます。 詳しくは、「[既存の SSH キーの確認](/github/authenticating-to-github/checking-for-existing-ssh-keys)」をご覧ください。
When you generate an SSH key, you can add a passphrase to further secure the key. Whenever you use the key, you must enter the passphrase. If your key has a passphrase and you don't want to enter the passphrase every time you use the key, you can add your key to the SSH agent. The SSH agent manages your SSH keys and remembers your passphrase.
ハードウェア セキュリティ キーを使って {% data variables.product.product_name %} の認証を行う場合は、ハードウェア セキュリティ キー用に新しい SSH キーを生成する必要があります。 キー ペアで認証を行うときに、ハードウェア セキュリティ キーをコンピューターに接続する必要があります。 詳しくは、[OpenSSH 8.2 のリリース ノート](https://www.openssh.com/txt/release-8.2)をご覧ください。
If you don't already have an SSH key, you must generate a new SSH key to use for authentication. If you're unsure whether you already have an SSH key, you can check for existing keys. For more information, see "[Checking for existing SSH keys](/github/authenticating-to-github/checking-for-existing-ssh-keys)."
## 新しい SSH キーを生成する
If you want to use a hardware security key to authenticate to {% data variables.product.product_name %}, you must generate a new SSH key for your hardware security key. You must connect your hardware security key to your computer when you authenticate with the key pair. For more information, see the [OpenSSH 8.2 release notes](https://www.openssh.com/txt/release-8.2).
ローカル コンピューターで新しい SSH キーを生成できます。 キーを生成した後、{% ifversion fpt or ghec or ghes %}{% data variables.product.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %} 上のアカウントにキーを追加して、SSH 経由の Git 操作の認証を有効にすることができます。
## Generating a new SSH key
You can generate a new SSH key on your local machine. After you generate the key, you can add the key to your account on {% ifversion fpt or ghec or ghes %}{% data variables.product.product_location %}{% elsif ghae %}{% data variables.product.product_name %}{% endif %} to enable authentication for Git operations over SSH.
{% ifversion ghes %}
If you are a site administrator for {% data variables.product.product_location %}, you can use the same key to grant yourself administrative SSH access to the instance. For more information, see "[Accessing the administrative shell (SSH)](/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh)."
{% endif %}
{% data reusables.ssh.key-type-support %}
{% data reusables.command_line.open_the_multi_os_terminal %}
2. 以下のテキストを貼り付けます。メールアドレスは自分の {% data variables.product.product_name %} メールアドレスに置き換えてください。
{%- ifversion ghae %} <!-- GitHub AE is FIPS 140-2 compliant. FIPS does not yet permit keys that use the ed25519 algorithm. -->
2. Paste the text below, substituting in your {% data variables.product.product_name %} email address.
{%- ifversion ghae %}
<!-- GitHub AE is FIPS 140-2 compliant. FIPS does not yet permit keys that use the ed25519 algorithm. -->
```shell
$ ssh-keygen -t rsa -b 4096 -C "<em>your_email@example.com</em>"
```
@ -50,18 +52,19 @@ SSH キーがまだない場合は、認証に使う新しい SSH キーを生
```
{% note %}
**注:** Ed25519 アルゴリズムをサポートしていないレガシ システムを使っている場合は、以下を使います。
**Note:** If you are using a legacy system that doesn't support the Ed25519 algorithm, use:
```shell
$ ssh-keygen -t rsa -b 4096 -C "<em>your_email@example.com</em>"
```
{% endnote %} {%- endif %}
{% endnote %}
{%- endif %}
これにより、指定したメールアドレスをラベルとして使って新しい SSH キーが作成されます。
This creates a new SSH key, using the provided email as a label.
```shell
> Generating public/private <em>algorithm</em> key pair.
```
3. 「Enter a file in which to save the key」というメッセージが表示されたら、Enter キーを押します。 これにより、ファイルの既定の場所が受け入れられます。
3. When you're prompted to "Enter a file in which to save the key," press Enter. This accepts the default file location.
{% mac %}
@ -87,36 +90,36 @@ SSH キーがまだない場合は、認証に使う新しい SSH キーを生
{% endlinux %}
4. プロンプトが表示されたら、セキュアなパスフレーズを入力します。 詳しくは、「[SSH キーのパスフレーズを使う](/articles/working-with-ssh-key-passphrases)」をご覧ください。
4. At the prompt, type a secure passphrase. For more information, see ["Working with SSH key passphrases](/articles/working-with-ssh-key-passphrases)."
```shell
> Enter passphrase (empty for no passphrase): <em>[Type a passphrase]</em>
> Enter same passphrase again: <em>[Type passphrase again]</em>
```
## SSH キーを ssh-agent に追加する
## Adding your SSH key to the ssh-agent
ssh-agent に新しい SSH キーを追加してキーを管理する前に、既存の SSH キーを確認し、新しい SSH キーを生成しておく必要があります。 <span class="platform-mac">SSH キーをエージェントに追加するときは、macOS の既定の `ssh-add` コマンドを使うようにし、[macports](https://www.macports.org/)、[homebrew](http://brew.sh/)、またはその他の外部ソースによってインストールされるアプリケーションは使わないでください。</span>
Before adding a new SSH key to the ssh-agent to manage your keys, you should have checked for existing SSH keys and generated a new SSH key. <span class="platform-mac">When adding your SSH key to the agent, use the default macOS `ssh-add` command, and not an application installed by [macports](https://www.macports.org/), [homebrew](http://brew.sh/), or some other external source.</span>
{% mac %}
{% data reusables.command_line.start_ssh_agent %}
2. macOS Sierra 10.12.2 以降を使っている場合は、`~/.ssh/config` ファイルを修正して、キーが ssh-agent に自動的に読み込まれ、パスフレーズがキーチェーンに格納されるようにする必要があります。
2. If you're using macOS Sierra 10.12.2 or later, you will need to modify your `~/.ssh/config` file to automatically load keys into the ssh-agent and store passphrases in your keychain.
* まず、`~/.ssh/config` ファイルが既定の場所に存在するかどうかを調べます。
* First, check to see if your `~/.ssh/config` file exists in the default location.
```shell
$ open ~/.ssh/config
> The file /Users/<em>you</em>/.ssh/config does not exist.
```
* ファイルがない場合は、ファイルを作成します。
* If the file doesn't exist, create the file.
```shell
$ touch ~/.ssh/config
```
* `~/.ssh/config` ファイルを開き、以下の行が含まれるようにファイルを変更します。 SSH キーファイルの名前またはパスがサンプルコードと異なる場合は、現在の設定に一致するようにファイル名またはパスを変更してください。
* Open your `~/.ssh/config` file, then modify the file to contain the following lines. If your SSH key file has a different name or path than the example code, modify the filename or path to match your current setup.
```
Host *
@ -127,11 +130,11 @@ ssh-agent に新しい SSH キーを追加してキーを管理する前に、
{% note %}
**:**
**Notes:**
- キーにパスフレーズを追加しないようにする場合は、`UseKeychain` の行を省略する必要があります。
- If you chose not to add a passphrase to your key, you should omit the `UseKeychain` line.
- `Bad configuration option: usekeychain` エラーが発生した場合は、構成の `Host *` セクションに行をさらに追加します。
- If you see a `Bad configuration option: usekeychain` error, add an additional line to the configuration's' `Host *` section.
```
Host *
@ -139,21 +142,21 @@ ssh-agent に新しい SSH キーを追加してキーを管理する前に、
```
{% endnote %}
3. SSH 秘密鍵を ssh-agent に追加して、パスフレーズをキーチェーンに保存します。 {% data reusables.ssh.add-ssh-key-to-ssh-agent %}
3. Add your SSH private key to the ssh-agent and store your passphrase in the keychain. {% data reusables.ssh.add-ssh-key-to-ssh-agent %}
```shell
$ ssh-add -K ~/.ssh/id_{% ifversion ghae %}rsa{% else %}ed25519{% endif %}
```
{% note %}
**注:** `-K` オプションは、`ssh-add` の Apple の標準バージョンであり、ssh-agent に SSH キーを追加すると、パスフレーズがキーチェーンに自動的に格納されます。 パスフレーズをキーに追加しない場合は、`-K` オプションを指定せずにコマンドを実行します。
**Note:** The `-K` option is Apple's standard version of `ssh-add`, which stores the passphrase in your keychain for you when you add an SSH key to the ssh-agent. If you chose not to add a passphrase to your key, run the command without the `-K` option.
Apple の標準バージョンをインストールしていない場合は、エラーが発生する場合があります。 このエラーの解決について詳しくは、「[エラー: ssh-add: 無効なオプション -- K](/articles/error-ssh-add-illegal-option-k)」をご覧ください。
If you don't have Apple's standard version installed, you may receive an error. For more information on resolving this error, see "[Error: ssh-add: illegal option -- K](/articles/error-ssh-add-illegal-option-k)."
MacOS Monterey (12.0) では、フラグ `-K``-A` は非推奨になっており、それぞれフラグ `--apple-use-keychain``--apple-load-keychain` に置き換えられています。
In MacOS Monterey (12.0), the `-K` and `-A` flags are deprecated and have been replaced by the `--apple-use-keychain` and `--apple-load-keychain` flags, respectively.
{% endnote %}
4. {% data variables.product.product_name %} で自分のアカウントに SSH キーを追加します。 詳しくは、「[{% data variables.product.prodname_dotcom %} アカウントへの新しい SSH キーの追加](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)」をご覧ください。
4. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)."
{% endmac %}
@ -161,16 +164,17 @@ ssh-agent に新しい SSH キーを追加してキーを管理する前に、
{% data reusables.desktop.windows_git_bash %}
1. ssh-agent が実行されていることを確認します。 「[SSH キーのパスフレーズを使う](/articles/working-with-ssh-key-passphrases)」の ssh-agent の自動起動に関する手順を使うか、手動で開始できます。
1. Ensure the ssh-agent is running. You can use the "Auto-launching the ssh-agent" instructions in "[Working with SSH key passphrases](/articles/working-with-ssh-key-passphrases)", or start it manually:
```shell
# start the ssh-agent in the background
$ eval "$(ssh-agent -s)"
> Agent pid 59566
```
2. SSH プライベートキーを ssh-agent に追加します。 {% data reusables.ssh.add-ssh-key-to-ssh-agent %} {% data reusables.ssh.add-ssh-key-to-ssh-agent-commandline %}
2. Add your SSH private key to the ssh-agent. {% data reusables.ssh.add-ssh-key-to-ssh-agent %}
{% data reusables.ssh.add-ssh-key-to-ssh-agent-commandline %}
3. {% data variables.product.product_name %} で自分のアカウントに SSH キーを追加します。 詳しくは、「[{% data variables.product.prodname_dotcom %} アカウントへの新しい SSH キーの追加](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)」をご覧ください。
3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)."
{% endwindows %}
@ -178,33 +182,36 @@ ssh-agent に新しい SSH キーを追加してキーを管理する前に、
{% data reusables.command_line.start_ssh_agent %}
2. SSH プライベートキーを ssh-agent に追加します。 {% data reusables.ssh.add-ssh-key-to-ssh-agent %} {% data reusables.ssh.add-ssh-key-to-ssh-agent-commandline %}
2. Add your SSH private key to the ssh-agent. {% data reusables.ssh.add-ssh-key-to-ssh-agent %}
{% data reusables.ssh.add-ssh-key-to-ssh-agent-commandline %}
3. {% data variables.product.product_name %} で自分のアカウントに SSH キーを追加します。 詳しくは、「[{% data variables.product.prodname_dotcom %} アカウントへの新しい SSH キーの追加](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)」をご覧ください。
3. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)."
{% endlinux %}
## ハードウェア セキュリティ キー用の新しい SSH キーを生成する
## Generating a new SSH key for a hardware security key
macOS または Linux を使っている場合は、新しい SSH キーを生成する前に、SSH クライアントの更新または新しい SSH クライアントのインストールが必要になる場合があります。 詳しくは、「[エラー: 不明なキーの種類](/github/authenticating-to-github/error-unknown-key-type)」をご覧ください。
If you are using macOS or Linux, you may need to update your SSH client or install a new SSH client prior to generating a new SSH key. For more information, see "[Error: Unknown key type](/github/authenticating-to-github/error-unknown-key-type)."
1. ハードウェア セキュリティ キーをコンピューターに挿入します。
1. Insert your hardware security key into your computer.
{% data reusables.command_line.open_the_multi_os_terminal %}
3. 次のテキストを貼り付けて、{% data variables.product.product_name %} での自分のアカウントのメール アドレスに置き換えます。
3. Paste the text below, substituting in the email address for your account on {% data variables.product.product_name %}.
```shell
$ ssh-keygen -t {% ifversion ghae %}ecdsa{% else %}ed25519{% endif %}-sk -C "<em>your_email@example.com</em>"
```
{%- ifversion not ghae %} {% note %}
{%- ifversion not ghae %}
{% note %}
**注:** コマンドが失敗し、エラー `invalid format` または `feature not supported,` を受け取る場合は、Ed25519 アルゴリズムをサポートしていないハードウェア セキュリティ キーを使っている可能性があります。 代わりに、次のコマンドを入力します。
**Note:** If the command fails and you receive the error `invalid format` or `feature not supported,` you may be using a hardware security key that does not support the Ed25519 algorithm. Enter the following command instead.
```shell
$ ssh-keygen -t ecdsa-sk -C "your_email@example.com"
```
{% endnote %} {%- endif %}
4. メッセージが表示されたら、ハードウェア セキュリティ キーのボタンにタッチします。
5. "キーを保存するファイルを入力してください" というメッセージが表示されたら、Enter キーを押して既定のファイルの場所をそのまま使います。
{% endnote %}
{%- endif %}
4. When you are prompted, touch the button on your hardware security key.
5. When you are prompted to "Enter a file in which to save the key," press Enter to accept the default file location.
{% mac %}
@ -230,9 +237,9 @@ macOS または Linux を使っている場合は、新しい SSH キーを生
{% endlinux %}
6. パスフレーズの入力を求められたら、**Enter** キーを押します。
6. When you are prompted to type a passphrase, press **Enter**.
```shell
> Enter passphrase (empty for no passphrase): <em>[Type a passphrase]</em>
> Enter same passphrase again: <em>[Type passphrase again]</em>
```
7. {% data variables.product.prodname_dotcom %} で自分のアカウントに SSH キーを追加します。 詳しくは、「[{% data variables.product.prodname_dotcom %} アカウントへの新しい SSH キーの追加](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)」をご覧ください。
7. Add the SSH key to your account on {% data variables.product.prodname_dotcom %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)."

Просмотреть файл

@ -1,7 +1,7 @@
---
title: CodeQL によるコード スキャンについて
title: About code scanning with CodeQL
shortTitle: Code scanning with CodeQL
intro: '{% data variables.product.prodname_codeql %} を使うと、コード内の脆弱性とエラーを特定することができます。 結果は、{% data variables.product.prodname_dotcom %} 内で {% data variables.product.prodname_code_scanning %} アラートとして表示されます。'
intro: 'You can use {% data variables.product.prodname_codeql %} to identify vulnerabilities and errors in your code. The results are shown as {% data variables.product.prodname_code_scanning %} alerts in {% data variables.product.prodname_dotcom %}.'
product: '{% data reusables.gated-features.code-scanning %}'
redirect_from:
- /code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql
@ -15,58 +15,58 @@ topics:
- Advanced Security
- Code scanning
- CodeQL
ms.openlocfilehash: 41531627f73e7878cfa5667560b61cd4e21d20b7
ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5
ms.translationtype: HT
ms.contentlocale: ja-JP
ms.lasthandoff: 09/05/2022
ms.locfileid: '147052177'
---
{% data reusables.code-scanning.beta %} {% data reusables.code-scanning.enterprise-enable-code-scanning %}
## {% data variables.product.prodname_code_scanning %} と {% data variables.product.prodname_codeql %} について
{% data reusables.code-scanning.beta %}
{% data reusables.code-scanning.enterprise-enable-code-scanning %}
## About {% data variables.product.prodname_code_scanning %} with {% data variables.product.prodname_codeql %}
{% data reusables.code-scanning.about-codeql-analysis %}
{% data variables.product.prodname_code_scanning %} に対して {% data variables.product.prodname_codeql %} 分析を使用する方法には、主に 2 通りあります。
There are two main ways to use {% data variables.product.prodname_codeql %} analysis for {% data variables.product.prodname_code_scanning %}:
- {% data variables.product.prodname_codeql %} ワークフローをご利用のリポジトリに追加します。 これにより、[github/codeql-action](https://github.com/github/codeql-action/) を使用して、{% data variables.product.prodname_codeql_cli %} が実行されます。 詳細については、「[リポジトリの {% data variables.product.prodname_code_scanning %} の設定](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository#setting-up-code-scanning-using-actions)」を参照してください。
- 外部 CI システムで {% data variables.product.prodname_codeql %} CLI を直接実行し、その結果を {% data variables.product.prodname_dotcom %} にアップロードします。 詳細については、「[CI システムでの {% data variables.product.prodname_codeql %} コード スキャンについて](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system)」を参照してください。
- Add the {% data variables.product.prodname_codeql %} workflow to your repository. This uses the [github/codeql-action](https://github.com/github/codeql-action/) to run the {% data variables.product.prodname_codeql_cli %}. For more information, see "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository#setting-up-code-scanning-using-actions)."
- Run the {% data variables.product.prodname_codeql %} CLI directly in an external CI system and upload the results to {% data variables.product.prodname_dotcom %}. For more information, see "[About {% data variables.product.prodname_codeql %} code scanning in your CI system ](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/about-codeql-code-scanning-in-your-ci-system)."
{% ifversion ghes or ghae %}
{% note %} {% data variables.product.product_name %} {% ifversion ghes %}{{ allVersions[currentVersion].currentRelease }} の場合は、{% endif %}{% data variables.product.prodname_codeql %} アクションの既定で {% data variables.product.prodname_codeql_cli %} バージョン {% data variables.product.codeql_cli_ghes_recommended_version %} が使われます。 外部 CI システムで分析を実行する場合は、同じバージョンの {% data variables.product.prodname_codeql_cli %} を使うことをお勧めします。
{% note %}
On {% data variables.product.product_name %} {% ifversion ghes %}{{ allVersions[currentVersion].currentRelease }},{% endif %} the {% data variables.product.prodname_codeql %} action uses {% data variables.product.prodname_codeql_cli %} version {% data variables.product.codeql_cli_ghes_recommended_version %} by default. We recommend that you use the same version of the {% data variables.product.prodname_codeql_cli %} if you run analysis in an external CI system.
{% endnote %}
{% endif %}
## {% data variables.product.prodname_codeql %} について
## About {% data variables.product.prodname_codeql %}
{% data variables.product.prodname_codeql %} はコードをデータのように扱い、コードの潜在的な脆弱性を従来の静的分析よりも高い精度で見つけることができます。
{% data variables.product.prodname_codeql %} treats code like data, allowing you to find potential vulnerabilities in your code with greater confidence than traditional static analyzers.
1. ご利用のコードベースを表現する {% data variables.product.prodname_codeql %} データベースを生成します。
2. 次に、そのデータベースに対して {% data variables.product.prodname_codeql %} クエリを実行して、コードベース内の問題を特定します。
3. {% data variables.product.prodname_codeql %} を {% data variables.product.prodname_code_scanning %} で使用すると、クエリ結果は {% data variables.product.product_name %} に {% data variables.product.prodname_code_scanning %} アラートとして表示されます。
1. You generate a {% data variables.product.prodname_codeql %} database to represent your codebase.
2. Then you run {% data variables.product.prodname_codeql %} queries on that database to identify problems in the codebase.
3. The query results are shown as {% data variables.product.prodname_code_scanning %} alerts in {% data variables.product.product_name %} when you use {% data variables.product.prodname_codeql %} with {% data variables.product.prodname_code_scanning %}.
{% data variables.product.prodname_codeql %} ではコンパイルおよびインタープリタ言語の両方がサポートされていて、サポートされている言語で記述されたコードの脆弱性とエラーを見つけることができます。
{% data variables.product.prodname_codeql %} supports both compiled and interpreted languages, and can find vulnerabilities and errors in code that's written in the supported languages.
{% data reusables.code-scanning.codeql-languages-bullets %}
## {% data variables.product.prodname_codeql %} クエリについて
## About {% data variables.product.prodname_codeql %} queries
{% data variables.product.company_short %} 専門家、セキュリティ研究者、およびコミュニティの貢献者は、{% data variables.product.prodname_code_scanning %} に使用される既定の {% data variables.product.prodname_codeql %} クエリを作成して維持します。 クエリは、分析を改善し、誤検知の結果を減らすために定期的に更新されます。 クエリはオープン ソースであるため、[`github/codeql`](https://github.com/github/codeql) リポジトリ内のクエリを表示して投稿できます。 詳細については、{% data variables.product.prodname_codeql %} Web サイトの [{% data variables.product.prodname_codeql %}](https://codeql.github.com/) に関するページを参照してください。 自分で独自のクエリを記述することもできます。 詳細については、{% data variables.product.prodname_codeql %} ドキュメントにある [{% data variables.product.prodname_codeql %} クエリ](https://codeql.github.com/docs/writing-codeql-queries/about-codeql-queries/)に関するページを参照してください。
{% data variables.product.company_short %} experts, security researchers, and community contributors write and maintain the default {% data variables.product.prodname_codeql %} queries used for {% data variables.product.prodname_code_scanning %}. The queries are regularly updated to improve analysis and reduce any false positive results. The queries are open source, so you can view and contribute to the queries in the [`github/codeql`](https://github.com/github/codeql) repository. For more information, see [{% data variables.product.prodname_codeql %}](https://codeql.github.com/) on the {% data variables.product.prodname_codeql %} website. You can also write your own queries. For more information, see "[About {% data variables.product.prodname_codeql %} queries](https://codeql.github.com/docs/writing-codeql-queries/about-codeql-queries/)" in the {% data variables.product.prodname_codeql %} documentation.
コード スキャン分析の一環として、追加のクエリを実行できます。
You can run additional queries as part of your code scanning analysis.
{%- ifversion codeql-packs %}これらのクエリは、公開された {% data variables.product.prodname_codeql %} クエリ パック (ベータ) またはリポジトリ内の QL パックに属している必要があります。 {% data variables.product.prodname_codeql %} パック (ベータ) には、従来の QL パックと比較して次の利点があります。
{%- ifversion codeql-packs %}
These queries must belong to a published {% data variables.product.prodname_codeql %} query pack (beta) or a {% data variables.product.prodname_codeql %} pack in a repository. {% data variables.product.prodname_codeql %} packs (beta) provide the following benefits over traditional {% data variables.product.prodname_ql %} packs:
- {% data variables.product.prodname_codeql %} クエリ パック (ベータ) が {% data variables.product.company_short %} {% data variables.product.prodname_container_registry %} に公開されると、クエリとコンパイル キャッシュに必要なすべての推移的な依存関係がパッケージに含められます。 これにより、パフォーマンスが向上します。そして、パックまたは CLI の新しいバージョンにアップグレードするまでは、パックでクエリを実行するたびに確実に同じ結果が得られます。
- QL パックには推移的な依存関係は含まれていません。その結果、パック内のクエリを、標準ライブラリ (つまり、ご利用のクエリ内の `import LANGUAGE` ステートメントによって参照されるライブラリ)、またはクエリと同じ QL パック内のライブラリにのみ依存させることができます。
- When a {% data variables.product.prodname_codeql %} query pack (beta) is published to the {% data variables.product.company_short %} {% data variables.product.prodname_container_registry %}, all the transitive dependencies required by the queries and a compilation cache are included in the package. This improves performance and ensures that running the queries in the pack gives identical results every time until you upgrade to a new version of the pack or the CLI.
- {% data variables.product.prodname_ql %} packs do not include transitive dependencies, so queries in the pack can depend only on the standard libraries (that is, the libraries referenced by an `import LANGUAGE` statement in your query), or libraries in the same {% data variables.product.prodname_ql %} pack as the query.
- {% data variables.product.prodname_codeql %} query packs (beta) can be downloaded from multiple GitHub container registries. For more information, see "[Configuring {% data variables.product.prodname_code_scanning %}](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#downloading-codeql-packs-from-github-enterprise-server)."
詳細については、{% data variables.product.prodname_codeql %} ドキュメントにある「[{% data variables.product.prodname_codeql %} パックについて](https://codeql.github.com/docs/codeql-cli/about-codeql-packs/)」および「[{% data variables.product.prodname_ql %} パックについて](https://codeql.github.com/docs/codeql-cli/about-ql-packs/)」を参照してください。
For more information, see "[About {% data variables.product.prodname_codeql %} packs](https://codeql.github.com/docs/codeql-cli/about-codeql-packs/)" in the {% data variables.product.prodname_codeql %} documentation.
{% data reusables.code-scanning.beta-codeql-packs-cli %}
{%- else %} 実行するクエリは、リポジトリ内の QL パックに属している必要があります。 クエリは、標準ライブラリ (つまり、クエリ内のステートメント `import LANGUAGE` から参照されるライブラリ) またはクエリと同じ QL パック内のライブラリにのみ依存する必要があります。 詳細については、「[{% data variables.product.prodname_ql %} パックについて](https://codeql.github.com/docs/codeql-cli/about-ql-packs/)」を参照してください。
{%- else %}
The queries you want to run must belong to a {% data variables.product.prodname_ql %} pack in a repository. Queries must only depend on the standard libraries (that is, the libraries referenced by an `import LANGUAGE` statement in your query), or libraries in the same {% data variables.product.prodname_ql %} pack as the query.
{% endif %}

Просмотреть файл

@ -1,6 +1,6 @@
---
title: Code scanningを設定する
intro: '{% data variables.product.prodname_dotcom %} がプロジェクトのコードをスキャンして脆弱性やエラーを検出する方法を設定できます。'
title: Configuring code scanning
intro: 'You can configure how {% data variables.product.prodname_dotcom %} scans the code in your project for vulnerabilities and errors.'
product: '{% data reusables.gated-features.code-scanning %}'
permissions: 'People with write permissions to a repository can configure {% data variables.product.prodname_code_scanning %} for the repository.'
miniTocMaxHeadingLevel: 3
@ -23,82 +23,85 @@ topics:
- JavaScript
- Python
shortTitle: Configure code scanning
ms.openlocfilehash: 9786c51f2b29ffa22d4238fe6b47b241717c32f9
ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794
ms.translationtype: HT
ms.contentlocale: ja-JP
ms.lasthandoff: 09/09/2022
ms.locfileid: '147717862'
---
{% data reusables.code-scanning.beta %} {% data reusables.code-scanning.enterprise-enable-code-scanning-actions %}
{% ifversion ghes or ghae %} {% note %}
**メモ:** この記事では、このバージョンの {% data variables.product.product_name %} の初期リリースに含まれる CodeQL アクションのバージョンおよび関連する CodeQL CLI バンドルで使用できる機能について説明します。 企業でより新しいバージョンの CodeQL アクションを使用している場合は、最新の機能の詳細について [{% data variables.product.prodname_ghe_cloud %} の記事](/enterprise-cloud@latest/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning)を参照してください。 {% ifversion not ghae %}最新バージョンの使用については、「[Configuring code scanning for your appliance](/admin/advanced-security/configuring-code-scanning-for-your-appliance#configuring-codeql-analysis-on-a-server-without-internet-access)」(アプライアンスのコード スキャニングの構成) を参照してください。{% endif %}
{% data reusables.code-scanning.beta %}
{% data reusables.code-scanning.enterprise-enable-code-scanning-actions %}
{% endnote %} {% endif %}
{% ifversion ghes or ghae %}
{% note %}
## {% data variables.product.prodname_code_scanning %} の設定について
**Note:** This article describes the features available with the version of the CodeQL action and associated CodeQL CLI bundle included in the initial release of this version of {% data variables.product.product_name %}. If your enterprise uses a more recent version of the CodeQL action, see the [{% data variables.product.prodname_ghe_cloud %} article](/enterprise-cloud@latest/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning) for information on the latest features. {% ifversion not ghae %} For information on using the latest version, see "[Configuring code scanning for your appliance](/admin/advanced-security/configuring-code-scanning-for-your-appliance#configuring-codeql-analysis-on-a-server-without-internet-access)."{% endif %}
{% data variables.product.prodname_actions %}を使って、あるいは継続的インテグレーションCIシステムから、{% data variables.product.product_name %}上で{% data variables.product.prodname_code_scanning %}を実行できます。 詳細については、[{% data variables.product.prodname_actions %} に関する](/actions/getting-started-with-github-actions/about-github-actions)ページまたは「[CI システムの {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} について](/code-security/secure-coding/about-codeql-code-scanning-in-your-ci-system)」を参照してください。
{% endnote %}
{% endif %}
この記事は、Actionsを使って{% data variables.product.product_name %} 上で {% data variables.product.prodname_code_scanning %} を実行することについて説明しています。
## About {% data variables.product.prodname_code_scanning %} configuration
リポジトリに {% data variables.product.prodname_code_scanning %} を設定する前に、リポジトリに {% data variables.product.prodname_actions %} ワークフローを追加して {% data variables.product.prodname_code_scanning %} をセットアップする必要があります。 詳細については、「[リポジトリの {% data variables.product.prodname_code_scanning %} の設定](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)」を参照してください。
You can run {% data variables.product.prodname_code_scanning %} on {% data variables.product.product_name %}, using {% data variables.product.prodname_actions %}, or from your continuous integration (CI) system. For more information, see "[About {% data variables.product.prodname_actions %}](/actions/getting-started-with-github-actions/about-github-actions)" or "[About {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} in your CI system](/code-security/secure-coding/about-codeql-code-scanning-in-your-ci-system)."
This article is about running {% data variables.product.prodname_code_scanning %} on {% data variables.product.product_name %} using actions.
Before you can configure {% data variables.product.prodname_code_scanning %} for a repository, you must set up {% data variables.product.prodname_code_scanning %} by adding a {% data variables.product.prodname_actions %} workflow to the repository. For more information, see "[Setting up {% data variables.product.prodname_code_scanning %} for a repository](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)."
{% data reusables.code-scanning.edit-workflow %}
{% data variables.product.prodname_codeql %} 解析は、{% data variables.product.prodname_dotcom %} で実行できる {% data variables.product.prodname_code_scanning %} のほんの一例に過ぎません。 {% ifversion ghes %}{% data variables.product.prodname_dotcom_the_website %} 上の {% endif %}{% data variables.product.prodname_marketplace %} には、使用できる他の {% data variables.product.prodname_code_scanning %} ワークフローが含まれます。 {% ifversion fpt or ghec %}これらの選択肢は、 **{% octicon "shield" aria-label="The shield symbol" %} Security** タブからアクセスできる [{% data variables.product.prodname_code_scanning %} を開始する] ページにあります。{% endif %} この記事で示す例は、{% data variables.product.prodname_codeql_workflow %} ファイルに関連しています。
{% data variables.product.prodname_codeql %} analysis is just one type of {% data variables.product.prodname_code_scanning %} you can do in {% data variables.product.prodname_dotcom %}. {% data variables.product.prodname_marketplace %}{% ifversion ghes %} on {% data variables.product.prodname_dotcom_the_website %}{% endif %} contains other {% data variables.product.prodname_code_scanning %} workflows you can use. {% ifversion fpt or ghec %}You can find a selection of these on the "Get started with {% data variables.product.prodname_code_scanning %}" page, which you can access from the **{% octicon "shield" aria-label="The shield symbol" %} Security** tab.{% endif %} The specific examples given in this article relate to the {% data variables.product.prodname_codeql_workflow %} file.
## {% data variables.product.prodname_code_scanning %}ワークフローの編集
## Editing a {% data variables.product.prodname_code_scanning %} workflow
{% data variables.product.prodname_dotcom %} によって、リポジトリの _.github/workflows_ ディレクトリにワークフロー ファイルが保存されます。 追加したワークフローは、そのファイル名を検索して見つけることができます。 たとえば、既定では、{% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} のワークフロー ファイルは、_codeql-analysis.yml_ という名前です。
{% data variables.product.prodname_dotcom %} saves workflow files in the _.github/workflows_ directory of your repository. You can find a workflow you have added by searching for its file name. For example, by default, the workflow file for {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} is called _codeql-analysis.yml_.
1. リポジトリで、編集したいワークフローファイルにアクセスします。
1. ファイル ビューの右上隅の {% octicon "pencil" aria-label="The edit icon" %} をクリックして、ワークフロー エディターを開きます。
![ワークフロー ファイルの編集ボタン](/assets/images/help/repository/code-scanning-edit-workflow-button.png)
1. ファイルを編集したら、**[コミットの開始]** をクリックし、[変更のコミット] フォームに入力します。 現在のブランチに直接コミットするか、新しいブランチを作成して pull request を開始するかを選択できます。
![codeql.yml ワークフローの更新をコミットする](/assets/images/help/repository/code-scanning-workflow-update.png)
1. In your repository, browse to the workflow file you want to edit.
1. In the upper right corner of the file view, to open the workflow editor, click {% octicon "pencil" aria-label="The edit icon" %}.
![Edit workflow file button](/assets/images/help/repository/code-scanning-edit-workflow-button.png)
1. After you have edited the file, click **Start commit** and complete the "Commit changes" form. You can choose to commit directly to the current branch, or create a new branch and start a pull request.
![Commit update to codeql.yml workflow](/assets/images/help/repository/code-scanning-workflow-update.png)
ワークフロー ファイルの編集の詳細については、「[{% data variables.product.prodname_actions %} について学ぶ](/actions/learn-github-actions)」を参照してください。
For more information about editing workflow files, see "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)."
## 頻度を設定する
## Configuring frequency
スケジュール設定されているときや、リポジトリで特定のイベントが発生したときに、コードをスキャンするように {% data variables.product.prodname_codeql_workflow %} を設定できます。
You can configure the {% data variables.product.prodname_codeql_workflow %} to scan code on a schedule or when specific events occur in a repository.
リポジトリへのプッシュごと、およびプルリクエストが作成されるたびにコードをスキャンすることで、開発者がコードに新しい脆弱性やエラーをもたらすことを防ぎます。 スケジュールに従ってコードをスキャンすると、開発者がリポジトリを積極的に維持していない場合でも、{% data variables.product.company_short %}、セキュリティ研究者、コミュニティが発見した最新の脆弱性とエラーが通知されます。
Scanning code when someone pushes a change, and whenever a pull request is created, prevents developers from introducing new vulnerabilities and errors into the code. Scanning code on a schedule informs you about the latest vulnerabilities and errors that {% data variables.product.company_short %}, security researchers, and the community discover, even when developers aren't actively maintaining the repository.
### プッシュ時にスキャンする
### Scanning on push
既定では、{% data variables.product.prodname_codeql_workflow %} で、リポジトリの既定のブランチと保護されたブランチへのプッシュごとにコード スキャンをトリガーするのに `on.push` イベントが使用されます。 指定したブランチで {% data variables.product.prodname_code_scanning %} がトリガーされるようにするには、ワークフローがそのブランチに存在している必要があります。 詳細については、[{% data variables.product.prodname_actions %} のワークフロー構文](/actions/reference/workflow-syntax-for-github-actions#on)に関するページを参照してください。
By default, the {% data variables.product.prodname_codeql_workflow %} uses the `on.push` event to trigger a code scan on every push to the default branch of the repository and any protected branches. For {% data variables.product.prodname_code_scanning %} to be triggered on a specified branch, the workflow must exist in that branch. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#on)."
プッシュ時にスキャンすると、結果がリポジトリの **[セキュリティ]** タブに表示されます。 詳細については、「[リポジトリの code scanning アラートの管理](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)」を参照してください。
If you scan on push, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)."
{% ifversion fpt or ghes > 3.2 or ghae or ghec %} さらに、`on:push` スキャンから返される結果を、開いている pull request にマップできる場合、これらのアラートは、他の pull request アラートと同じ場所にある pull request に自動的に表示されます。 これらのアラートは、ブランチのヘッドの既存の分析とターゲット ブランチの分析を比較することで特定します。 pull request の {% data variables.product.prodname_code_scanning %} アラートの詳細については、「[pull request の {% data variables.product.prodname_code_scanning %} アラートのトリアージ](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)」を参照してください。
{% ifversion fpt or ghes > 3.2 or ghae or ghec %}
Additionally, when an `on:push` scan returns results that can be mapped to an open pull request, these alerts will automatically appear on the pull request in the same places as other pull request alerts. The alerts are identified by comparing the existing analysis of the head of the branch to the analysis for the target branch. For more information on {% data variables.product.prodname_code_scanning %} alerts in pull requests, see "[Triaging {% data variables.product.prodname_code_scanning %} alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)."
{% endif %}
### Pull Requestをスキャンする
### Scanning pull requests
既定の {% data variables.product.prodname_codeql_workflow %} では、既定のブランチに対する pull request のコード スキャンをトリガーするのに `pull_request` イベントが使用されます。 {% ifversion ghes %}`pull_request` イベントは、pull request がプライベート フォークから開かれた場合、トリガーされません。{% else %}pull request がプライベート フォークからのものである場合、`pull_request` イベントは、リポジトリの設定で [フォークの pull request からワークフローを実行] オプションを選択している場合にのみトリガーされます。 詳細については、「[リポジトリの {% data variables.product.prodname_actions %} 設定の管理](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-private-repository-forks)」を参照してください。{% endif %}
The default {% data variables.product.prodname_codeql_workflow %} uses the `pull_request` event to trigger a code scan on pull requests targeted against the default branch. {% ifversion ghes %}The `pull_request` event is not triggered if the pull request was opened from a private fork.{% else %}If a pull request is from a private fork, the `pull_request` event will only be triggered if you've selected the "Run workflows from fork pull requests" option in the repository settings. For more information, see "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-private-repository-forks)."{% endif %}
`pull_request` イベントの詳細については、「[ワークフローをトリガーするイベント](/actions/learn-github-actions/events-that-trigger-workflows#pull_request)」を参照してください。
For more information about the `pull_request` event, see "[Events that trigger workflows](/actions/learn-github-actions/events-that-trigger-workflows#pull_request)."
pull requests をスキャンすると、結果は pull request チェックのアラートとして表示されます。 詳細については、「[pull request での Code Scanning アラートのトリアージ](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)」を参照してください。
If you scan pull requests, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)."
{% ifversion fpt or ghes > 3.2 or ghae or ghec %} ヘッド コミットではなく pull request のマージ コミットをスキャンするように構成された `pull_request` トリガーを使用すると、各プッシュでブランチのヘッドをスキャンするより効率的で正確な結果が生成されます。 ただし、使用している CI/CD システムで、pull request でトリガーするように構成できない場合でも、`on:push` トリガーは引き続き使用できます。また、{% data variables.product.prodname_code_scanning %} により、結果がブランチの開いている pull request にマッピングされ、アラートが注釈としてその pull request に追加されます。 詳細については、「[プッシュ時のスキャン](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#scanning-on-push)」を参照してください。
{% ifversion fpt or ghes > 3.2 or ghae or ghec %}
Using the `pull_request` trigger, configured to scan the pull request's merge commit rather than the head commit, will produce more efficient and accurate results than scanning the head of the branch on each push. However, if you use a CI/CD system that cannot be configured to trigger on pull requests, you can still use the `on:push` trigger and {% data variables.product.prodname_code_scanning %} will map the results to open pull requests on the branch and add the alerts as annotations on the pull request. For more information, see "[Scanning on push](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#scanning-on-push)."
{% endif %}
### pull request チェック エラーの原因となる重大度を定義する
### Defining the severities causing pull request check failure
既定では、重大度レベルが `Error` または セキュリティの重大度レベルが `Critical``High` であるアラートの場合にのみ、pull request チェック エラーが発生し、重大度が低いアラートではチェックは成功します pull request チェック エラーを引き起こすアラートの重大度とセキュリティの重大度のレベルは、リポジトリの設定で変更できます。 重大度レベルの詳細については、[Code Scanning アラートについて](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts#about-alert-details)のページを参照してください。
By default, only alerts with the severity level of `Error` or security severity level of `Critical` or `High` will cause a pull request check failure, and a check will still succeed with alerts of lower severities. You can change the levels of alert severities and of security severities that will cause a pull request check failure in your repository settings. For more information about severity levels, see "[About code scanning alerts](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts#about-alert-details)."
{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-settings %} {% data reusables.repositories.navigate-to-code-security-and-analysis %}
1. "Code scanning"の下で、"Check Failureチェックの失敗"の右のドロップダウンメニューを使い、Pull Requestのチェックの失敗を引き起こさせたい重要度のレベルを選択してください。
![チェック失敗の設定](/assets/images/help/repository/code-scanning-check-failure-setting.png)
{% data reusables.repositories.navigate-to-repo %}
{% data reusables.repositories.sidebar-settings %}
{% data reusables.repositories.navigate-to-code-security-and-analysis %}
1. Under "Code scanning", to the right of "Check Failure", use the drop-down menu to select the level of severity you would like to cause a pull request check failure.
![Check failure setting](/assets/images/help/repository/code-scanning-check-failure-setting.png)
### Pull Requestの不要なスキャンを回避する
### Avoiding unnecessary scans of pull requests
変更されたファイルに関係なく、既定のブランチを対象とする特定の pull request でコード スキャンがトリガーされないようにしたい場合があります。 これを構成するには、{% data variables.product.prodname_code_scanning %} ワークフローで `on:pull_request:paths-ignore` または `on:pull_request:paths` を指定します。 たとえば、pull request 内の変更がファイル拡張子 `.md` または `.txt` のファイルに対するものだけである場合、次の `paths-ignore` 配列を使用できます。
You might want to avoid a code scan being triggered on specific pull requests targeted against the default branch, irrespective of which files have been changed. You can configure this by specifying `on:pull_request:paths-ignore` or `on:pull_request:paths` in the {% data variables.product.prodname_code_scanning %} workflow. For example, if the only changes in a pull request are to files with the file extensions `.md` or `.txt` you can use the following `paths-ignore` array.
``` yaml
on:
@ -113,28 +116,28 @@ on:
{% note %}
**メモ**
**Notes**
* `on:pull_request:paths-ignore` `on:pull_request:paths` で、ワークフロー内のアクションが pull request で実行されるかどうかを決定する条件を設定します。 アクションが実行 _される_ ときにどのファイルが解析されるかは決定されません。 pull request に `on:pull_request:paths-ignore` または `on:pull_request:paths` で一致しないファイルが含まれている場合、ワークフローによって、アクションが実行され、そのファイルが除外されていない限り、`on:pull_request:paths-ignore` または `on:pull_request:paths` で一致するファイルを含め、pull request で変更されたすべてのファイルがスキャンされます。 分析からファイルを除外する方法については、「[スキャンするディレクトリを指定する](#specifying-directories-to-scan)」を参照してください。
* {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} ワークフロー ファイルの場合、`on:push` イベントで `paths-ignore` または `paths` キーワードを使用しないでください。解析に漏れが生じるおそれがあります。 正確な結果を得るには、{% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} が新しい変更を前回のコミットの解析と比較できる必要があります。
* `on:pull_request:paths-ignore` and `on:pull_request:paths` set conditions that determine whether the actions in the workflow will run on a pull request. They don't determine what files will be analyzed when the actions _are_ run. When a pull request contains any files that are not matched by `on:pull_request:paths-ignore` or `on:pull_request:paths`, the workflow runs the actions and scans all of the files changed in the pull request, including those matched by `on:pull_request:paths-ignore` or `on:pull_request:paths`, unless the files have been excluded. For information on how to exclude files from analysis, see "[Specifying directories to scan](#specifying-directories-to-scan)."
* For {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} workflow files, don't use the `paths-ignore` or `paths` keywords with the `on:push` event as this is likely to cause missing analyses. For accurate results, {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} needs to be able to compare new changes with the analysis of the previous commit.
{% endnote %}
`on:pull_request:paths-ignore``on:pull_request:paths` を使用して pull request に対してワークフローをいつ実行するかを決定する方法については、「[{% data variables.product.prodname_actions %} のワークフロー構文](/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore)」を参照してください。
For more information about using `on:pull_request:paths-ignore` and `on:pull_request:paths` to determine when a workflow will run for a pull request, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore)."
### スケジュールに従ってスキャンする
### Scanning on a schedule
デフォルトの{% data variables.product.prodname_codeql_workflow %}を使用すると、このワークフローはイベントによってトリガーされるスキャンに加えて、リポジトリ内のコードを週に1回スキャンします。 このスケジュールを調整するには、ワークフローの `cron` 値を編集します。 詳細については、[{% data variables.product.prodname_actions %} のワークフロー構文](/actions/reference/workflow-syntax-for-github-actions#onschedule)に関するページを参照してください。
If you use the default {% data variables.product.prodname_codeql_workflow %}, the workflow will scan the code in your repository once a week, in addition to the scans triggered by events. To adjust this schedule, edit the `cron` value in the workflow. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#onschedule)."
{% note %}
**メモ**: {% data variables.product.prodname_dotcom %} では、既定のブランチのワークフロー内にあるスケジュール設定されたジョブのみが実行されます。 他のブランチのワークフローでスケジュールを変更しても、ブランチをデフォルトブランチにマージするまで影響はありません。
**Note**: {% data variables.product.prodname_dotcom %} only runs scheduled jobs that are in workflows on the default branch. Changing the schedule in a workflow on any other branch has no effect until you merge the branch into the default branch.
{% endnote %}
###
### Example
次の例は、既定のブランチの名前が `main` で、`protected` という名前の保護されたブランチがある特定のリポジトリの {% data variables.product.prodname_codeql_workflow %} を示しています。
The following example shows a {% data variables.product.prodname_codeql_workflow %} for a particular repository that has a default branch called `main` and one protected branch called `protected`.
``` yaml
on:
@ -146,14 +149,14 @@ on:
- cron: '20 14 * * 1'
```
このワークフローでは以下をスキャンします。
* 既定のブランチと保護されたブランチへのすべてのプッシュ
* 既定のブランチへのすべての pull request
* 毎週月曜日 14 時 20 分 (UTC) に既定のブランチ
This workflow scans:
* Every push to the default branch and the protected branch
* Every pull request to the default branch
* The default branch every Monday at 14:20 UTC
## オペレーティングシステムを指定する
## Specifying an operating system
コードのコンパイルに特定のオペレーティングシステムが必要な場合は、そのオペレーティングシステムを {% data variables.product.prodname_codeql_workflow %} で設定できます。 `jobs.analyze.runs-on` の値を編集して、{% data variables.product.prodname_code_scanning %} アクションを実行するコンピューターのオペレーティング システムを指定します。 {% ifversion ghes %}2 つの要素からなる配列の 2 番目の要素として、`self-hosted` の後に、適切なラベルを使用して、オペレーティング システムを指定します。{% else %}
If your code requires a specific operating system to compile, you can configure the operating system in your {% data variables.product.prodname_codeql_workflow %}. Edit the value of `jobs.analyze.runs-on` to specify the operating system for the machine that runs your {% data variables.product.prodname_code_scanning %} actions. {% ifversion ghes %}You specify the operating system by using an appropriate label as the second element in a two-element array, after `self-hosted`.{% else %}
``` yaml
jobs:
@ -162,7 +165,7 @@ jobs:
runs-on: [ubuntu-latest]
```
Code Scanning にセルフホスト ランナーを使うことにした場合は、2 つの要素からなる配列の 2 番目の要素として、`self-hosted` の後に、適切なラベルを使用して、オペレーティング システムを指定できます。{% endif %}
If you choose to use a self-hosted runner for code scanning, you can specify an operating system by using an appropriate label as the second element in a two-element array, after `self-hosted`.{% endif %}
``` yaml
jobs:
@ -171,15 +174,15 @@ jobs:
runs-on: [self-hosted, ubuntu-latest]
```
{% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} は、Ubuntu、Windows、および macOS の最新バージョンをサポートしています。 したがって、この設定の一般的な値は、`ubuntu-latest`、`windows-latest`、`macos-latest` です。 詳細については、「[ジョブのランナーを選択する](/actions/using-jobs/choosing-the-runner-for-a-job)」および「[セルフホスト ランナーとのラベルの利用](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners)」を参照してください。
{% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} supports the latest versions of Ubuntu, Windows, and macOS. Typical values for this setting are therefore: `ubuntu-latest`, `windows-latest`, and `macos-latest`. For more information, see "[Choosing the runner for a job](/actions/using-jobs/choosing-the-runner-for-a-job)" and "[Using labels with self-hosted runners](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners)."
{% ifversion ghes %}Git がセルフホスト ランナーの PATH 変数にあることを確認する必要があります。{% else %}セルフホスト ランナーを使用する場合は、Git が PATH 変数内にあることを確認する必要があります。{% endif %}詳細については、「[セルフホスト ランナーについて](/actions/hosting-your-own-runners/about-self-hosted-runners)」および「[セルフホスト ランナーの追加](/actions/hosting-your-own-runners/adding-self-hosted-runners)」を参照してください。
{% ifversion ghes %}You must ensure that Git is in the PATH variable on your self-hosted runners.{% else %}If you use a self-hosted runner, you must ensure that Git is in the PATH variable.{% endif %} For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)" and "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)."
{% ifversion not ghes %}セルフホスト コンピューターで{% endif %}{% data variables.product.prodname_codeql %} 解析を実行するための推奨仕様 (RAM、CPU コア、ディスク) については、「[{% data variables.product.prodname_codeql %} を実行するための推奨ハードウェア リソース](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/recommended-hardware-resources-for-running-codeql)」を参照してください。
For recommended specifications (RAM, CPU cores, and disk) for running {% data variables.product.prodname_codeql %} analysis{% ifversion not ghes %} on self-hosted machines{% endif %}, see "[Recommended hardware resources for running {% data variables.product.prodname_codeql %}](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/recommended-hardware-resources-for-running-codeql)."
## {% data variables.product.prodname_codeql %}データベースの場所の指定
## Specifying the location for {% data variables.product.prodname_codeql %} databases
一般に、{% data variables.product.prodname_codeql_workflow %}が{% data variables.product.prodname_codeql %}データベースを置く場所について気にする必要はありません。これは、以前のステップで作成されたデータベースを後のステップは自動的に見つけるからです。 ただし、カスタムのワークフロー ステップを記述していて、{% data variables.product.prodname_codeql %} データベースをワークフロー成果物としてアップロードするなど、そのデータベースが特定のディスクの場所にあることが必要な場合は、`init` アクションの `db-location` パラメーターを使ってその場所を指定できます。
In general, you do not need to worry about where the {% data variables.product.prodname_codeql_workflow %} places {% data variables.product.prodname_codeql %} databases since later steps will automatically find databases created by previous steps. However, if you are writing a custom workflow step that requires the {% data variables.product.prodname_codeql %} database to be in a specific disk location, for example to upload the database as a workflow artifact, you can specify that location using the `db-location` parameter under the `init` action.
``` yaml
- uses: {% data reusables.actions.action-codeql-action-init %}
@ -187,21 +190,21 @@ jobs:
db-location: {% raw %}'${{ github.workspace }}/codeql_dbs'{% endraw %}
```
{% data variables.product.prodname_codeql_workflow %} では、`db-location` に指定されるパスが書き込み可能であり、存在しないか空のディレクトリであると想定されています。 セルフホストランナー上で動作するか、Dockerコンテナを使うジョブでこのパラメータを使う場合、選択されたディレクトリが実行間でクリアされること、あるいは不要になったらデータベースが削除されることを保証するのはユーザの責任です。 {% ifversion fpt or ghec or ghes %} これは、実行のたびに新しいインスタンスとクリーンなファイルシステムが取得される {% data variables.product.prodname_dotcom %} ホスト ランナー上で動作するジョブには必要ありません。 詳細については、「[{% data variables.product.prodname_dotcom %} ホスト ランナーの概要](/actions/using-github-hosted-runners/about-github-hosted-runners)」を参照してください。{% endif %}
The {% data variables.product.prodname_codeql_workflow %} will expect the path provided in `db-location` to be writable, and either not exist, or be an empty directory. When using this parameter in a job running on a self-hosted runner or using a Docker container, it's the responsibility of the user to ensure that the chosen directory is cleared between runs, or that the databases are removed once they are no longer needed. {% ifversion fpt or ghec or ghes %} This is not necessary for jobs running on {% data variables.product.prodname_dotcom %}-hosted runners, which obtain a fresh instance and a clean filesystem each time they run. For more information, see "[About {% data variables.product.prodname_dotcom %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners)."{% endif %}
このパラメータが使われなければ、{% data variables.product.prodname_codeql_workflow %}はデータベースを自分が選択した一時的な場所に作成します。
If this parameter is not used, the {% data variables.product.prodname_codeql_workflow %} will create databases in a temporary location of its own choice.
## 解析される言語を変更する
## Changing the languages that are analyzed
{% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %}は、自動的にサポートする言語で書かれたコードを検出します。
{% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} automatically detects code written in the supported languages.
{% data reusables.code-scanning.codeql-languages-bullets %}
既定の {% data variables.product.prodname_codeql_workflow %} ファイルには、`language` という名前のマトリックスが含まれ、リポジトリ内の分析対象の言語がリストされています。 {% data variables.product.prodname_codeql %}は、{% data variables.product.prodname_code_scanning %}がリポジトリに追加されたときにこのマトリクスを自動的に作成します。 `language` マトリックスを使用すると、{% data variables.product.prodname_codeql %} で各解析が並行して実行されるように最適化されます。 ビルドを並列化するとパフォーマンスが向上するため、すべてのワークフローでこの構成を採用することをお勧めします。 マトリックスの詳しい情報については、「[ジョブにマトリックスを使用する](/actions/using-jobs/using-a-matrix-for-your-jobs)」を参照してください。
The default {% data variables.product.prodname_codeql_workflow %} file contains a matrix called `language` which lists the languages in your repository that are analyzed. {% data variables.product.prodname_codeql %} automatically populates this matrix when you add {% data variables.product.prodname_code_scanning %} to a repository. Using the `language` matrix optimizes {% data variables.product.prodname_codeql %} to run each analysis in parallel. We recommend that all workflows adopt this configuration due to the performance benefits of parallelizing builds. For more information about matrices, see "[Using a matrix for your jobs](/actions/using-jobs/using-a-matrix-for-your-jobs)."
{% data reusables.code-scanning.specify-language-to-analyze %}
ワークフローで `language` マトリックスを使用する場合、{% data variables.product.prodname_codeql %} はマトリックス内の言語だけを分析するようにハードコードされています。 分析する言語を変更するには、マトリックス変数の値を編集します。 解析されないように言語を削除したり、{% data variables.product.prodname_code_scanning %}をセットアップしたときにはリポジトリ中になかった言語を追加したりできます。 たとえば、{% data variables.product.prodname_code_scanning %} が設定されたとき、リポジトリには当初 JavaScript しか入っておらず、後で Python のコードを追加した場合は、マトリックスに `python` を追加する必要があります。
If your workflow uses the `language` matrix then {% data variables.product.prodname_codeql %} is hardcoded to analyze only the languages in the matrix. To change the languages you want to analyze, edit the value of the matrix variable. You can remove a language to prevent it being analyzed or you can add a language that was not present in the repository when {% data variables.product.prodname_code_scanning %} was set up. For example, if the repository initially only contained JavaScript when {% data variables.product.prodname_code_scanning %} was set up, and you later added Python code, you will need to add `python` to the matrix.
```yaml
jobs:
@ -214,7 +217,7 @@ jobs:
language: ['javascript', 'python']
```
ワークフローに `language` という名前のマトリックスが含まれていない場合は、{% data variables.product.prodname_codeql %} は解析を順次実行するように設定されます。 ワークフロー中で言語を指定していない場合、{% data variables.product.prodname_codeql %}はリポジトリ中のサポートされている言語を検出し、分析しようとします。 マトリックスは使用せず、分析する言語を選択する場合は、`init` アクションの下の `languages` パラメーターを使用できます。
If your workflow does not contain a matrix called `language`, then {% data variables.product.prodname_codeql %} is configured to run analysis sequentially. If you don't specify languages in the workflow, {% data variables.product.prodname_codeql %} automatically detects, and attempts to analyze, any supported languages in the repository. If you want to choose which languages to analyze, without using a matrix, you can use the `languages` parameter under the `init` action.
```yaml
- uses: {% data reusables.actions.action-codeql-action-init %}
@ -222,15 +225,15 @@ jobs:
languages: cpp, csharp, python
```
{% ifversion fpt or ghec %}
## 追加のクエリを実行する
## Analyzing Python dependencies
Linuxだけを使うGitHubがホストしているランナーでは、{% data variables.product.prodname_codeql_workflow %}はCodeQLの分析にさらなる結果を加えるためにPythonの依存関係を自動的にインストールしようとします。 この動作は、"Initialize CodeQL" ステップで呼び出されるアクションに `setup-python-dependencies` パラメーターを指定することで制御できます。 既定では、このパラメーターは `true` に設定されます。
For GitHub-hosted runners that use Linux only, the {% data variables.product.prodname_codeql_workflow %} will try to auto-install Python dependencies to give more results for the CodeQL analysis. You can control this behavior by specifying the `setup-python-dependencies` parameter for the action called by the "Initialize CodeQL" step. By default, this parameter is set to `true`:
- リポジトリがPythonで書かれたコードを含むなら、"Initialize CodeQL"ステップは必要な依存関係をGitHubがホストするランナーにインストールします。 また、自動インストールが成功すると、このアクションによって、環境変数 `CODEQL_PYTHON` が、依存関係が含まれる Python 実行可能ファイルに設定されます。
- If the repository contains code written in Python, the "Initialize CodeQL" step installs the necessary dependencies on the GitHub-hosted runner. If the auto-install succeeds, the action also sets the environment variable `CODEQL_PYTHON` to the Python executable file that includes the dependencies.
- リポジトリがPythonの依存関係を持たない場合、あるいは依存関係が予想外の方法で指定されている場合、警告が示されてアクションは残りのジョブを継続します。 依存関係の解釈に問題があってもアクションの実行は成功することがありますが、結果は不完全かも知れません。
- If the repository doesn't have any Python dependencies, or the dependencies are specified in an unexpected way, you'll get a warning and the action will continue with the remaining jobs. The action can run successfully even when there are problems interpreting dependencies, but the results may be incomplete.
あるいは、任意のオペレーティングシステムにおいて手動でPythonの依存関係をインストールできます。 このワークフローの抜粋に示されるように、`setup-python-dependencies` を追加して `false` に設定し、さらに `CODEQL_PYTHON` を、依存関係が含まれる Python 実行可能ファイルに設定する必要があります。
Alternatively, you can install Python dependencies manually on any operating system. You will need to add `setup-python-dependencies` and set it to `false`, as well as set `CODEQL_PYTHON` to the Python executable that includes the dependencies, as shown in this workflow extract:
```yaml
jobs:
@ -266,11 +269,11 @@ jobs:
```
{% endif %}
## 分析のカテゴリの設定
## Configuring a category for the analysis
`category` を使用して、同じツールとコミットに対して、異なる言語またはコードの異なる部分に対して実行される複数の解析を区別します。 ワークフロー中で指定したカテゴリは、SARIF結果ファイルに含まれます。
Use `category` to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. The category you specify in your workflow will be included in the SARIF results file.
このパラメータは、特に単一リポジトリで作業をしていて、単一リポジトリの様々なコンポーネントに対して複数のSARIFファイルがある場合に有益です。
This parameter is particularly useful if you work with monorepos and have multiple SARIF files for different components of the monorepo.
``` yaml
- name: Perform CodeQL Analysis
@ -282,36 +285,36 @@ jobs:
category: "my_category"
```
ワークフローで `category` パラメーターを指定しない場合、{% data variables.product.product_name %} によって、アクションをトリガーするワークフロー ファイルの名前、アクション名、任意のマトリックス変数に基づいて、カテゴリ名が生成されます。 たとえば次のような点です。
- `.github/workflows/codeql-analysis.yml`ワークフローと `analyze` アクションによって、カテゴリ `.github/workflows/codeql.yml:analyze` が生成されます。
- `.github/workflows/codeql-analysis.yml` ワークフロー、`analyze` アクション、`{language: javascript, os: linux}` マトリックス変数によって、カテゴリ `.github/workflows/codeql-analysis.yml:analyze/language:javascript/os:linux` が生成されます。
If you don't specify a `category` parameter in your workflow, {% data variables.product.product_name %} will generate a category name for you, based on the name of the workflow file triggering the action, the action name, and any matrix variables. For example:
- The `.github/workflows/codeql-analysis.yml` workflow and the `analyze` action will produce the category `.github/workflows/codeql.yml:analyze`.
- The `.github/workflows/codeql-analysis.yml` workflow, the `analyze` action, and the `{language: javascript, os: linux}` matrix variables will produce the category `.github/workflows/codeql-analysis.yml:analyze/language:javascript/os:linux`.
`category` 値は、SARIF v2.1.0 の `<run>.automationDetails.id` プロパティとして表示されます。 詳細については、「[{% data variables.product.prodname_code_scanning %} の SARIF サポート](/code-security/secure-coding/sarif-support-for-code-scanning#runautomationdetails-object)」を参照してください。
The `category` value will appear as the `<run>.automationDetails.id` property in SARIF v2.1.0. For more information, see "[SARIF support for {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/sarif-support-for-code-scanning#runautomationdetails-object)."
指定したカテゴリは、SARIF ファイルに `runAutomationDetails` オブジェクトの詳細が含まれている場合、上書きされることはありません。
Your specified category will not overwrite the details of the `runAutomationDetails` object in the SARIF file, if included.
## 追加のクエリを実行する
## Running additional queries
{% data reusables.code-scanning.run-additional-queries %}
{% ifversion codeql-packs %}
### {% data variables.product.prodname_codeql %} クエリ パックを使用する
### Using {% data variables.product.prodname_codeql %} query packs
{% data reusables.code-scanning.beta-codeql-packs-cli %}
1 つ以上の {% data variables.product.prodname_codeql %} クエリ パック (ベータ版) を追加するには、ワークフローの `uses: {% data reusables.actions.action-codeql-action-init %}` セクション内に `with: packs:` エントリを追加します。 `packs` 内で、使用するパッケージを 1 つ以上指定し、必要に応じて、ダウンロードするバージョンを指定します。 バージョンを指定しない場合は、最新バージョンがダウンロードされます。 公開されていないパッケージを使用する場合は、`GITHUB_TOKEN` 環境変数を、パッケージにアクセスできるシークレットに設定する必要があります。 詳細については、[ワークフローでの認証](/actions/reference/authentication-in-a-workflow)に関するページと「[暗号化されたシークレット](/actions/reference/encrypted-secrets)」を参照してください。
To add one or more {% data variables.product.prodname_codeql %} query packs (beta), add a `with: packs:` entry within the `uses: {% data reusables.actions.action-codeql-action-init %}` section of the workflow. Within `packs` you specify one or more packages to use and, optionally, which version to download. Where you don't specify a version, the latest version is downloaded. If you want to use packages that are not publicly available, you need to set the `GITHUB_TOKEN` environment variable to a secret that has access to the packages. For more information, see "[Authentication in a workflow](/actions/reference/authentication-in-a-workflow)" and "[Encrypted secrets](/actions/reference/encrypted-secrets)."
{% note %}
**メモ:** 複数の言語の {% data variables.product.prodname_codeql %} データベースを生成するワークフローでは、構成ファイルで {% data variables.product.prodname_codeql %} クエリ パックを代わりに指定する必要があります。 詳細については、以下の「[{% data variables.product.prodname_codeql %} クエリ パックの指定](#specifying-codeql-query-packs)」を参照してください。
**Note:** For workflows that generate {% data variables.product.prodname_codeql %} databases for multiple languages, you must instead specify the {% data variables.product.prodname_codeql %} query packs in a configuration file. For more information, see "[Specifying {% data variables.product.prodname_codeql %} query packs](#specifying-codeql-query-packs)" below.
{% endnote %}
次の例では、`scope` は、パッケージを公開した Organaization または個人アカウントです。 ワークフローを実行すると、4 つの {% data variables.product.prodname_codeql %} クエリ パックが {% data variables.product.product_name %} からダウンロードされ、各パックの既定のクエリまたはクエリ スイートが実行されます。
- 最新バージョンの `pack1` がダウンロードされ、すべての既定のクエリが実行されます。
- バージョン 1.2.3 の `pack2` がダウンロードされ、すべての既定のクエリが実行されます。
- バージョン 3.2.1 と互換性のある最新バージョンの `pack3` がダウンロードされ、すべてのクエリが実行されます。
- バージョン 4.5.6 の `pack4` がダウンロードされ、`path/to/queries` 内で見つかったクエリのみが実行されます。
In the example below, `scope` is the organization or personal account that published the package. When the workflow runs, the four {% data variables.product.prodname_codeql %} query packs are downloaded from {% data variables.product.product_name %} and the default queries or query suite for each pack run:
- The latest version of `pack1` is downloaded and all default queries are run.
- Version 1.2.3 of `pack2` is downloaded and all default queries are run.
- The latest version of `pack3` that is compatible with version 3.2.1 is downloaded and all queries are run.
- Version 4.5.6 of `pack4` is downloaded and only the queries found in `path/to/queries` are run.
``` yaml
- uses: {% data reusables.actions.action-codeql-action-init %}
@ -320,8 +323,41 @@ jobs:
packs: scope/pack1,scope/pack2@1.2.3,scope/pack3@~3.2.1,scope/pack4@4.5.6:path/to/queries
```
### QL パックでクエリを使用する
{% endif %} 1 つ以上のクエリを追加するには、ワークフローの `uses: {% data reusables.actions.action-codeql-action-init %}` セクション内に `with: queries:` エントリを追加します。 クエリがプライベート リポジトリ内にある場合は、`external-repository-token` パラメーターを使用して、プライベート リポジトリをチェックアウトするためのアクセス権を持つトークンを指定します。
### Downloading {% data variables.product.prodname_codeql %} packs from {% data variables.product.prodname_ghe_server %}
If your workflow uses packs that are published on a {% data variables.product.prodname_ghe_server %} installation, you need to tell your workflow where to find them. You can do this by using the `registries` input of the {% data reusables.actions.action-codeql-action-init %} action. This input accepts a list of `url`, `packages`, and `token` properties as shown below.
```
- uses: {% data reusables.actions.action-codeql-action-init %}
with:
registries: {% raw %}|
# URL to the container registry, usually in this format
- url: https://containers.GHEHOSTNAME1/v2/
# List of package glob patterns to be found at this registry
packages:
- my-company/*
- my-company2/*
# Token, which should be stored as a secret
token: ${{ secrets.GHEHOSTNAME1_TOKEN }}
# URL to the default container registry
- url: https://ghcr.io/v2/
# Packages can also be a string
packages: "*/*"
token: ${{ secrets.GHCR_TOKEN }}
{% endraw %}
```
The package patterns in the registries list are examined in order, so you should generally place the most specific package patterns first. The values for `token` must be a personal access token generated by the GitHub instance you are downloading from with the `read:packages` permission.
Notice the `|` after the `registries` property name. This is important since {% data variables.product.prodname_actions %} inputs can only accept strings. Using the `|` converts the subsequent text to a string, which is parsed later by the {% data reusables.actions.action-codeql-action-init %} action.
### Using queries in QL packs
{% endif %}
To add one or more queries, add a `with: queries:` entry within the `uses: {% data reusables.actions.action-codeql-action-init %}` section of the workflow. If the queries are in a private repository, use the `external-repository-token` parameter to specify a token that has access to checkout the private repository.
``` yaml
- uses: {% data reusables.actions.action-codeql-action-init %}
@ -331,17 +367,17 @@ jobs:
external-repository-token: {% raw %}${{ secrets.ACCESS_TOKEN }}{% endraw %}
```
`queries` の値でクエリ スイートを指定することもできます。 クエリ スイートは、通常、目的または言語別にグループ化されたクエリのコレクションです。
You can also specify query suites in the value of `queries`. Query suites are collections of queries, usually grouped by purpose or language.
{% data reusables.code-scanning.codeql-query-suites-explanation %}
{% ifversion codeql-packs %}
### カスタム構成ファイルの処理
### Working with custom configuration files
{% endif %}
カスタム設定にも構成ファイルを使用する場合、構成ファイル内に指定されているものではなく、ワークフロー内で指定した追加の{% ifversion codeql-packs %}パックまたは{% endif %}クエリが使用されます。 追加の{% ifversion codeql-packs %}パックまたは{% endif %}クエリの組み合わせセットを実行する場合は、ワークフロー内の {% ifversion codeql-packs %}`packs` または {% endif %}`queries` の値の前に `+` 記号を付けます。 詳細については、「[カスタム構成の使用](#using-a-custom-configuration-file)」を参照してください。
If you also use a configuration file for custom settings, any additional {% ifversion codeql-packs %}packs or {% endif %}queries specified in your workflow are used instead of those specified in the configuration file. If you want to run the combined set of additional {% ifversion codeql-packs %}packs or {% endif %}queries, prefix the value of {% ifversion codeql-packs %}`packs` or {% endif %}`queries` in the workflow with the `+` symbol. For more information, see "[Using a custom configuration file](#using-a-custom-configuration-file)."
次の例では、`+` 記号を付けることで、指定した追加の{% ifversion codeql-packs %}パックと{% endif %}クエリが、参照される構成ファイル内で指定したものと一緒に確実に使用されます。
In the following example, the `+` symbol ensures that the specified additional {% ifversion codeql-packs %}packs and {% endif %}queries are used together with any specified in the referenced configuration file.
``` yaml
- uses: {% data reusables.actions.action-codeql-action-init %}
@ -353,11 +389,11 @@ jobs:
{%- endif %}
```
## カスタム構成ファイルの使用
## Using a custom configuration file
カスタム構成ファイルは、実行する追加の{% ifversion codeql-packs %}パックと{% endif %}クエリを指定するための代替方法です。 また、このファイルを使用することで、既定のクエリ {% ifversion code-scanning-exclude-queries-from-analysis %} を無効にしたり、特定のクエリを除外または含めたり、{% endif %} 分析中にスキャンするディレクトリを指定したりすることもできます。
A custom configuration file is an alternative way to specify additional {% ifversion codeql-packs %}packs and {% endif %}queries to run. You can also use the file to disable the default queries{% ifversion code-scanning-exclude-queries-from-analysis %}, exclude or include specific queries,{% endif %} and to specify which directories to scan during analysis.
ワークフロー ファイルでは、`init` アクションの `config-file` パラメーターを使用して、使用する構成ファイルへのパスを指定します。 この例では、構成ファイル _./.github/codeql/codeql-config.yml_ を読み込みます。
In the workflow file, use the `config-file` parameter of the `init` action to specify the path to the configuration file you want to use. This example loads the configuration file _./.github/codeql/codeql-config.yml_.
``` yaml
- uses: {% data reusables.actions.action-codeql-action-init %}
@ -367,7 +403,7 @@ jobs:
{% data reusables.code-scanning.custom-configuration-file %}
構成ファイルが外部のプライベート リポジトリにある場合は、`init` アクションの `external-repository-token` パラメーターを使用して、そのプライベート リポジトリへのアクセス権を持つトークンを指定します。
If the configuration file is located in an external private repository, use the `external-repository-token` parameter of the `init` action to specify a token that has access to the private repository.
```yaml
- uses: {% data reusables.actions.action-codeql-action-init %}
@ -375,14 +411,14 @@ jobs:
external-repository-token: {% raw %}${{ secrets.ACCESS_TOKEN }}{% endraw %}
```
構成ファイルの設定は、YAML 形式で記述します。
The settings in the configuration file are written in YAML format.
{% ifversion codeql-packs %}
### {% data variables.product.prodname_codeql %} クエリ パックを指定する
### Specifying {% data variables.product.prodname_codeql %} query packs
{% data reusables.code-scanning.beta-codeql-packs-cli %}
配列に {% data variables.product.prodname_codeql %} クエリ パックを指定します。 形式は、ワークフロー ファイルで使用される形式とは異なるので注意してください。
You specify {% data variables.product.prodname_codeql %} query packs in an array. Note that the format is different from the format used by the workflow file.
{% raw %}
``` yaml
@ -402,9 +438,9 @@ packs:
```
{% endraw %}
クエリ パックを指定する完全な書式は `scope/name[@version][:path]` です。 `version``path` はどちらも省略可能です。 `version` は semver バージョンの範囲です。 指定しない場合は、最新バージョンが使われます。 semver の範囲の詳細については、[npm の semver ドキュメント](https://docs.npmjs.com/cli/v6/using-npm/semver#ranges)を参照してください。
The full format for specifying a query pack is `scope/name[@version][:path]`. Both `version` and `path` are optional. `version` is semver version range. If it is missing, the latest version is used. For more information about semver ranges, see the [semver docs on npm](https://docs.npmjs.com/cli/v6/using-npm/semver#ranges).
複数の {% data variables.product.prodname_codeql %} データベースを生成するワークフローがある場合、入れ子になったパックのマップを使用して、カスタム構成ファイル内に、実行する任意の {% data variables.product.prodname_codeql %} クエリ パックを指定できます。
If you have a workflow that generates more than one {% data variables.product.prodname_codeql %} database, you can specify any {% data variables.product.prodname_codeql %} query packs to run in a custom configuration file using a nested map of packs.
{% raw %}
``` yaml
@ -418,11 +454,12 @@ packs:
- scope/java-pack1
- scope/java-pack2@v1.0.0
```
{% endraw %} {% endif %}
{% endraw %}
{% endif %}
### 追加のクエリを指定する
### Specifying additional queries
追加のクエリは `queries` 配列に指定します。 配列の各要素に、単一のクエリ ファイル、クエリ ファイルを含むディレクトリ、またはクエリ スイート定義ファイルを識別する値を持つ `uses`パラメーターを含めます。
You specify additional queries in a `queries` array. Each element of the array contains a `uses` parameter with a value that identifies a single query file, a directory containing query files, or a query suite definition file.
``` yaml
queries:
@ -431,23 +468,23 @@ queries:
- uses: ./query-suites/my-security-queries.qls
```
あるいは、以下の設定ファイルの例にあるように、配列の各要素に名前を与えることもできます。 追加のクエリの詳細については、前述の「[追加のクエリを実行する](#running-additional-queries)」を参照してください。
Optionally, you can give each array element a name, as shown in the example configuration files below. For more information about additional queries, see "[Running additional queries](#running-additional-queries)" above.
### デフォルトのクエリを無効にする
### Disabling the default queries
カスタム クエリのみを実行する場合は、`disable-default-queries: true` を使用して既定のセキュリティ クエリを無効にすることができます。
If you only want to run custom queries, you can disable the default security queries by using `disable-default-queries: true`.
{% ifversion code-scanning-exclude-queries-from-analysis %}
### 分析からの特定のクエリの除外
### Excluding specific queries from analysis
カスタム構成ファイルに `exclude` および `include` フィルターを追加して、分析から除外また分析に含めるクエリを指定できます。
You can add `exclude` and `include` filters to your custom configuration file, to specify the queries you want to exclude or include in the analysis.
たとえば、これは、次のように除外する場合に便利です。
- 既定のスイート (`security`、`security-extended`、および `security-and-quality`) からの特定のクエリ。
- 結果に関心がない特定のクエリ。
- 警告と推奨事項を生成するすべてのクエリ。
This is useful if you want to exclude, for example:
- Specific queries from the default suites (`security`, `security-extended` and `security-and-quality`).
- Specific queries whose results do not interest you.
- All the queries that generate warnings and recommendations.
以下の構成ファイルと同様の `exclude` フィルターを使用して、既定の分析から削除するクエリを除外できます。 次の構成ファイルの例では、`js/redundant-assignment` および `js/useless-assignment-to-local` クエリの両方が分析から除外されています。
You can use `exclude` filters similar to those in the configuration file below to exclude queries that you want to remove from the default analysis. In the example of configuration file below, both the `js/redundant-assignment` and the `js/useless-assignment-to-local` queries are excluded from analysis.
```yaml
query-filters:
@ -456,25 +493,25 @@ query-filters:
- exclude:
id: js/useless-assignment-to-local
```
クエリの ID を見つけるには、[セキュリティ] タブのアラートの一覧でアラートをクリックします。これにより、アラートの詳しい内容を示すページが開きます。 フィールドには `Rule ID` クエリ ID が含まれています。アラートの詳細ページについて詳しくは、「[{% data variables.product.prodname_code_scanning %} アラートについて](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts#about-alert-details)」を参照してください。
To find the id of a query, you can click the alert in the list of alerts in the Security tab. This opens the alert details page. The `Rule ID` field contains the query id. For more information about the alert details page, see "[About {% data variables.product.prodname_code_scanning %} alerts](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts#about-alert-details)."
{% tip %}
**ヒント:**
- フィルターの順序が重要です。 クエリとクエリ パックに関する命令の後に表示される最初のフィルター命令によって、既定でクエリを含めるか除外するかが決まります。
- 後続の命令は順番に実行され、ファイル内で後にある命令の方が前にある命令よりも優先されます。
**Tips:**
- The order of the filters is important. The first filter instruction that appears after the instructions about the queries and query packs determines whether the queries are included or excluded by default.
- Subsequent instructions are executed in order and the instructions that appear later in the file take precedence over the earlier instructions.
{% endtip %}
これらのフィルターの使用方法を示す別の例については、「[サンプル構成ファイル](#example-configuration-files)」セクションを参照してください。
You can find another example illustrating the use of these filters in the "[Example configuration files](#example-configuration-files)" section.
カスタム構成ファイルでの `exclude` および `include` フィルターの使用について詳しくは、「[{% data variables.product.prodname_codeql %} クエリ スイートの作成](https://codeql.github.com/docs/codeql-cli/creating-codeql-query-suites/#filtering-the-queries-in-a-query-suite)」を参照してください。 フィルター処理できるクエリ メタデータについて詳しくは、「[CodeQL クエリのメタデータ](https://codeql.github.com/docs/writing-codeql-queries/metadata-for-codeql-queries/)」を参照してください。
For more information about using `exclude` and `include` filters in your custom configuration file, see "[Creating {% data variables.product.prodname_codeql %} query suites](https://codeql.github.com/docs/codeql-cli/creating-codeql-query-suites/#filtering-the-queries-in-a-query-suite)." For information on the query metadata you can filter on, see "[Metadata for CodeQL queries](https://codeql.github.com/docs/writing-codeql-queries/metadata-for-codeql-queries/)."
{% endif %}
### スキャンするディレクトリを指定する
### Specifying directories to scan
{% data variables.product.prodname_codeql %} がサポートするインタプリタ型言語 (Python{% ifversion fpt or ghes > 3.3 or ghae-issue-5017 %}、Ruby{% endif %}、JavaScript/TypeScript) では、構成ファイルに `paths` 配列を追加することで、{% data variables.product.prodname_code_scanning %} を特定のディレクトリのファイルに限定できます。 `paths-ignore` 配列を追加すると、特定のディレクトリ内のファイルを分析から除外できます。
For the interpreted languages that {% data variables.product.prodname_codeql %} supports (Python{% ifversion fpt or ghes > 3.3 or ghae-issue-5017 %}, Ruby{% endif %} and JavaScript/TypeScript), you can restrict {% data variables.product.prodname_code_scanning %} to files in specific directories by adding a `paths` array to the configuration file. You can exclude the files in specific directories from analysis by adding a `paths-ignore` array.
``` yaml
paths:
@ -486,28 +523,28 @@ paths-ignore:
{% note %}
****:
**Note**:
* {% data variables.product.prodname_code_scanning %} 構成ファイルのコンテキストで使用される `paths` および `paths-ignore` キーワードを、ワークフローの `on.<push|pull_request>.paths` で使用する同じキーワードと混同しないでください。 これらをワークフロー内の `on.<push|pull_request>` の変更に使用すると、指定されたディレクトリ内のコードが変更されたときにアクションを実行するかどうかが決定されます。 詳細については、[{% data variables.product.prodname_actions %} のワークフロー構文](/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore)に関するページを参照してください。
* フィルター パターン文字 `?`、`+`、`[`、`]`、`!` はサポートされていないため、文字どおりに照合されます。
* `**` 文字は、行の先頭または末尾にのみ指定するか、スラッシュで囲むことができます。また、`**` と他の文字を一緒に使用できます。 たとえば `foo/**`、`**/foo`、`foo/**/bar` は、すべて許容される構文ですが、`**foo` は許容されません。 ただし、例に示すように、1 つの星印を他の文字と一緒に使用できます。 `*` 文字を含むものはすべて引用符で囲む必要があります。
* The `paths` and `paths-ignore` keywords, used in the context of the {% data variables.product.prodname_code_scanning %} configuration file, should not be confused with the same keywords when used for `on.<push|pull_request>.paths` in a workflow. When they are used to modify `on.<push|pull_request>` in a workflow, they determine whether the actions will be run when someone modifies code in the specified directories. For more information, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore)."
* The filter pattern characters `?`, `+`, `[`, `]`, and `!` are not supported and will be matched literally.
* `**` characters can only be at the start or end of a line, or surrounded by slashes, and you can't mix `**` and other characters. For example, `foo/**`, `**/foo`, and `foo/**/bar` are all allowed syntax, but `**foo` isn't. However you can use single stars along with other characters, as shown in the example. You'll need to quote anything that contains a `*` character.
{% endnote %}
コンパイル言語の場合、プロジェクト中の特定のディレクトリに{% data variables.product.prodname_code_scanning %}を限定したいなら、ワークフロー中で適切なビルドステップを指定しなければなりません。 ビルドからディレクトリを除外するために使用するコマンドは、ビルド システムによって異なります。 詳細については、「[コンパイル型言語の {% data variables.product.prodname_codeql %} ワークフローの構成](/code-security/secure-coding/configuring-the-codeql-workflow-for-compiled-languages#adding-build-steps-for-a-compiled-language)」を参照してください。
For compiled languages, if you want to limit {% data variables.product.prodname_code_scanning %} to specific directories in your project, you must specify appropriate build steps in the workflow. The commands you need to use to exclude a directory from the build will depend on your build system. For more information, see "[Configuring the {% data variables.product.prodname_codeql %} workflow for compiled languages](/code-security/secure-coding/configuring-the-codeql-workflow-for-compiled-languages#adding-build-steps-for-a-compiled-language)."
特定のディレクトリ内のコードを変更した場合、モノリポの小さな部分をすばやく分析できます。 ビルド ステップでディレクトリを除外することと、ワークフローで [`on.<push|pull_request>`](/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore) `paths-ignore` および `paths` キーワードを使用することの両方が必要になります。
You can quickly analyze small portions of a monorepo when you modify code in specific directories. You'll need to both exclude directories in your build steps and use the `paths-ignore` and `paths` keywords for [`on.<push|pull_request>`](/actions/reference/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore) in your workflow.
### サンプル構成ファイル
### Example configuration files
{% data reusables.code-scanning.example-configuration-files %}
## コンパイルされた言語の {% data variables.product.prodname_code_scanning %} を設定する
## Configuring {% data variables.product.prodname_code_scanning %} for compiled languages
{% data reusables.code-scanning.autobuild-compiled-languages %} {% data reusables.code-scanning.analyze-go %}
{% data reusables.code-scanning.autobuild-add-build-steps %} コンパイル型言語の {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} を構成する方法の詳細については、「[コンパイル型言語の {% data variables.product.prodname_codeql %} ワークフローの構成](/code-security/secure-coding/configuring-the-codeql-workflow-for-compiled-languages)」を参照してください。
{% data reusables.code-scanning.autobuild-add-build-steps %} For more information about how to configure {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} for compiled languages, see "[Configuring the {% data variables.product.prodname_codeql %} workflow for compiled languages](/code-security/secure-coding/configuring-the-codeql-workflow-for-compiled-languages)."
## {% data variables.product.prodname_code_scanning %} データを {% data variables.product.prodname_dotcom %} にアップロードする
## Uploading {% data variables.product.prodname_code_scanning %} data to {% data variables.product.prodname_dotcom %}
{% data variables.product.prodname_dotcom %}は、サードパーティのツールによって外部で生成されたコード分析データを表示できます。 `upload-sarif` アクションを使用してコード分析データをアップロードできます。 詳細については、「[SARIF ファイルを GitHub にアップロードする](/code-security/secure-coding/uploading-a-sarif-file-to-github)」を参照してください。
{% data variables.product.prodname_dotcom %} can display code analysis data generated externally by a third-party tool. You can upload code analysis data with the `upload-sarif` action. For more information, see "[Uploading a SARIF file to GitHub](/code-security/secure-coding/uploading-a-sarif-file-to-github)."

Просмотреть файл

@ -1,7 +1,7 @@
---
title: CIシステムでのCodeQL CLIの設定
title: Configuring CodeQL CLI in your CI system
shortTitle: Configure CodeQL CLI
intro: '継続的インテグレーションシステムを{% data variables.product.prodname_codeql_cli %}を実行するように設定し、{% data variables.product.prodname_codeql %}分析を行い、{% data variables.product.prodname_code_scanning %}アラートとして表示させるために結果を{% data variables.product.product_name %}にアップロードできます。'
intro: 'You can configure your continuous integration system to run the {% data variables.product.prodname_codeql_cli %}, perform {% data variables.product.prodname_codeql %} analysis, and upload the results to {% data variables.product.product_name %} for display as {% data variables.product.prodname_code_scanning %} alerts.'
product: '{% data reusables.gated-features.code-scanning %}'
miniTocMaxHeadingLevel: 3
redirect_from:
@ -21,45 +21,41 @@ topics:
- Integration
- CI
- SARIF
ms.openlocfilehash: b78bf0134b9e1c7b786fe70b0ed7999fffd58e1c
ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794
ms.translationtype: HT
ms.contentlocale: ja-JP
ms.lasthandoff: 09/09/2022
ms.locfileid: '147718038'
---
{% data reusables.code-scanning.enterprise-enable-code-scanning %}
{% ifversion ghes or ghae %} {% note %}
{% ifversion ghes or ghae %}
{% note %}
**注:** この記事では、{% data variables.product.product_name %} のリリース時に使用可能なバージョンの {% data variables.product.prodname_codeql_cli %}に存在する機能について説明します。 Enterprise でより新しいバージョンの {% data variables.product.prodname_codeql_cli %} を使用している場合は、代わりに [{% data variables.product.prodname_ghe_cloud %} のドキュメント](/enterprise-cloud@latest/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system)を参照してください。
**Note:** This article describes features present in the version of {% data variables.product.prodname_codeql_cli %} available at the time of the release of {% data variables.product.product_name %}. If your enterprise uses a more recent version of {% data variables.product.prodname_codeql_cli %}, see the [{% data variables.product.prodname_ghe_cloud %} documentation](/enterprise-cloud@latest/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system) instead.
{% endnote %} {% endif %}
{% endnote %}
{% endif %}
## {% data variables.product.prodname_codeql_cli %}でのCode scanningの結果の生成について
## About generating code scanning results with {% data variables.product.prodname_codeql_cli %}
CIシステム内のサーバーで{% data variables.product.prodname_codeql_cli %}を利用できるようにして、確実に{% data variables.product.product_name %}で認証できるようにしたなら、データを生成する準備ができています。
Once you've made the {% data variables.product.prodname_codeql_cli %} available to servers in your CI system, and ensured that they can authenticate with {% data variables.product.product_name %}, you're ready to generate data.
結果を生成して{% data variables.product.product_name %}にアップロードするには、3つの異なるコマンドを使います。
You use three different commands to generate results and upload them to {% data variables.product.product_name %}:
<!--Option to analyze multiple languages with one call-->
1. `database create` では、リポジトリのサポートされている各プログラミング言語の階層構造を表すために {% data variables.product.prodname_codeql %} データベースを作成します。
2. ` database analyze` では、クエリを実行して各 {% data variables.product.prodname_codeql %} データベースを分析し、結果を SARIF ファイルにまとめます。
3. `github upload-results` では、結果の SARIF ファイルを {% data variables.product.product_name %} にアップロードします。そこで結果はブランチまたは pull request と照合され、{% data variables.product.prodname_code_scanning %} アラートとして表示されます。
1. `database create` to create a {% data variables.product.prodname_codeql %} database to represent the hierarchical structure of each supported programming language in the repository.
2. ` database analyze` to run queries to analyze each {% data variables.product.prodname_codeql %} database and summarize the results in a SARIF file.
3. `github upload-results` to upload the resulting SARIF files to {% data variables.product.product_name %} where the results are matched to a branch or pull request and displayed as {% data variables.product.prodname_code_scanning %} alerts.
<nobr>`--help`</nobr> オプションを使用して、任意のコマンドのコマンドライン ヘルプを表示できます。
You can display the command-line help for any command using the <nobr>`--help`</nobr> option.
{% data reusables.code-scanning.upload-sarif-ghas %}
## 分析する{% data variables.product.prodname_codeql %}データベースの作成
## Creating {% data variables.product.prodname_codeql %} databases to analyze
1. Check out the code that you want to analyze:
- For a branch, check out the head of the branch that you want to analyze.
- For a pull request, check out either the head commit of the pull request, or check out a {% data variables.product.prodname_dotcom %}-generated merge commit of the pull request.
2. Set up the environment for the codebase, making sure that any dependencies are available. For more information, see [Creating databases for non-compiled languages](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/#creating-databases-for-non-compiled-languages) and [Creating databases for compiled languages](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/#creating-databases-for-compiled-languages) in the documentation for the {% data variables.product.prodname_codeql_cli %}.
3. Find the build command, if any, for the codebase. Typically this is available in a configuration file in the CI system.
4. Run `codeql database create` from the checkout root of your repository and build the codebase.
1. 分析するコードをチェックアウトします。
- ブランチの場合は、分析するブランチのヘッドをチェックアウトします。
- pull request の場合は、pull request のヘッド コミットをチェックアウトするか、{% data variables.product.prodname_dotcom %} で生成された pull request のマージ コミットをチェックアウトします。
2. コードベースの環境を設定し、依存関係が使用可能であることを確認します。 詳細については、{% data variables.product.prodname_codeql_cli %} のドキュメントの「[コンパイルされていない言語のデータベースの作成](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/#creating-databases-for-non-compiled-languages)」および [「コンパイル済み言語のデータベースの作成](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/#creating-databases-for-compiled-languages)」を参照してください。
3. コードベースのビルド コマンドを見つけます (ある場合)。 通常、これは CI システムの構成ファイルで使用できます。
4. リポジトリのチェックアウト ルートから `codeql database create` を実行し、コードベースをビルドします。
```shell
# Single supported language - create one CodeQL databsae
codeql database create &lt;database&gt; --command&lt;build&gt; --language=&lt;language-identifier&gt;
@ -68,28 +64,28 @@ CIシステム内のサーバーで{% data variables.product.prodname_codeql_cli
codeql database create &lt;database&gt; --command&lt;build&gt; \
--db-cluster --language=&lt;language-identifier&gt;,&lt;language-identifier&gt;
```
{% note %}
**注:** コンテナー化されたビルドを使用する場合は、ビルド タスクが行われるコンテナーで {% data variables.product.prodname_codeql_cli %} を実行する必要があります。
**Note:** If you use a containerized build, you need to run the {% data variables.product.prodname_codeql_cli %} inside the container where your build task takes place.
{% endnote %}
| オプション | 必須 | 使用法 |
| Option | Required | Usage |
|--------|:--------:|-----|
| `<database>` | {% octicon "check-circle-fill" aria-label="Required" %} | {% data variables.product.prodname_codeql %}データベースを作成するディレクトリの名前と場所を指定します。 既存のディレクトリを上書きしようとすると、コマンドは失敗します。 また `--db-cluster` を指定した場合は、これが親ディレクトリであり、分析される言語ごとにサブディレクトリが作成されます。|
| <nobr>`--language`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | データベースを作成する言語の識別子 (`{% data reusables.code-scanning.codeql-languages-keywords %}` のいずれか) を指定します (TypeScript コードを分析するには `javascript` を使用します)。 <nobr>`--db-cluster`</nobr> と一緒に使用する場合は、オプションでコンマ区切りリストが受け入れられるか、複数指定できます。
| <nobr>`--command`</nobr> | | 推奨。 コードベースのビルド プロセスを呼び出すビルド コマンドまたはスクリプトを指定するために使用します。 コマンドは現在のフォルダーから、または定義されている場合は <nobr>`--source-root`</nobr> から実行されます。 Python および JavaScript または TypeScript の分析には不要です。 |
| <nobr>`--db-cluster`</nobr> | | 省略可能。 <nobr>`--language`</nobr> によって指定された言語ごとに 1 つのデータベースを生成するには、複数言語コードベースを使用します。
| <nobr>`--no-run-unnecessary-builds`</nobr> | | 推奨。 {% data variables.product.prodname_codeql_cli %}がビルドをモニターする必要がない場合に、言語のビルドコマンドを抑制するために使いますたとえばPythonやJavaScript/TypeScript
| <nobr>`--source-root`</nobr> | | 省略可能。 リポジトリのチェックアウト ルートの外部で CLI を実行する場合に使用します。 既定では、`database create` コマンドで現在のディレクトリがソース ファイルのルート ディレクトリであると見なされます。別の場所を指定するためにこのオプションを使用します。 |{% ifversion fpt or ghec or ghes > 3.2 or ghae %}
| <nobr>`--codescanning-config`</nobr> | | 省略可能 (詳細) {% data variables.product.prodname_codeql %} データベースの作成方法と、後の手順で実行するクエリを指定する構成ファイルがある場合に使用します。 詳しくは、「[カスタム構成ファイルの使用](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-a-custom-configuration-file)」および「[database create](https://codeql.github.com/docs/codeql-cli/manual/database-create/#cmdoption-codeql-database-create-codescanning-config)」を参照してください。 |{% endif %}
| `<database>` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the name and location of a directory to create for the {% data variables.product.prodname_codeql %} database. The command will fail if you try to overwrite an existing directory. If you also specify `--db-cluster`, this is the parent directory and a subdirectory is created for each language analyzed.|
| <nobr>`--language`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the identifier for the language to create a database for, one of: `{% data reusables.code-scanning.codeql-languages-keywords %}` (use `javascript` to analyze TypeScript code). When used with <nobr>`--db-cluster`</nobr>, the option accepts a comma-separated list, or can be specified more than once.
| <nobr>`--command`</nobr> | | Recommended. Use to specify the build command or script that invokes the build process for the codebase. Commands are run from the current folder or, where it is defined, from <nobr>`--source-root`</nobr>. Not needed for Python and JavaScript/TypeScript analysis. |
| <nobr>`--db-cluster`</nobr> | | Optional. Use in multi-language codebases to generate one database for each language specified by <nobr>`--language`</nobr>.
| <nobr>`--no-run-unnecessary-builds`</nobr> | | Recommended. Use to suppress the build command for languages where the {% data variables.product.prodname_codeql_cli %} does not need to monitor the build (for example, Python and JavaScript/TypeScript).
| <nobr>`--source-root`</nobr> | | Optional. Use if you run the CLI outside the checkout root of the repository. By default, the `database create` command assumes that the current directory is the root directory for the source files, use this option to specify a different location. |{% ifversion fpt or ghec or ghes > 3.2 or ghae %}
| <nobr>`--codescanning-config`</nobr> | | Optional (Advanced). Use if you have a configuration file that specifies how to create the {% data variables.product.prodname_codeql %} databases and what queries to run in later steps. For more information, see "[Using a custom configuration file](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-a-custom-configuration-file)" and "[database create](https://codeql.github.com/docs/codeql-cli/manual/database-create/#cmdoption-codeql-database-create-codescanning-config)." |{% endif %}
詳細については、{% data variables.product.prodname_codeql_cli %} のドキュメントの「[{% data variables.product.prodname_codeql %} データベースの作成](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/)」を参照してください。
For more information, see [Creating {% data variables.product.prodname_codeql %} databases](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/) in the documentation for the {% data variables.product.prodname_codeql_cli %}.
### 単一言語の例
### Single language example
この例では、`/checkouts/example-repo` でチェックアウトされたリポジトリの {% data variables.product.prodname_codeql %} データベースを作成します。 JavaScript 抽出機能を使用して、リポジトリに JavaScript および TypeScript コードの階層表現を作成します。 結果のデータベースは `/codeql-dbs/example-repo` に格納されます。
This example creates a {% data variables.product.prodname_codeql %} database for the repository checked out at `/checkouts/example-repo`. It uses the JavaScript extractor to create a hierarchical representation of the JavaScript and TypeScript code in the repository. The resulting database is stored in `/codeql-dbs/example-repo`.
```
$ codeql database create /codeql-dbs/example-repo --language=javascript \
@ -105,16 +101,16 @@ $ codeql database create /codeql-dbs/example-repo --language=javascript \
> Successfully created database at /codeql-dbs/example-repo.
```
### 複数言語の例
### Multiple language example
この例では、`/checkouts/example-repo-multi` でチェックアウトされたリポジトリの {% data variables.product.prodname_codeql %} データベースを 2 つ作成します。 イベント プロセッサで使用されるものは次のとおりです。
This example creates two {% data variables.product.prodname_codeql %} databases for the repository checked out at `/checkouts/example-repo-multi`. It uses:
- `--db-cluster`: 複数の言語の分析を要求します。
- `--language`: データベースを作成する言語を指定します。
- `--command`: コードベースのビルド コマンド (ここでは `make`) をツールに伝えます。
- `--no-run-unnecessary-builds`: 必要のない言語 (Python など) のビルド コマンドをスキップするようにツールに伝えます。
- `--db-cluster` to request analysis of more than one language.
- `--language` to specify which languages to create databases for.
- `--command` to tell the tool the build command for the codebase, here `make`.
- `--no-run-unnecessary-builds` to tell the tool to skip the build command for languages where it is not needed (like Python).
結果のデータベースは、`/codeql-dbs/example-repo-multi` の `python` および `cpp` サブディレクトリに格納されます。
The resulting databases are stored in `python` and `cpp` subdirectories of `/codeql-dbs/example-repo-multi`.
```
$ codeql database create /codeql-dbs/example-repo-multi \
@ -136,10 +132,10 @@ Successfully created databases at /codeql-dbs/example-repo-multi.
$
```
## {% data variables.product.prodname_codeql %}データベースの分析
## Analyzing a {% data variables.product.prodname_codeql %} database
1. {% data variables.product.prodname_codeql %}データベースを作成してください(上記参照)。
2. データベースに対して `codeql database analyze` を実行し、使用する{% ifversion codeql-packs %}パックまたは{% endif %}クエリを指定します。
1. Create a {% data variables.product.prodname_codeql %} database (see above).
2. Run `codeql database analyze` on the database and specify which {% ifversion codeql-packs %}packs and/or {% endif %}queries to use.
```shell
codeql database analyze &lt;database&gt; --format=&lt;format&gt; \
--output=&lt;output&gt; {% ifversion codeql-packs %}--download &lt;packs,queries&gt;{% else %}&lt;queries&gt;{% endif %}
@ -147,7 +143,7 @@ $
{% note %}
**注:** 1 つのコミットに対して複数の {% data variables.product.prodname_codeql %} データベースを分析する場合、このコマンドによって生成されるそれぞれの結果セットに対して SARIF カテゴリを指定する必要があります。 結果を{% data variables.product.product_name %}にアップロードする際には、{% data variables.product.prodname_code_scanning %}はこのカテゴリを使ってそれぞれの言語に対する結果を別々に保存します。 この操作を忘れた場合は、各アップロードで前の結果が上書きされます。
**Note:** If you analyze more than one {% data variables.product.prodname_codeql %} database for a single commit, you must specify a SARIF category for each set of results generated by this command. When you upload the results to {% data variables.product.product_name %}, {% data variables.product.prodname_code_scanning %} uses this category to store the results for each language separately. If you forget to do this, each upload overwrites the previous results.
```shell
codeql database analyze &lt;database&gt; --format=&lt;format&gt; \
@ -156,24 +152,24 @@ codeql database analyze &lt;database&gt; --format=&lt;format&gt; \
```
{% endnote %}
| オプション | 必須 | 使用法 |
| Option | Required | Usage |
|--------|:--------:|-----|
| `<database>` | {% octicon "check-circle-fill" aria-label="Required" %} | 分析する{% data variables.product.prodname_codeql %}データベースを含むディレクトリのパスを指定します。 |
| `<packs,queries>` | | 実行する {% data variables.product.prodname_codeql %} パックまたはクエリを指定します。 {% data variables.product.prodname_code_scanning %} に使用される標準クエリを実行するには、このパラメーターを省略します。 {% data variables.product.prodname_codeql_cli %} バンドルに含まれている他のクエリ スイートを確認する場合は、`/<extraction-root>/qlpacks/codeql/<language>-queries/codeql-suites` を参照してください。 独自のクエリ スイートの作成については、{% data variables.product.prodname_codeql_cli %} のドキュメントの「[CodeQL クエリ スイートの作成](https://codeql.github.com/docs/codeql-cli/creating-codeql-query-suites/)」を参照してください。
| <nobr>`--format`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | コマンドによって生成される結果ファイルの形式を指定します。 {% data variables.product.company_short %} へのアップロードの場合、これは {% ifversion fpt or ghae or ghec %}`sarif-latest`{% else %}`sarifv2.1.0`{% endif %} である必要があります。 詳細については、「[{% data variables.product.prodname_code_scanning %} の SARIF サポート](/code-security/secure-coding/sarif-support-for-code-scanning)」を参照してください。
| <nobr>`--output`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | SARIF 結果ファイルを保存する場所を指定します。
| <nobr>`--sarif-category`<nobr> | {% octicon "question" aria-label="Required with multiple results sets" %} | 単一データベースの分析の場合は省略可能です。 リポジトリ内の単一コミットに対して複数のデータベースを分析する場合に言語を定義するために必要です。 この分析の SARIF 結果ファイルに含めるカテゴリを指定します。 カテゴリは、同じツールとコミットに対する複数の分析を区別するために使用されますが、異なる言語またはコードの異なる部分で実行されます。|{% ifversion fpt or ghes > 3.3 or ghae or ghec %}
| <nobr>`--sarif-add-query-help`</nobr> | | 省略可能。 分析で使用されるカスタム クエリに対して使用可能なマークダウン レンダリング クエリ ヘルプを含める場合に使用します。 関連するクエリによってアラートが生成された場合は、SARIF 出力に含まれるカスタム クエリのクエリ ヘルプがすべてコード スキャン UI に表示されます。 詳細については、{% data variables.product.prodname_codeql_cli %} のドキュメントの「[{% data variables.product.prodname_codeql_cli %} でのデータベースの分析](https://codeql.github.com/docs/codeql-cli/analyzing-databases-with-the-codeql-cli/#including-query-help-for-custom-codeql-queries-in-sarif-files)」を参照してください。{% endif %}{% ifversion codeql-packs %}
| `<packs>` | | 省略可能。 CodeQL クエリ パックを分析に含めたい場合に使います。 詳細については、「[{% data variables.product.prodname_codeql %} パックのダウンロードと使用](#downloading-and-using-codeql-query-packs)」を参照してください。
| <nobr>`--download`</nobr> | | 省略可能。 CodeQL クエリ パックの一部がまだディスク上になく、クエリを実行する前にダウンロードする必要がある場合に使います。{% endif %}
| <nobr>`--threads`</nobr> | | 任意。 複数のスレッドを使用してクエリを実行する場合に使用します。 既定値は `1` です。 クエリの実行を高速化するために、より多くのスレッドを指定できます。 スレッドの数を論理プロセッサの数に設定するには、`0` を指定します。
| <nobr>`--verbose`</nobr> | | 省略可能。 データベース作成プロセスから分析プロセスと診断データに関する詳細情報を取得するために使用します。
| `<database>` | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the path for the directory that contains the {% data variables.product.prodname_codeql %} database to analyze. |
| `<packs,queries>` | | Specify {% data variables.product.prodname_codeql %} packs or queries to run. To run the standard queries used for {% data variables.product.prodname_code_scanning %}, omit this parameter. To see the other query suites included in the {% data variables.product.prodname_codeql_cli %} bundle, look in `/<extraction-root>/qlpacks/codeql/<language>-queries/codeql-suites`. For information about creating your own query suite, see [Creating CodeQL query suites](https://codeql.github.com/docs/codeql-cli/creating-codeql-query-suites/) in the documentation for the {% data variables.product.prodname_codeql_cli %}.
| <nobr>`--format`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the format for the results file generated by the command. For upload to {% data variables.product.company_short %} this should be: {% ifversion fpt or ghae or ghec %}`sarif-latest`{% else %}`sarifv2.1.0`{% endif %}. For more information, see "[SARIF support for {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/sarif-support-for-code-scanning)."
| <nobr>`--output`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | Specify where to save the SARIF results file.
| <nobr>`--sarif-category`<nobr> | {% octicon "question" aria-label="Required with multiple results sets" %} | Optional for single database analysis. Required to define the language when you analyze multiple databases for a single commit in a repository. Specify a category to include in the SARIF results file for this analysis. A category is used to distinguish multiple analyses for the same tool and commit, but performed on different languages or different parts of the code.|{% ifversion fpt or ghes > 3.3 or ghae or ghec %}
| <nobr>`--sarif-add-query-help`</nobr> | | Optional. Use if you want to include any available markdown-rendered query help for custom queries used in your analysis. Any query help for custom queries included in the SARIF output will be displayed in the code scanning UI if the relevant query generates an alert. For more information, see [Analyzing databases with the {% data variables.product.prodname_codeql_cli %}](https://codeql.github.com/docs/codeql-cli/analyzing-databases-with-the-codeql-cli/#including-query-help-for-custom-codeql-queries-in-sarif-files) in the documentation for the {% data variables.product.prodname_codeql_cli %}.{% endif %}{% ifversion codeql-packs %}
| `<packs>` | | Optional. Use if you want to include CodeQL query packs in your analysis. For more information, see "[Downloading and using {% data variables.product.prodname_codeql %} packs](#downloading-and-using-codeql-query-packs)."
| <nobr>`--download`</nobr> | | Optional. Use if some of your CodeQL query packs are not yet on disk and need to be downloaded before running queries.{% endif %}
| <nobr>`--threads`</nobr> | | Optional. Use if you want to use more than one thread to run queries. The default value is `1`. You can specify more threads to speed up query execution. To set the number of threads to the number of logical processors, specify `0`.
| <nobr>`--verbose`</nobr> | | Optional. Use to get more detailed information about the analysis process and diagnostic data from the database creation process.
詳細については、{% data variables.product.prodname_codeql_cli %} のドキュメントの「[{% data variables.product.prodname_codeql_cli %} でのデータベースの分析](https://codeql.github.com/docs/codeql-cli/analyzing-databases-with-the-codeql-cli/)」を参照してください。
For more information, see [Analyzing databases with the {% data variables.product.prodname_codeql_cli %}](https://codeql.github.com/docs/codeql-cli/analyzing-databases-with-the-codeql-cli/) in the documentation for the {% data variables.product.prodname_codeql_cli %}.
### 基本的な例
### Basic example
この例では、`/codeql-dbs/example-repo` で格納されている {% data variables.product.prodname_codeql %} データベースを分析し、結果を SARIF ファイル (`/temp/example-repo-js.sarif`) として保存します。 `--sarif-category` を使用して、結果を JavaScript として識別する追加の情報を SARIF ファイルに含めます。 これは、リポジトリ中の単一のコミットに対して分析する{% data variables.product.prodname_codeql %}データベースが複数ある場合に不可欠です。
This example analyzes a {% data variables.product.prodname_codeql %} database stored at `/codeql-dbs/example-repo` and saves the results as a SARIF file: `/temp/example-repo-js.sarif`. It uses `--sarif-category` to include extra information in the SARIF file that identifies the results as JavaScript. This is essential when you have more than one {% data variables.product.prodname_codeql %} database to analyze for a single commit in a repository.
```
$ codeql database analyze /codeql-dbs/example-repo \
@ -187,16 +183,16 @@ $ codeql database analyze /codeql-dbs/example-repo \
> Interpreting results.
```
## {% data variables.product.product_name %}への結果のアップロード
## Uploading results to {% data variables.product.product_name %}
{% data reusables.code-scanning.upload-sarif-alert-limit %}
結果を {% data variables.product.product_name %} にアップロードする前に、{% data variables.product.prodname_github_app %}または個人用アクセス トークン (以前に作成したもの) を {% data variables.product.prodname_codeql_cli %} に渡す最善の方法を決める必要があります (「[CI システムでの {% data variables.product.prodname_codeql_cli %} のインストール](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system#generating-a-token-for-authentication-with-github)」を参照)。 シークレット ストアの安全な使用に関する CI システムのガイダンスを確認することをお勧めします。 {% data variables.product.prodname_codeql_cli %}は以下をサポートします。
Before you can upload results to {% data variables.product.product_name %}, you must determine the best way to pass the {% data variables.product.prodname_github_app %} or personal access token you created earlier to the {% data variables.product.prodname_codeql_cli %} (see [Installing {% data variables.product.prodname_codeql_cli %} in your CI system](/code-security/secure-coding/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system#generating-a-token-for-authentication-with-github)). We recommend that you review your CI system's guidance on the secure use of a secret store. The {% data variables.product.prodname_codeql_cli %} supports:
- `--github-auth-stdin` オプションを使用し、標準入力を介して CLI にトークンを渡す (推奨)。
- 環境変数 `GITHUB_TOKEN` にシークレットを保存し、`--github-auth-stdin` オプションを含めずに CLI を実行する。
- Passing the token to the CLI via standard input using the `--github-auth-stdin` option (recommended).
- Saving the secret in the environment variable `GITHUB_TOKEN` and running the CLI without including the `--github-auth-stdin` option.
CI サーバーの最も安全で信頼性の高い方法を決定した場合は、各 SARIF 結果ファイルで `codeql github upload-results` を実行し、トークンが環境変数 `GITHUB_TOKEN` で使用可能でない限り、`--github-auth-stdin` を含めます。
When you have decided on the most secure and reliable method for your CI server, run `codeql github upload-results` on each SARIF results file and include `--github-auth-stdin` unless the token is available in the environment variable `GITHUB_TOKEN`.
```shell
echo "$UPLOAD_TOKEN" | codeql github upload-results --repository=&lt;repository-name&gt; \
@ -204,20 +200,20 @@ CI サーバーの最も安全で信頼性の高い方法を決定した場合
{% ifversion ghes or ghae %}--github-url=&lt;URL&gt; {% endif %}--github-auth-stdin
```
| オプション | 必須 | 使用法 |
| Option | Required | Usage |
|--------|:--------:|-----|
| <nobr>`--repository`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | データのアップロード先となるリポジトリの *OWNER/NAME* を指定します。 {% ifversion fpt or ghec %}リポジトリがパブリックでなければ、{% endif %}オーナーは {% data variables.product.prodname_GH_advanced_security %} のライセンスを持つ Enterprise 内の Organization でなければならず、{% data variables.product.prodname_GH_advanced_security %} はリポジトリで有効化されていなければなりません。 詳細については、「[リポジトリのセキュリティと分析の設定を管理する](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)」を参照してください。
| <nobr>`--ref`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | チェックアウトして分析した `ref` の名前を指定して、結果を正しいコードと照合できるようにします。 ブランチで `refs/heads/BRANCH-NAME` を使用するか、pull request のヘッド コミットで `refs/pull/NUMBER/head` を使用するか、pull request の {% data variables.product.prodname_dotcom %} で生成されたマージ コミットで `refs/pull/NUMBER/merge` を使用します。
| <nobr>`--commit`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | 分析したコミットの完全な SHA を指定します。
| <nobr>`--sarif`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | 読み込む SARIF ファイルを指定します。{% ifversion ghes or ghae %}
| <nobr>`--github-url`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | {% data variables.product.product_name %}のURLを指定してください。{% endif %}
| <nobr>`--github-auth-stdin`</nobr> | | 任意。 {% data variables.product.prodname_github_app %}もしくは{% data variables.product.company_short %}のREST APIの認証のために作成された個人アクセストークンを標準入力経由でCLIに渡すために使います。 このトークンを使用して設定された `GITHUB_TOKEN` 環境変数にコマンドがアクセスできる場合、これは必要ありません。
| <nobr>`--repository`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the *OWNER/NAME* of the repository to upload data to. The owner must be an organization within an enterprise that has a license for {% data variables.product.prodname_GH_advanced_security %} and {% data variables.product.prodname_GH_advanced_security %} must be enabled for the repository{% ifversion fpt or ghec %}, unless the repository is public{% endif %}. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)."
| <nobr>`--ref`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the name of the `ref` you checked out and analyzed so that the results can be matched to the correct code. For a branch use: `refs/heads/BRANCH-NAME`, for the head commit of a pull request use `refs/pull/NUMBER/head`, or for the {% data variables.product.prodname_dotcom %}-generated merge commit of a pull request use `refs/pull/NUMBER/merge`.
| <nobr>`--commit`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the full SHA of the commit you analyzed.
| <nobr>`--sarif`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the SARIF file to load.{% ifversion ghes or ghae %}
| <nobr>`--github-url`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the URL for {% data variables.product.product_name %}.{% endif %}
| <nobr>`--github-auth-stdin`</nobr> | | Optional. Use to pass the CLI the {% data variables.product.prodname_github_app %} or personal access token created for authentication with {% data variables.product.company_short %}'s REST API via standard input. This is not needed if the command has access to a `GITHUB_TOKEN` environment variable set with this token.
詳細については、{% data variables.product.prodname_codeql_cli %} のドキュメントの「[github upload-results](https://codeql.github.com/docs/codeql-cli/manual/github-upload-results/)」を参照してください。
For more information, see [github upload-results](https://codeql.github.com/docs/codeql-cli/manual/github-upload-results/) in the documentation for the {% data variables.product.prodname_codeql_cli %}.
### 基本的な例
### Basic example
この例では、SARIF ファイル `temp/example-repo-js.sarif` からリポジトリ `my-org/example-repo` に結果をアップロードします。 結果が `main` ブランチのコミット `deb275d2d5fe9a522a0b7bd8b6b6a1c939552718` に対するものであることを {% data variables.product.prodname_code_scanning %} API に伝えます。
This example uploads results from the SARIF file `temp/example-repo-js.sarif` to the repository `my-org/example-repo`. It tells the {% data variables.product.prodname_code_scanning %} API that the results are for the commit `deb275d2d5fe9a522a0b7bd8b6b6a1c939552718` on the `main` branch.
```
$ echo $UPLOAD_TOKEN | codeql github upload-results --repository=my-org/example-repo \
@ -226,30 +222,30 @@ $ echo $UPLOAD_TOKEN | codeql github upload-results --repository=my-org/example-
{% endif %}--github-auth-stdin
```
アップロードが失敗しなければ、このコマンドからの出力はありません。 コマンドプロンプトは、アップロードが完了してデータ処理が開始された時点で戻ってきます。 小さなコードベースでは、すぐ後に{% data variables.product.product_name %}中の{% data variables.product.prodname_code_scanning %}アラートを調べることができるでしょう。 チェックアウトしたコードに応じて、アラートを直接 pull request に、またはブランチの **[セキュリティ]** タブで表示できます。詳細については、「[pull request での{% data variables.product.prodname_code_scanning %} アラートのトリアージ](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)」および「[リポジトリの{% data variables.product.prodname_code_scanning %} アラートを管理する](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)」を参照してください。
There is no output from this command unless the upload was unsuccessful. The command prompt returns when the upload is complete and data processing has begun. On smaller codebases, you should be able to explore the {% data variables.product.prodname_code_scanning %} alerts in {% data variables.product.product_name %} shortly afterward. You can see alerts directly in the pull request or on the **Security** tab for branches, depending on the code you checked out. For more information, see "[Triaging {% data variables.product.prodname_code_scanning %} alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)" and "[Managing {% data variables.product.prodname_code_scanning %} alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)."
{% ifversion codeql-packs %}
## {% data variables.product.prodname_codeql %} クエリ パックのダウンロードと使用
## Downloading and using {% data variables.product.prodname_codeql %} query packs
{% data reusables.code-scanning.beta-codeql-packs-cli %}
{% data variables.product.prodname_codeql_cli %} バンドルには、{% data variables.product.company_short %} の専門家、セキュリティ研究者、コミュニティの共同作成者によって管理されるクエリが含まれます。 他の Organization によって開発されたクエリを実行する場合、{% data variables.product.prodname_codeql %} クエリ パックを使用すると、クエリを効率的かつ信頼性の高い方法でダウンロードして実行できます。 詳細については、「[CodeQL によるコード スキャンについて](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql#about-codeql-queries)」を参照してください。
The {% data variables.product.prodname_codeql_cli %} bundle includes queries that are maintained by {% data variables.product.company_short %} experts, security researchers, and community contributors. If you want to run queries developed by other organizations, {% data variables.product.prodname_codeql %} query packs provide an efficient and reliable way to download and run queries. For more information, see "[About code scanning with CodeQL](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql#about-codeql-queries)."
{% data variables.product.prodname_codeql %} パックを使ってデータベースを分析する前に、{% data variables.product.company_short %} {% data variables.product.prodname_container_registry %} から必要なパッケージをすべてダウンロードする必要があります。 これは、`codeql database analyze` コマンドの一部として `--download` フラグを使うことによって行うことができます。 パッケージが一般公開されていない場合は、認証に {% data variables.product.prodname_github_app %} または個人用アクセス トークンを使用する必要があります。 詳細と例については、上記の「[{% data variables.product.product_name %} への結果のアップロード](#uploading-results-to-github)」を参照してください。
Before you can use a {% data variables.product.prodname_codeql %} pack to analyze a database, you must download any packages you require from the {% data variables.product.company_short %} {% data variables.product.prodname_container_registry %}. This can be done either by using the `--download` flag as part of the `codeql database analyze` command. If a package is not publicly available, you will need to use a {% data variables.product.prodname_github_app %} or personal access token to authenticate. For more information and an example, see "[Uploading results to {% data variables.product.product_name %}](#uploading-results-to-github)" above.
| オプション | 必須 | 使用法 |
| Option | Required | Usage |
|--------|:--------:|-----|
| <nobr>`<scope/name@version:path>`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | コンマ区切りリストを使用して、ダウンロードする 1 つまたは複数の CodeQL クエリ パックのスコープと名前を指定します。 必要に応じて、ダウンロードして解凍するバージョンを含めます。 既定では、このパックの最新バージョンがダウンロードされます。 必要に応じて、実行するクエリ、ディレクトリ、またはクエリ スイートへのパスを含めます。 パスが含まれていない場合、このパックの既定のクエリを実行します。 |
| <nobr>`--github-auth-stdin`</nobr> | | 任意。 {% data variables.product.prodname_github_app %} または個人用アクセス トークン ({% data variables.product.company_short %} の REST API での認証のために作成されたもの) を標準入力経由で CLI に渡します。 このトークンを使用して設定された `GITHUB_TOKEN` 環境変数にコマンドがアクセスできる場合、これは必要ありません。
| <nobr>`<scope/name@version:path>`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the scope and name of one or more CodeQL query packs to download using a comma-separated list. Optionally, include the version to download and unzip. By default the latest version of this pack is downloaded. Optionally, include a path to a query, directory, or query suite to run. If no path is included, then run the default queries of this pack. |
| <nobr>`--github-auth-stdin`</nobr> | | Optional. Pass the {% data variables.product.prodname_github_app %} or personal access token created for authentication with {% data variables.product.company_short %}'s REST API to the CLI via standard input. This is not needed if the command has access to a `GITHUB_TOKEN` environment variable set with this token.
### 基本的な例
### Basic example
この例では、`codeql database analyze` コマンドに `--download` オプションを付けて実行しています。
This example runs the `codeql database analyze` command with the `--download` option to:
1. 最新バージョンの `octo-org/security-queries` パックをダウンロードします。
2. バージョン 1.0.1 と`octo-org/optional-security-queries`互換性のある *バージョンの* パックをダウンロードします (この場合はバージョン 1.0.2 です)。 semver の互換性については、[npm のセマンティック バージョンの範囲に関するドキュメント](https://github.com/npm/node-semver#ranges)を参照してください。
3. `octo-org/security-queries` の既定のクエリをすべて実行します。
4. `octo-org/optional-security-queries` のクエリ `queries/csrf.ql` だけを実行します
1. Download the latest version of the `octo-org/security-queries` pack.
2. Download a version of the `octo-org/optional-security-queries` pack that is *compatible* with version 1.0.1 (in this case, it is version 1.0.2). For more information on semver compatibility, see [npm's semantic version range documentation](https://github.com/npm/node-semver#ranges).
3. Run all the default queries in `octo-org/security-queries`.
4. Run only the query `queries/csrf.ql` from `octo-org/optional-security-queries`
```
$ echo $OCTO-ORG_ACCESS_TOKEN | codeql database analyze --download /codeql-dbs/example-repo \
@ -272,18 +268,22 @@ $ echo $OCTO-ORG_ACCESS_TOKEN | codeql database analyze --download /codeql-dbs/e
> Interpreting results.
```
### {% data variables.product.prodname_codeql %} パックの直接ダウンロード
### Direct download of {% data variables.product.prodname_codeql %} packs
{% data variables.product.prodname_codeql %} パックをダウンロードしてすぐに実行しない場合、`codeql pack download` コマンドを使用できます。 これは、{% data variables.product.prodname_codeql %} クエリを実行するとき、インターネットへのアクセスをしないようにする場合、便利です。 {% data variables.product.prodname_codeql %} 分析を実行するとき、前の例と同じ方法でパック、バージョン、パスを指定できます。
If you want to download a {% data variables.product.prodname_codeql %} pack without running it immediately, then you can use the `codeql pack download` command. This is useful if you want to avoid accessing the internet when running {% data variables.product.prodname_codeql %} queries. When you run the {% data variables.product.prodname_codeql %} analysis, you can specify packs, versions, and paths in the same way as in the previous example:
```shell
echo $OCTO-ORG_ACCESS_TOKEN | codeql pack download &lt;scope/name@version:path&gt; &lt;scope/name@version:path&gt; ...
```
### Downloading {% data variables.product.prodname_codeql %} packs from multiple {% data variables.product.company_short %} container registries
If your {% data variables.product.prodname_codeql %} packs reside on multiple container registries, then you must instruct the {% data variables.product.prodname_codeql_cli %} where to find each pack. For more information, see "[Configuring {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors#downloading-codeql-packs-from-github-enterprise-server)."
{% endif %}
## {% data variables.product.prodname_codeql %}分析のためのCIの設定例
## Example CI configuration for {% data variables.product.prodname_codeql %} analysis
これは、2つのサポートされている言語を持つコードベースを分析し、結果を{% data variables.product.product_name %}にアップロードするために使うことができる一連のコマンドの例です。
This is an example of the series of commands that you might use to analyze a codebase with two supported languages and then upload the results to {% data variables.product.product_name %}.
```shell
# Create CodeQL databases for Java and Python in the 'codeql-dbs' directory
@ -317,21 +317,22 @@ echo $UPLOAD_TOKEN | codeql github upload-results --repository=my-org/example-re
--sarif=python-results.sarif --github-auth-stdin
```
## CIシステムでの{% data variables.product.prodname_codeql_cli %}のトラブルシューティング
## Troubleshooting the {% data variables.product.prodname_codeql_cli %} in your CI system
### ログと診断情報を見る
### Viewing log and diagnostic information
{% data variables.product.prodname_code_scanning %}クエリスイートを使って{% data variables.product.prodname_codeql %}データベースを分析する際には、アラートに関する詳細情報を生成するのに加えて、CLIはデータベース生成ステップからの診断情報とサマリメトリクスを報告します。 アラートが少ないリポジトリでは、実際にコード中の問題が少ないのか、あるいは{% data variables.product.prodname_codeql %}データベースの生成時にエラーがあったのかを判断するのにこの情報が役立つかもしれません。 `codeql database analyze` からさらに詳しい出力を得るには、`--verbose` オプションを使用します。
When you analyze a {% data variables.product.prodname_codeql %} database using a {% data variables.product.prodname_code_scanning %} query suite, in addition to generating detailed information about alerts, the CLI reports diagnostic data from the database generation step and summary metrics. For repositories with few alerts, you may find this information useful for determining if there are genuinely few problems in the code, or if there were errors generating the {% data variables.product.prodname_codeql %} database. For more detailed output from `codeql database analyze`, use the `--verbose` option.
使用可能な診断情報の種類について詳しくは、「[{% data variables.product.prodname_code_scanning %} ログの表示](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/viewing-code-scanning-logs#about-analysis-and-diagnostic-information)」を参照してください。
For more information about the type of diagnostic information available, see "[Viewing {% data variables.product.prodname_code_scanning %} logs](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/viewing-code-scanning-logs#about-analysis-and-diagnostic-information)".
### {% data variables.product.prodname_code_scanning_capc %}は、分析された言語の1つからの分析結果だけを表示します。
### {% data variables.product.prodname_code_scanning_capc %} only shows analysis results from one of the analyzed languages
デフォルトでは、{% data variables.product.prodname_code_scanning %}はリポジトリの分析ごとに1つのSARIF結果ファイルを期待します。 したがって、コミットから2つめのSARIF結果ファイルをアップロードすると、それはデータのオリジナルのセットの置き換えとして扱われます。
By default, {% data variables.product.prodname_code_scanning %} expects one SARIF results file per analysis for a repository. Consequently, when you upload a second SARIF results file for a commit, it is treated as a replacement for the original set of data.
リポジトリ中の1つのコミットについての結果を{% data variables.product.prodname_code_scanning %} APIに複数アップロードしたい場合は、それぞれの結果をユニークなセットとして特定しなければなりません。 コミットごとに分析する {% data variables.product.prodname_codeql %} データセットを複数作成するリポジトリでは、`--sarif-category` オプションを使用して、そのリポジトリで生成するそれぞれの SARIF ファイルに言語または他の一意のカテゴリを指定します。
If you want to upload more than one set of results to the {% data variables.product.prodname_code_scanning %} API for a commit in a repository, you must identify each set of results as a unique set. For repositories where you create more than one {% data variables.product.prodname_codeql %} database to analyze for each commit, use the `--sarif-category` option to specify a language or other unique category for each SARIF file that you generate for that repository.
## 参考資料
## Further reading
- [CodeQL データベースの作成](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/)
- [CodeQL CLI でのデータベースの分析](https://codeql.github.com/docs/codeql-cli/analyzing-databases-with-the-codeql-cli/)
- [Creating CodeQL databases](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/)
- [Analyzing databases with the CodeQL CLI](https://codeql.github.com/docs/codeql-cli/analyzing-databases-with-the-codeql-cli/)
- [Publishing and using CodeQL packs](https://codeql.github.com/docs/codeql-cli/publishing-and-using-codeql-packs/)

Просмотреть файл

@ -1,6 +1,6 @@
---
title: GitHub Advisory Database でのセキュリティ アドバイザリの編集
intro: '{% data variables.product.prodname_advisory_database %} で公開したアドバイザリに対する改善を送信することができます。'
title: Editing security advisories in the GitHub Advisory Database
intro: 'You can submit improvements to any advisory published in the {% data variables.product.prodname_advisory_database %}.'
redirect_from:
- /code-security/security-advisories/editing-security-advisories-in-the-github-advisory-database
- /code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/editing-security-advisories-in-the-github-advisory-database
@ -17,37 +17,39 @@ topics:
- Vulnerabilities
- CVEs
shortTitle: Edit Advisory Database
ms.openlocfilehash: 062779bfb9a39a651b10501c523047f3ae2805b6
ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5
ms.translationtype: HT
ms.contentlocale: ja-JP
ms.lasthandoff: 09/05/2022
ms.locfileid: '147409412'
---
## {% data variables.product.prodname_advisory_database %} でのアドバイザリの編集について
[github.com/advisories](https://github.com/advisories) で、{% data variables.product.prodname_advisory_database %} のセキュリティ アドバイザリは、グローバル アドバイザリと見なされます。 {% data variables.product.prodname_advisory_database %} のグローバル セキュリティ アドバイザリに対する改善は、誰でも提案することができます。 影響を受けるエコシステム、重大度レベル、または影響を受けるユーザーの説明など、任意の詳細を編集または追加できます。 {% data variables.product.prodname_security %} キュレーション チームは、送信された改善を確認し、受け入れられた場合は {% data variables.product.prodname_advisory_database %} にそれらを発行します。
{% ifversion fpt or ghec %}リポジトリ レベルのセキュリティ アドバイザリを編集できるのは、リポジトリの所有者と管理者だけです。 詳しくは、「[リポジトリ セキュリティ アドバイザリの編集](/code-security/security-advisories/editing-a-security-advisory)」を参照してください。{% endif %}
## GitHub Advisory Database でのアドバイザリの編集
## About editing advisories in the {% data variables.product.prodname_advisory_database %}
Security advisories in the {% data variables.product.prodname_advisory_database %} at [github.com/advisories](https://github.com/advisories) are considered global advisories. Anyone can suggest improvements on any global security advisory in the {% data variables.product.prodname_advisory_database %}. You can edit or add any detail, including additionally affected ecosystems, severity level or description of who is impacted. The {% data variables.product.prodname_security %} curation team will review the submitted improvements and publish them onto the {% data variables.product.prodname_advisory_database %} if accepted.
{% ifversion fpt or ghec %}
Only repository owners and administrators can edit repository-level security advisories. For more information, see "[Editing a repository security advisory](/code-security/security-advisories/editing-a-security-advisory)."{% endif %}
1. https://github.com/advisories に移動します。
2. コントリビュートするセキュリティ アドバイザリを選びます。
3. ページの右側にある **[この脆弱性に対する改善の提案]** リンクをクリックします。
![改善の提案のリンク](/assets/images/help/security/suggest-improvements-to-advisory.png)
4. コントリビューション フォームに必要な改善を記入します。 任意の詳細を編集または追加できます。
5. アドバイザリの編集が完了したら、 **[改善の送信]** をクリックします。
6. 改善を送信すると、{% data variables.product.prodname_security %} キュレーション チームによって、[github/advisory-database](https://github.com/github/advisory-database) でその変更を含む pull request がレビュー用に作成されます。 アドバイザリが {% data variables.product.prodname_dotcom %} リポジトリから作成された場合は、元の発行元にオプションの注釈のタグも付けられます。 pull request を表示し、それが更新またはクローズされたときに通知を受け取ることができます。
## Editing advisories in the GitHub Advisory Database
[github/advisory-database](https://github.com/github/advisory-database) リポジトリのアドバイザリ ファイルで pull request を直接開くこともできます。 詳しくは、[コントリビューション ガイドライン](https://github.com/github/advisory-database/blob/main/CONTRIBUTING.md)に関するページをご覧ください。
1. Navigate to https://github.com/advisories.
1. Select the security advisory you would like to contribute to.
1. On the right-hand side of the page, click the **Suggest improvements for this vulnerability** link.
![Screenshot of the suggest improvements link](/assets/images/help/security/suggest-improvements-to-advisory.png)
1. In the contribution form, make the desired improvements. You can edit or add any detail.{% ifversion security-advisories-reason-for-change %}
1. Under **Reason for change**, explain why you want to make this improvement. If you include links to supporting material this will help our reviewers.
![Screenshot of the reason for change field](/assets/images/help/security/security-advisories-suggest-improvement-reason.png){% endif %}
1. When you finish editing the advisory, click **Submit improvements**.
1. Once you submit your improvements, a pull request containing your changes will be created for review in [github/advisory-database](https://github.com/github/advisory-database) by the {% data variables.product.prodname_security %} curation team. If the advisory originated from a {% data variables.product.prodname_dotcom %} repository, we will also tag the original publisher for optional commentary. You can view the pull request and get notifications when it is updated or closed.
You can also open a pull request directly on an advisory file in the [github/advisory-database](https://github.com/github/advisory-database) repository. For more information, see the [contribution guidelines](https://github.com/github/advisory-database/blob/main/CONTRIBUTING.md).
{% ifversion security-advisories-ghes-ghae %}
## {% data variables.product.product_location %}からのアドバイザリの編集
## Editing advisories from {% data variables.product.product_location %}
{% data variables.product.prodname_github_connect %} が {% data variables.product.product_location %}に対して有効になっている場合は、インスタンス URL に `/advisories` を追加することでアドバイザリを確認できます。
If you have {% data variables.product.prodname_github_connect %} enabled for {% data variables.product.product_location %}, you will be able to see advisories by adding `/advisories` to the instance url.
1. `https://HOSTNAME/advisories` に移動します。
2. コントリビュートするセキュリティ アドバイザリを選びます。
3. ページの右側にある **[Github.com のこの脆弱性に対する改善の提案]** リンクをクリックします 。 {% data variables.product.prodname_dotcom_the_website %} で同じセキュリティ アドバイザリが表示された新しいタブが開きます。
![改善の提案のリンク](/assets/images/help/security/suggest-improvements-to-advisory-on-github-com.png)
4. 上記の「[GitHub アドバイザリ データベースでのアドバイザリの編集](#editing-advisories-in-the-github-advisory-database)」の手順 4 から 6 に従って、アドバイザリを編集します。
1. Navigate to `https://HOSTNAME/advisories`.
2. Select the security advisory you would like to contribute to.
3. On the right-hand side of the page, click the **Suggest improvements for this vulnerability on Github.com.** link. A new tab opens with the same security advisory on {% data variables.product.prodname_dotcom_the_website %}.
![Suggest improvements link](/assets/images/help/security/suggest-improvements-to-advisory-on-github-com.png)
4. Edit the advisory, following steps four through six in "[Editing advisories in the GitHub Advisory Database](#editing-advisories-in-the-github-advisory-database)" above.
{% endif %}

Просмотреть файл

@ -86,7 +86,7 @@ childGroups:
- issues
- search-github
- name: Developers
octicon: MarkGithubIcon
octicon: CodeSquareIcon
children:
- developers
- rest

Просмотреть файл

@ -1,6 +1,6 @@
---
title: プル要求のマージ
intro: 作業が完了したら、プルリクエストを上流ブランチにマージします。 リポジトリに対してプッシュアクセスを持つユーザなら誰でもマージを実行できます。
title: Merging a pull request
intro: Merge a pull request into the upstream branch when work is completed. Anyone with push access to the repository can complete the merge.
redirect_from:
- /github/collaborating-with-issues-and-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request
- /articles/merging-a-pull-request
@ -13,70 +13,66 @@ versions:
ghec: '*'
topics:
- Pull requests
ms.openlocfilehash: cccb85404c9cfe7305d639911528afed3706edfa
ms.sourcegitcommit: fb047f9450b41b24afc43d9512a5db2a2b750a2a
ms.translationtype: HT
ms.contentlocale: ja-JP
ms.lasthandoff: 09/11/2022
ms.locfileid: '145137763'
---
## プルリクエストのマージについて
## About pull request merges
プルリクエストでは、head ブランチに加えた変更をベースブランチにマージすることを提案します。 デフォルトでは、head ブランチがベースブランチとコンフリクトしていない限り、どのプルリクエストもいつでもマージできます。 ただし、プルリクエストを特定のブランチにマージできるタイミングには制限がある場合があります。 たとえば、必須のステータスチェックに合格した場合にのみ、プルリクエストをデフォルトブランチにマージできます。 詳細については、「[保護されたブランチについて](/github/administering-a-repository/about-protected-branches)」を参照してください。
In a pull request, you propose that changes you've made on a head branch should be merged into a base branch. By default, any pull request can be merged at any time, unless the head branch is in conflict with the base branch. However, there may be restrictions on when you can merge a pull request into a specific branch. For example, you may only be able to merge a pull request into the default branch if required status checks are passing. For more information, see "[About protected branches](/github/administering-a-repository/about-protected-branches)."
{% data reusables.pull_requests.you-can-auto-merge %}
pull request でマージ コンフリクトが発生する場合、またはマージの前に変更をテストしたい場合は、コマンドラインを使用して、[pull request をローカルでチェックアウト](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally)してマージすることができます。
If the pull request has merge conflicts, or if you'd like to test the changes before merging, you can [check out the pull request locally](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally) and merge it using the command line.
ドラフトのプルリクエストをマージすることはできません。 pull request の詳細については、「[pull requests について](/articles/about-pull-requests#draft-pull-requests)」を参照してください。
You can't merge a draft pull request. For more information about draft pull requests, see "[About pull requests](/articles/about-pull-requests#draft-pull-requests)."
プルリクエストをマージするとプルリクエストの head ブランチが自動的に削除されるようにリポジトリを設定できます。 詳細については、「[ブランチの自動削除を管理する](/github/administering-a-repository/managing-the-automatic-deletion-of-branches)」を参照してください。
The repository may be configured so that the head branch for a pull request is automatically deleted when you merge a pull request. For more information, see "[Managing the automatic deletion of branches](/github/administering-a-repository/managing-the-automatic-deletion-of-branches)."
{% note %}
**注:** {% data reusables.pull_requests.retargeted-on-branch-deletion %} 詳細については、「[ブランチについて](/github/collaborating-with-issues-and-pull-requests/about-branches#working-with-branches)」を参照してください。
**Note:** {% data reusables.pull_requests.retargeted-on-branch-deletion %}
For more information, see "[About branches](/github/collaborating-with-issues-and-pull-requests/about-branches#working-with-branches)."
{% endnote %}
pull request は、高速転送オプションを使用してマージされる、[スカッシュまたはリベースされるコミットを含む pull request](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges) を除き、[ `--no-ff`オプション](https://git-scm.com/docs/git-merge#_fast_forward_merge)を使用してマージされます。
Pull requests are merged using [the `--no-ff` option](https://git-scm.com/docs/git-merge#_fast_forward_merge), except for [pull requests with squashed or rebased commits](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges), which are merged using the fast-forward option.
{% data reusables.pull_requests.close-issues-using-keywords %}
トピック ブランチでの変更を上流ブランチにマージしない場合は、マージせずに [pull request をクローズする](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/closing-a-pull-request)ことができます。
If you decide you don't want the changes in a topic branch to be merged to the upstream branch, you can [close the pull request](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/closing-a-pull-request) without merging.
## プル要求のマージ
## Merging a pull request
{% webui %}
{% data reusables.repositories.sidebar-pr %}
2. [Pull Requests] リストで、マージしたいプルリクエストをクリックします。
3. リポジトリで有効なマージオプションに応じて、以下の操作が可能です:
- **[pull request をマージする]** をクリックして、[すべてのコミットをベース ブランチにマージします](/articles/about-pull-request-merges/)。 **[pull request をマージする]** オプションが表示されていない場合は、マージのドロップダウン メニューをクリックして **[マージ コミットの作成]** をクリックします。
2. In the "Pull Requests" list, click the pull request you'd like to merge.
3. Depending on the merge options enabled for your repository, you can:
- [Merge all of the commits into the base branch](/articles/about-pull-request-merges/) by clicking **Merge pull request**. If the **Merge pull request** option is not shown, then click the merge drop down menu and select **Create a merge commit**.
![merge-pull-request-button](/assets/images/help/pull_requests/pullrequest-mergebutton.png)
- [マージ] ドロップダウン メニューをクリックし、 **[スカッシュとマージ]** を選択し、 **[スカッシュとマージ]** ボタンをクリックして、[コミットを 1 つのコミットにスカッシュします](/articles/about-pull-request-merges/#squash-and-merge-your-pull-request-commits)。
- [Squash the commits into one commit](/articles/about-pull-request-merges/#squash-and-merge-your-pull-request-commits) by clicking the merge drop down menu, selecting **Squash and merge** and then clicking the **Squash and merge** button.
![click-squash-and-merge-button](/assets/images/help/pull_requests/select-squash-and-merge-from-drop-down-menu.png)
- マージ ドロップダウン メニューをクリックし、 **[リベースとマージ]** を選択し、 **[リベースとマージ]** ボタンをクリックして、[コミットをベース ブランチに個別にリベースします](/articles/about-pull-request-merges/#rebase-and-merge-your-pull-request-commits)。
- [Rebase the commits individually onto the base branch](/articles/about-pull-request-merges/#rebase-and-merge-your-pull-request-commits) by clicking the merge drop down menu, selecting **Rebase and merge** and then clicking the **Rebase and merge** button.
![select-rebase-and-merge-from-drop-down-menu](/assets/images/help/pull_requests/select-rebase-and-merge-from-drop-down-menu.png)
{% note %}
**注:** リベースおよびコミットを行うと、常にコミッターの情報が更新され、新しいコミット SHA が作成されます。 詳細については、「[pull request のマージについて](/articles/about-pull-request-merges#rebase-and-merge-your-pull-request-commits)」を参照してください。
**Note:** Rebase and merge will always update the committer information and create new commit SHAs. For more information, see "[About pull request merges](/articles/about-pull-request-merges#rebase-and-merge-your-pull-request-commits)."
{% endnote %}
4. 要求されたら、コミットメッセージを入力するか、デフォルトのメッセージのままにします。
4. If prompted, type a commit message, or accept the default message.
{% data reusables.pull_requests.default-commit-message-squash-merge %} ![[コミット メッセージ] フィールド](/assets/images/help/pull_requests/merge_box/pullrequest-commitmessage.png)
{% data reusables.pull_requests.default-commit-message-squash-merge %}
![Commit message field](/assets/images/help/pull_requests/merge_box/pullrequest-commitmessage.png)
{% data reusables.files.choose-commit-email %}
{% note %}
**注:** メール セレクターは、マージ コミットを作成しないリベース マージ、または pull request を作成したユーザーをスカッシュ コミットの作者としてクレジットするスカッシュ マージには使用できません。
**Note:** The email selector is not available for rebase merges, which do not create a merge commit{% ifversion squash-merge-email %}. For squash merges, the email selector is only shown if you are the pull request author and you have more than one email address associated with your account.{% else %}, or for squash merges, which credit the user who created the pull request as the author of the squashed commit.{% endif %}
{% endnote %}
6. **[マージを確認する]** 、 **[スカッシュとマージを確認する]** または **[リベースとマージを確認する]** をクリックします。
6. 必要に応じて、[ブランチを削除](/articles/deleting-unused-branches)します。 こうすることで、リポジトリにあるブランチのリストが整理された状態を保てます。
6. Click **Confirm merge**, **Confirm squash and merge**, or **Confirm rebase and merge**.
6. Optionally, [delete the branch](/articles/deleting-unused-branches). This keeps the list of branches in your repository tidy.
{% endwebui %}
@ -84,15 +80,15 @@ pull request は、高速転送オプションを使用してマージされる
{% data reusables.cli.cli-learn-more %}
pull request をマージするには、`gh pr merge` サブコマンドを使用します。 `pull-request` を、pull request の番号、URL、またはヘッド ブランチと置き換えます。
To merge a pull request, use the `gh pr merge` subcommand. Replace `pull-request` with the number, URL, or head branch of the pull request.
```shell
gh pr merge <em>pull-request</em>
```
対話型のプロンプトに従って、マージを完了します。 選択できるマージ メソッドの詳細については、「[pull request のマージについて](/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges)」を参照してください。
Follow the interactive prompts to complete the merge. For more information about the merge methods that you can choose, see "[About pull request merges](/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges)."
または、フラグを使用して対話型のプロンプトをスキップすることができます。 たとえば、このコマンドはコミット メッセージ "my squash commit" を使用してコミットを 1 つのコミットにスカッシュし、スカッシュされたコミットをベース ブランチにマージしてから、ローカルおよびリモート ブランチを削除します。
Alternatively, you can use flags to skip the interactive prompts. For example, this command will squash the commits into a single commit with the commit message "my squash commit", merge the squashed commit into the base branch, and then delete the local and remote branch.
```shell
gh pr merge 523 --squash --body "my squash commit" --delete-branch
@ -100,9 +96,9 @@ gh pr merge 523 --squash --body "my squash commit" --delete-branch
{% endcli %}
## 参考資料
## Further reading
- [Pull Request を打ち消す](/articles/reverting-a-pull-request)
- {% data variables.product.prodname_desktop %} を使用した[ブランチの同期](/desktop/guides/contributing-to-projects/syncing-your-branch/)
- [pull request のマージについて](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges)
- [マージコンフリクトへの対処](/github/collaborating-with-pull-requests/addressing-merge-conflicts)
- "[Reverting a pull request](/articles/reverting-a-pull-request)"
- "[Syncing your branch](/desktop/guides/contributing-to-projects/syncing-your-branch/)" using {% data variables.product.prodname_desktop %}
- "[About pull request merges](/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges)"
- "[Addressing merge conflicts](/github/collaborating-with-pull-requests/addressing-merge-conflicts)"

Просмотреть файл

@ -0,0 +1,123 @@
---
title: GitHub コミュニティの行動規範
redirect_from:
- /articles/github-community-forum-code-of-conduct
- /github/site-policy/github-community-forum-code-of-conduct
- /github/site-policy/acceptable-use-policies/github-community-forum-code-of-conduct
- /site-policy/github-terms/github-community-forum-code-of-conduct
versions:
fpt: '*'
topics:
- Policy
- Legal
ms.openlocfilehash: 72b487e302242e4809cd267dc10e7041e7e21d8d
ms.sourcegitcommit: d298d354a4585e6c154f2a8428aebb214d49e2a1
ms.translationtype: HT
ms.contentlocale: ja-JP
ms.lasthandoff: 09/07/2022
ms.locfileid: '147858669'
---
## 概要および目的
世界中の何百万人もの開発者が、GitHub で何百万ものプロジェクト (オープン ソースとクローズド ソースの両方) をホストしています。 当社は、開発者コミュニティの日々のコラボレーションに貢献できて幸いに思います。これは軽々しく考えてはならない当社の責任です。 同時に、当社には誇りに思うことができるこのコミュニティを実現するための絶好の機会があります。
GitHub Discussions を利用した GitHub コミュニティは、コラボレーション、サポート、およびブレインストーミングを推進する場となることを目的としています。 ここは、他のユーザーとつながり、新しいスキルを学び、意見やアイデアを共有し、さらに GitHub プロジェクトに必要なサポートを得るための文化的な場です。 GitHub コミュニティに参加することにより、GitHub.com に適用される[サービス条件](/github/site-policy/github-terms-of-service/)および [GitHub 利用規約](/github/site-policy/github-acceptable-use-policies)、ならびにこの GitHub コミュニティに固有の行動規範にも同意したことになります。
この行動規範により、当社は、GitHub コミュニティで協力する最善の方法、モデレーターにできること、およびコミュニティへの参加が一時的または永久に停止される可能性のある行為やコンテンツの種類について理解する助けになることを願っています。 当社は不正行為の報告を調査し、GitHub 利用規約または本行動規範のいずれかに違反していると当社が判断した GitHub コミュニティ内の公開コンテンツをモデレートすることがあります。
ユーザーのベースが異なれば、その視点、アイデア、経験は異なります。先週、初めて「Hello World」プロジェクトを作った人から、世界で最も有名なソフトウェア開発者まで、さまざまなユーザーがいます。 当社は、開発者が最高の仕事をするための安全な場所を維持しながら、GitHub が当社のコミュニティで提供する必要があるさまざまな意見や視点に対応する環境になるように取り組んでいます。
## 誓約
当社は、オープンで居心地の良い環境を作るために、投稿者および管理者として GitHub コミュニティへ参加するにあたり、年齢、体格、障碍、民族、性同一性、性表現、経験の程度、国籍、容姿、人種、宗教、性アイデンティティ、性的指向に関するハラスメントを誰に対しても行わないことを誓います。
## 標準
GitHub コミュニティには、敬意をもって接してください。 私たちは共有のリソースです。すなわち、スキル、知識、関心を、会話を通じて分かち合う場です。
以下は、杓子定規の決まりごとではなく、コミュニティにおける人間の判断を助けるためのものです。 気持ちよい、礼儀正しい話し合いの場である状態を保つため、このガイドラインを用いましょう。
### *強いコミュニティを維持するためのベスト プラクティス*
GitHub コミュニティの主な目的は、ソフトウェア プロジェクトでコラボレーションすることです。 私たちは、ユーザーが自由に自己表現し、技術的な内容であるかにかかわらず、お互いのアイデアについて意見を交換できるコミュニティを維持できるように取り組んでいます。 同時に、ユーザーが敬意を払い、他のユーザーがオープンに投稿できる場を許容することが重要です。 安全で生産性の高い環境を作るために、当社では、コミュニティ メンバーにプラットフォーム上で対話を行う方法を示すこれらのガイドラインに目を向けるよう推奨しています。 GitHub コミュニティの重要なメンバーとして適切に対話を行う方法について、いくつかの提案を以下に示します。
- 配慮と敬意を持って接しましょう。
- **広い心で受け入れる** - 毎日、新しいユーザーが当社のコミュニティに参加します。 経験豊富な開発者もいれば、初心者もいます。 他のアイデアや経験レベルを受け入れてください。 自分以外の意見にも耳を傾け、新しいコラボレーターや初心者を受け入れてください。
- **敬意を払う** - 協力的な環境で作業することは、意見の相違が生じる可能性があることを意味します。 ただし、批判すべきはアイデアであって、人ではありません。 思慮深く建設的な批判を共有し、礼儀正しく接してください。 敬意を持って接することができない場合は、一歩下がるか、いくつかのモデレーション ツールを使用して緊張状態を緩和することを検討してください。
- **共感的になる** - GitHub は、その多くが自分とは異なる可能性があるさまざまな背景や視点を持つ人々とのグローバル コミュニティです。 他の人の立場になって考えてみて、彼らの気持ちを理解してから対応してください。 GitHub を他の人が安心して投稿し、ディスカッションに参加し、さまざまなアイデアを共有できるコミュニティにするために最善を尽くしてください。
- 肯定的、建設的な方法で投稿してください。
- **ディスカッションを向上させる。** ディスカッションを少しでも向上させるように努め、コミュニティが最適なディスカッションの場になるようご協力ください。 投稿が会話を深めるか自信がない場合は、何を言いたいかをまず考えてみてください。
この場で話し合われる話題は私たちにとって大切であるため、それを大切にしてもらいたいと思います。 何か同意できないことがある場合でも、話題やそれを話し合う人々を尊重してください。
- **明確に伝え、トピックから逸脱しない。** GitHub コミュニティは、コラボレーション、アイデアの共有、そしてお互いの作業を完了するための支援の場です。 トピックから逸脱したコメントは、生産的に働いて作業を完了するという目的から気をそらしてしまいます (たまにはいいかもしれませんが、普段は慎みましょう)。 トピックに集中することで、ポジティブで生産的な議論が生まれます。
これは、リンクを共有する場合にも当てはまります。 GitHub コミュニティのディスカッションでリンクを共有す場合、関連する適切な情報を提供する必要があります。 単にトラフィックを呼び込んだり、サイトに注目を集めたりするためにリンクを投稿すべきではありません。 リンクを共有する場合は、常にリンク先のコンテンツや目的についての十分な説明を添えてください。 関連性や価値あるコンテンツがない、不要なリンクを投稿すると、広告や悪意の目的があるものと受け取られる可能性があります。
- **伝え方に注意する。** 他の人にフィードバックを求めたり、プロジェクトへのコラボレーションを求めたりする場合は、背景を伝えるため、有益で関連するリソースのみを共有してください。 ディスカッションに価値を付加しないリンクや、自分のプロジェクトやサイトへのリンクをむやみに他のユーザーのスレッドに投稿しないでください。
また、機密情報を書き込まないでください。 これには、あなたの電子メール アドレスも含まれます。 GitHub コミュニティでは、投稿者や他のユーザーにとって安全やプライバシーのリスクが生じるため、そのような情報の書き込みを許可していません。 他の GitHub ユーザーをプロジェクトのコラボレーションや共同作業に招待したい場合は、作業中のプロジェクトにあるリポジトリのリンクを伝えてください。 プロジェクトの内容や、求めている支援やフィードバックについての情報を添えて、プロジェクトのリポジトリへのリンクを共有することで、あなたの個人情報を伝えることなく、イシューやプル リクエストを通じてコラボレーションするように他の人々を招待できます。 また、プロジェクトのリポジトリに他者を外部のコラボレーターとして追加し、プロジェクトを開発するために役立つ特別な権限を与えることも可能です。
- **秩序正しく。** 適切な場所に書くことに気をつけて、内容の整理よりもディスカッションに多くの時間を割けるようにしましょう。 そのために、以下のことにご協力ください。
- 間違ったカテゴリでディスカッションを開始しないでください。
- 複数のディスカッションに同じ内容をクロスポストしないでください。
- 中身のない返信を投稿しないでください。
- 新しく適切な情報を共有するのでない限り、スレッドを上げないでください。
- 話の流れを途中で変えて、ディスカッションの話題を逸らさないでください。
「+1」や「賛成」と投稿するよりも、賛成票を投じるボタンを使用してください。 既存のディスカッションをまったく別の方向に進めるよりも、新たなディスカッションを開始しましょう。
- 信頼されるようになりましょう。
- **常に正直に。** 誤った情報を故意に共有したり、他の GitHub コミュニティ参加者を意図的に誤解させたりしないでください。 質問の答えはわからないもの手を貸したい場合は、情報収集やリソースのリサーチを手伝うことができます。 GitHub スタッフもコミュニティで活動しているため、答えがわからない場合は、モデレーターの助けを受けられる可能性があります。
### *禁止事項*
GitHub の[利用規約](/github/site-policy/github-terms-of-service/)の一部である GitHub の[サービス条件](/site-policy/acceptable-use-policies/github-acceptable-use-policies)は、GitHub での禁止事項に関するベースラインを設定するものです。 GitHub コミュニティは GitHub.com 上に存在するため、以下の制限を含むこれらの規約と制限事項が GitHub コミュニティに適用されます。
- **13 歳未満の方。** 13 未満のお子様の場合、GitHub でアカウントを保有することはできません。 GitHub は、13 歳未満の子どもから意図的に情報を収集せず、13 歳未満の子どもを対象としたコンテンツを提供しません。 当社は、お客様が 13 歳未満のユーザーであることを知った場合、またはそうであると疑う理由がある場合、残念ながら GitHub.com アカウントを閉鎖する必要があります。 当社はお客様がコードを学習することに反対したくはありませんが、これらは規則なのです。 アカウントの終了については、当社の[サービス条件](/github/site-policy/github-terms-of-service/)を参照してください。
- **アカウント制限後の新しいアカウントの作成。** GitHub の[サービス条件](/github/site-policy/github-terms-of-service/)には、「単一の個人または法人が維持できる無料アカウントは 1 つのみです」と記載されています。 GitHub でフラグが設定されているか一時停止されたアカウントについて問い合わせるために作成された追加の無料アカウントは削除されます。
- **職場で合理的に不適切と見なされる可能性があるその他の行動。** GitHub コミュニティはプロフェッショナルな場であり、それにふさわしい振る舞いが求められます。
- **サービス条件への違反。** お客様の GitHub.com アカウントが[サービス条件](/github/site-policy/github-terms-of-service/)に違反していることが確認された場合、当社ではお客様のアカウントを閉鎖する必要があります。
## 適用
### GitHub コミュニティ参加者ができること
- **問題を見つけた場合は、報告してください。** モデレーターは特別な権限を持ち、この GitHub コミュニティに対して責任があります。 しかし、あなたもコミュニティに責任を負っているのです。 あなたの助けがあってこそ、モデレーターは守衛や警察のように振る舞うだけでなく、コミュニティの進行役を努めることができます。
悪意のある書き込みを見ても、返信しないでください。 その存在を認識することで、悪い振る舞いが促され、あなたを疲弊させ、みんなの時間を無駄にします。 混乱をもたらすユーザーまたは混乱をもたらすコンテンツを GitHub に報告できます。 詳細については、「[悪用あるいはスパムをレポートする](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam)」を参照してください。
### 私たちの責任
不適切な行動やコンテンツの報告に対して当社が講じる措置はさまざまです。 通常、事態の正確な状況次第で決まります。 当社では、人はさまざまな理由で不適切な発言や行動をしてしまうことがあると認識しています。 自分の言葉がどのように受け取られるのかをわかっていなかったという場合もあるでしょう。 また、つい感情的になってしまったという場合もあるでしょう。 もちろん、単に迷惑メールをばらまいたり、トラブルを引き起こすことを目的とする人がいることも事実です。
ケースバイケースで異なるアプローチが必要なため、当社は状況に合った対応を行うように心がけています。 このため、それぞれの状況を個別に確認しています。 いずれの場合も、多様性に富んだチームがコンテンツとそれに関する事情を調査し、必要に応じて対応し、この行動規範に基づいて決定を下します。
フラグや不正行為の報告を受けた際に当社が講じる措置には以下が含まれますが、これらに限定されません。
- コンテンツの削除
- コンテンツのブロック
- GitHub アカウントの一時停止
- GitHub アカウントの契約解除
行動規範を誠実に遵守もしくは施行しない GitHub コミュニティ モデレーターは、GitHub コミュニティの幹部である他のメンバーによる裁定により、一時的または永久的な処分を受ける可能性があります。
## GitHub スタッフへの連絡
何らかの理由で、GitHub スタッフ、コミュニティ管理者、管理者、または GitHub コミュニティのモデレーターにプライベートで連絡したい場合は、[サポート連絡フォーム](https://support.github.com/contact?tags=docs-community-support)を使用できます。 一方的なメンションや ping を介して、または GitHub コミュニティ自体もしくはサポート連絡フォーム以外の手段で GitHub スタッフのメンバーに連絡することは極力お控えください。そうした行為は、ハラスメント禁止に対する違反と見なされる場合があります。
お互いの存在と時間を尊重することにより、GitHub コミュニティを安心して参加できる場に保つよう協力しましょう。
## 法定通知
法律的な言葉は退屈なものですが、私たちは自分自身、その延長として皆さんやそのデータを、敵意ある人々から守る必要があります。 当社の[サービス条件](/github/site-policy/github-terms-of-service/)には、[利用規約](/github/site-policy/github-acceptable-use-policies)と、コンテンツ、プライバシー、および法律に関連するお客様 (と当社) の行動と権利が記載された[プライバシーに関する声明](/github/site-policy/github-privacy-statement/)が含まれています。 このサービスを使用するには、[サービス条件](/github/site-policy/github-terms-of-service/)、[GitHub 利用規約](/github/site-policy/github-acceptable-use-policies)、および[プライバシーに関する声明](/github/site-policy/github-privacy-statement/)に従うことに同意しなければなりません。
この行動規範は、当社の[サービス条件](/github/site-policy/github-terms-of-service/) (当社の[利用規約](/github/site-policy/github-acceptable-use-policies)を含む) を変更するものではなく、また包括的なリストであることを意図したものではありません。 GitHub は、[サービス条件](/github/site-policy/github-terms-of-service/)に基づいて、非合法、攻撃的、脅迫的、中傷、名誉毀損、ポルノ、わいせつ、その他不快なもの、他者の知的財産権や当社のサービス条件に違反するものであるなどの理由から、これらの規約に反する行為に対してあらゆるコンテンツまたはアカウントの削除または制限を実施できる、完全な裁量を保持します。 本行動規範は、かかる裁量を行使する場合について説明しています。
### データの保持と削除
お客様が GitHub ユーザーである場合は、[ユーザー プロファイルを編集する](https://github.com/settings/profile)か、[GitHub サポート](https://support.github.com/contact)に連絡することによって、基本的なユーザー プロファイル情報へのアクセス、更新、変更、または削除を行うことができます。 当社は、当社の法的義務の遵守、紛争の解決、および当社の契約の履行のために、必要に応じてお客様の情報を保持して使用しますが、法的要件がない限り、当社はお客様の要求から 90 日以内にお客様のプロファイル全体を妥当な範囲で削除します。 詳細については、[GitHub のプライバシーに関する声明](/github/site-policy/github-privacy-statement)を参照してください。

Просмотреть файл

@ -8,17 +8,14 @@ versions:
topics:
- Policy
- Legal
ms.openlocfilehash: eab72dc5769e26fd5de12865e29404e7271d4557
ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac
ms.openlocfilehash: 083bccdf0b4baf040d27bf4078c391001b60f206
ms.sourcegitcommit: d298d354a4585e6c154f2a8428aebb214d49e2a1
ms.translationtype: HT
ms.contentlocale: ja-JP
ms.lasthandoff: 08/29/2022
ms.locfileid: '147099205'
ms.lasthandoff: 09/07/2022
ms.locfileid: '147858649'
---
_本条件は、1) 企業向けサービス条件に同意した GitHub.com (Enterprise でない) のお客様、および 2) 2021 年 1 月 4 日より前に本サービスのライセンスを取得した法人のお客様に適用されます。その日以降に製品またはサービスを購入した法人のお客様は、現在の条件の https://github.com/enterprise-legal に誘導されます。_
貴社のビジネス ニーズに合わせて GitHub をお選びいただきありがとうございます。 本契約は、GitHub がその目的のためにお客様と別途書面による契約を締結していない限り、製品 (以下に定義) の使用を規定するため、注意深くお読みください。
[同意する] ボタンまたは同様のボタンをクリックするか、製品にアクセスすることにより、お客様は本契約のすべての条件に同意したものとします。 お客様が企業またはその他の法人を代表して本契約を締結する場合、お客様は、当該の企業またはその他の法人を本契約に拘束する法的権限を有することを表明するものとします。
本契約は、企業向けサービス条件を参照する契約を締結した GitHub.com ご利用のお客様に適用されます。その他すべての企業または機関のお客様は、[github.com/customer-terms](https://github.com/customer-terms) にアクセスして最新の契約条件をご確認ください。
## GitHub の企業向けサービス条件
バージョン発効日:2020 年 11 月 16 日

Просмотреть файл

@ -12,12 +12,12 @@ versions:
topics:
- Policy
- Legal
ms.openlocfilehash: 31b10a4119a78f8c98767f185a6ba65bbbbc012a
ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac
ms.openlocfilehash: 8797f3c85a5db4be9d00976619fd7adde470cb93
ms.sourcegitcommit: d298d354a4585e6c154f2a8428aebb214d49e2a1
ms.translationtype: HT
ms.contentlocale: ja-JP
ms.lasthandoff: 08/29/2022
ms.locfileid: '147099213'
ms.lasthandoff: 09/07/2022
ms.locfileid: '147858650'
---
バージョン発効日: 2021 年 8 月 10 日
@ -26,9 +26,9 @@ GitHub を利用する際、数多くの追加製品や機能 (以下「追加
追加の製品および機能を使用することにより、お客様は、適用される下記の「追加の製品および機能に適用される GitHub 条件」にも同意するものとします。 これらの「追加の製品および機能に適用される GitHub 条件」に対する違反は、本契約の違反になります。 用語のうちここで定義されていないものについては、本契約における定義が適用されます。
**エンタープライズ ユーザー向け**
- **GitHub Enterprise Cloud** のユーザーは、Actions、Advanced Security、Advisory Database、Codespaces、Dependabot Preview、GitHub Enterprise Importer、Learning Lab、Packages、および Pages の追加の製品および機能にアクセスできます。
- **GitHub Enterprise Cloud** のユーザーは、Actions、Advanced Security、Advisory Database、Codespaces、Dependabot Preview、GitHub Enterprise Importer、Packages、および Pages の追加の製品および機能にアクセスできます。
- **GitHub Enterprise Server** のユーザーは、Actions、Advanced Security、Advisory Database、Connect、Dependabot Preview、GitHub Enterprise Importer、Learning Lab、Packages、Pages、および SQL Server Images の追加の製品および機能にアクセスできます。
- **GitHub Enterprise Server** のユーザーは、Actions、Advanced Security、Advisory Database、Connect、Dependabot Preview、GitHub Enterprise Importer、Packages、Pages、および SQL Server Images の追加の製品および機能にアクセスできます。
- **GitHub AE** のユーザーは、Actions、Advanced Security、Advisory Database、Connect、Dependabot Preview、GitHub Enterprise Importer、Packages、および Pages の追加の製品および機能にアクセスできます。
@ -111,19 +111,6 @@ GitHub Copilot は、(i) お客様が希望する遠隔測定設定に応じて
## GitHub Enterprise Importer
Importer は、GitHub プラットフォームにインポートする他のソースからデータをエクスポートするためのフレームワークです。 Importer は「現状のまま」提供されます。
## Learning Lab
GitHub Learning Lab は、GitHub に組み込まれた無料のインタラクティブ コースを提供し、即時の自動フィードバックとヘルプを提供します。
"コース教材" GitHub は、提供するコース教材を所有し、Learning Lab の使用に関連する社内業務目的のために、かかるコース教材をコピー、保守、使用、および実行するための、世界的、非独占的、期間限定、譲渡不能、ロイヤリティフリーのライセンスをお客様に付与します。
コース教材で提供されるソース コードの一部に、オープン ソース ライセンスの条件が適用される場合があります。
お客様は、お客様が作成し、GitHub にそのようなコース教材をコピー、保守、使用、ホスト、および実行するための世界的、非独占的、永続的、譲渡不能、ロイヤリティフリーのライセンスを付与するコース教材を所有します。
GitHub コース教材の使用、およびお客様独自のコース教材の作成と保存は、いずれの当事者のそれぞれの知的財産に対する共同所有権を構成するものでもありません。
個人データの使用には、「[GitHub のプライバシーに関する声明](/github/site-policy/github-privacy-statement)」が適用されます。
## npm
npm は、ソフトウェア パッケージをプライベートまたはパブリックにホストし、プロジェクトの依存関係としてパッケージを使用できるようにするソフトウェア パッケージ ホスティング サービスです。 npm は JavaScript エコシステムの記録のレジストリです。 npm パブリック レジストリは無料で使用できますが、プライベート パッケージを公開したり、チームを使用してプライベート パッケージを管理したりする場合は、お客様宛に請求されます。 [npm ドキュメント](https://docs.npmjs.com/)には、アカウント タイプの制限と、[プライベート パッケージ](https://docs.npmjs.com/about-private-packages)および[組織](https://docs.npmjs.com/organizations)の管理方法の詳細が記載されています。 npm レジストリの許容可能な使用については、[オープン ソースの条件](https://www.npmjs.com/policies/open-source-terms)で概説されています。 また、npm の [solo](https://www.npmjs.com/policies/solo-plan) と [org](https://www.npmjs.com/policies/orgs-plan) の両方のプランに補足の条件があります。 npm の利用には、npm [使用条件](https://www.npmjs.com/policies/terms)が適用されます。

Просмотреть файл

@ -12,12 +12,12 @@ versions:
topics:
- Policy
- Legal
ms.openlocfilehash: e2e18667095ef8d9c30dc3d10384ede21f115456
ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac
ms.openlocfilehash: e483abe3bffda4cdca5ee767b8e06ce4093f074a
ms.sourcegitcommit: d298d354a4585e6c154f2a8428aebb214d49e2a1
ms.translationtype: HT
ms.contentlocale: ja-JP
ms.lasthandoff: 08/29/2022
ms.locfileid: '144556530'
ms.lasthandoff: 09/07/2022
ms.locfileid: '147858632'
---
GitHub.com、GitHub Enterprise Server、およびいずれかの製品にアップロードする情報には、米国輸出管理規則 (EAR) を含む貿易管理規制が適用されます。
@ -53,7 +53,7 @@ GitHub Enterprise Server は、Country Group E:1 in Supplement No. 1 to part 740
### 米国政府が制裁を適用しているのはどの国および地域ですか?
クリミア、ドネツクおよびルハーンスクの分離主義者地域、キューバ、イラン、北朝鮮、およびシリア。 ただし、イランに関しては、GitHub は、イランに拠点を置くか居住する開発者にクラウド サービスを提供する米国財務省海外資産管理局 (OFAC) の許可を得ています。 GitHub クラウド サービスも、有料と無料の両方で、キューバを居住地とする開発者に一般に提供されています。
クリミア、ドネツクおよびルハーンスクの分離主義者地域、キューバ、イラン、北朝鮮、およびシリアです。 ただし、イランに関しては、GitHub は、イランに拠点を置くか居住する開発者にクラウド サービスを提供する米国財務省海外資産管理局 (OFAC) の許可を得ています。 GitHub クラウド サービスも、有料と無料の両方で、キューバを居住地とする開発者に一般に提供されています。
### GitHub は、制裁対象の国および地域に居住していなかったり、専門リンクがない場合でも、どのようにしてアクセスまたは異議申し立てできるようにしているのですか?

Просмотреть файл

@ -10,12 +10,12 @@ versions:
topics:
- Policy
- Legal
ms.openlocfilehash: ee7ad9a57437858e33a51bedf6b03fcf48606079
ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac
ms.openlocfilehash: 991c060af22a9161e026aa396037a1d52e66fcea
ms.sourcegitcommit: d298d354a4585e6c154f2a8428aebb214d49e2a1
ms.translationtype: HT
ms.contentlocale: ja-JP
ms.lasthandoff: 08/29/2022
ms.locfileid: '144556833'
ms.lasthandoff: 09/07/2022
ms.locfileid: '147858620'
---
あなたは、GitHub でホストされているユーザー コンテンツに関連する可能性がある調査を実施する法執行機関の担当者ですか。
そうでなければ、当社が法執行機関と共有する情報と、それを共有する状況を知りたいと思っているプライバシー意識の高い方でしょう。
@ -215,7 +215,7 @@ c/o Corporation Service Company
Sacramento, CA 95833-3505
```
参照コピーは、legal@support.github.com 宛てに電子メールで送付してください
参照コピーは、legal-support@github.com 宛てに電子メールで送付してください
次の情報を含め、できるだけ明確かつ厳密に要求を作成してください。

Просмотреть файл

@ -13,14 +13,14 @@ versions:
topics:
- Policy
- Legal
ms.openlocfilehash: c94f3c4bc3eb2bd056c074309fc1a07e695b9cc5
ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac
ms.openlocfilehash: d8115f14884bf80b64a1f563b1c08ce37691a607
ms.sourcegitcommit: d298d354a4585e6c154f2a8428aebb214d49e2a1
ms.translationtype: HT
ms.contentlocale: ja-JP
ms.lasthandoff: 08/29/2022
ms.locfileid: '147099189'
ms.lasthandoff: 09/07/2022
ms.locfileid: '147858661'
---
発効日: 2022 年 5 月 31 日
発効日: 2022 年 9 月 1 日
ソース コード、プロジェクト、および個人データを GitHub Inc. または GitHub B.V. (以下「GitHub」または「当社」といいます) に委託していただき、ありがとうございます。 本プライバシーに関する声明は、当社の Web サイト、ベータ プレビューを含む GitHub が提供するアプリケーション、ソフトウェア、製品、サービス (総称して「本サービス」) に関連して当社が収集し処理する個人データを含むお客様のデータの収集、使用、開示に関する当社の取り組みを説明するものです。
@ -30,7 +30,7 @@ ms.locfileid: '147099189'
## 要約
当社は、本プライバシーに関する声明に記載されているとおり、お客様の個人情報を使用します。 当社は、お客様の現在地、居住地、または市民権にかかわらず、出身国や地域に関係なく、プライバシー保護に関して世界中のすべてのユーザーに同レベルの高い標準を提供しています。
当社は、本プライバシーに関する声明に記載されているとおり、お客様の個人情報を使用します。 お客様には、現在地、居住地、または保持する市民権にかかわらず、GitHub の製品を使用する際、出身国や地域に関係なく、プライバシー保護に関して世界中のすべてのユーザーと同レベルの高い標準が提供されます。
カリフォルニア州にお住まいの方へのプライバシーに関するお知らせは、[カリフォルニア州消費者プライバシー法に関する GitHub のお知らせ](#githubs-notice-to-california-residents)にアクセスするか、下にスクロールしてご覧ください。
@ -39,13 +39,13 @@ ms.locfileid: '147099189'
| セクション | 本セクションの内容 |
|---|---|
| [お客様の情報の処理に責任を負う者](#who-is-responsible-for-the-processing-of-your-information) | 限られた例外を除き、GitHub は、Web サイトまたは本サービスに関連するお客様の個人データの処理に責任を負う管理者であり事業者です。 |
| [お客様の情報の処理に責任を負う者](#who-is-responsible-for-the-processing-of-your-information) | 北米地域のお客様の場合、限られた例外を除き、GitHub は、Web サイトまたは本サービスに関連するお客様の個人データの処理に責任を負う管理者であり事業者です。 北米以外の地域の個人については、データ管理者は GitHub B.V. です。 |
| [GitHub が収集する情報](#what-information-github-collects) | GitHub は、お客様の登録、支払い、取引、およびユーザー プロファイルについてお客様から直接情報を収集します。 また、必要であればお客様の同意に基づいて、使用状況に関する情報、Cookie、およびデバイス情報をお客様から自動的に収集します。 GitHub は、第三者から個人情報を収集する場合もあります。 当社は、お客様がさらに提供することを選択しない限り、お客様から必要最小限の個人データのみを収集します。|
| [GitHub は情報をどのように使用するか](#how-github-uses-your-information) | 本セクションでは、お客様にサービスを提供する、お客様に連絡する、当社の Web サイトやサービスを向上させ、または当社の Web サイトやサービスの新しい機能や機能性を開発する目的や、セキュリティや法令遵守上の目的などで、当社は情報をどのように使用するかについて説明します。 法的に義務付けられている場合は、情報を処理する法的根拠についても説明します。 |
| [当社は収集した情報をどのように共有するか](#how-we-share-the-information-we-collect) | 当社は以下のいずれかの場合に、お客様の情報を第三者と共有することがあります。お客様の同意を得て、サービス プロバイダーに対し、セキュリティ上の目的で、法的義務を遵守するため、管理の変更や法人または事業単位の売却が行われた場合などです。 当社が個人情報を売却したり、GitHub で広告をホストしたりすることはありません。 |
| [お客様の個人データの処理に関するお客様の選択](#your-choices-regarding-our-processing-of-your-personal-data) | 当社は、お客様が個人情報にアクセス、変更、または削除するための方法を提供しています。 |
| [Cookie](#cookies) | 当社は、当社の Web サイトまたは本サービスを提供、保護、改善、または当社の Web サイトもしくは本サービスの新機能と機能性を開発するために厳密に必要な Cookie のみを使用します。 当社は、その透明性を高めるページを提供しています。 当社は、第三者の分析サービスに情報を送信することはありません。 |
| [GitHub は情報をどのように保護するか](#how-github-secures-your-information) | 当社は、GitHub 上の個人情報の秘密保持、整合性、可用性を守り、サーバーの復元力を保護するために必要なあらゆる対策を講じます。 |
| [Cookie](#cookies) | 当社は、エンタープライズ マーケティング ページで使用する Cookie を除いて、当社の Web サイトまたは本サービスを提供、保護、改善するため、または当社の Web サイトもしくは本サービスの新機能と機能性を開発するために厳密に必要な Cookie のみを使用します。<br><br>下記のとおり、当社は当社の Web サイト上、たとえば resources.github.com 上の特定のページ (総称して "エンタープライズ マーケティング ページ") において、当社のエンタープライズ マーケティング活動をサポートし、当社の製品とサービスをエンタープライズのお客様に販売するために、必須ではない Cookie を使用する場合があります。<br><br>当社は、Cookie のあらゆる用途の透明性を高める[ページ](https://github.com/privacy/cookies)を提供しています。 |
| [GitHub は情報をどのように保護するか](#how-github-secures-your-information) | 当社は、GitHub 上の個人情報の秘密保持、完全性、可用性を守り、サーバーの復元力を保護するために必要なあらゆる対策を講じます。 |
| [通信設定](#communication-preferences) | 当社は電子メールでお客様とのコミュニケーションを図ります。 お客様は、アカウントの設定で、または当社に連絡することにより、連絡方法を管理できます。 |
| [苦情の解決](#resolving-complaints) | 当社が万が一プライバシーに関する懸念を迅速かつ完全に解決できない場合、紛争解決の道筋が用意されています。 |
| [プライバシーに関する声明の変更](#changes-to-our-privacy-statement) | 当社は、かかる変更が有効になる 30 日前に、本プライバシーに関する声明の重要な変更をお客様に通知します。 当社のサイト ポリシー リポジトリで変更を追跡することもできます。 |
@ -62,7 +62,7 @@ ms.locfileid: '147099189'
## お客様の代理で活動する GitHub
場合によっては、GitHub は、当社のサービスに関連して当社が収集し処理する個人データに関してのみ (えば、当該リポジトリの拠出者によってリポジトリに追加された個人データに関して)、お客様を代理して活動します。 このような場合、GitHub は、お客様から要求された本サービスを提供するためにのみ、データを処理します。 当社の[個人情報削除ポリシー](/site-policy/content-removal-policies/github-private-information-removal-policy)に従い、拠出者が個人データの削除を要求する場合、一般的にリポジトリ所有者への通知とリポジトリ所有者の活動が必要となることにご注意ください。
場合によっては、GitHub は、当社のサービスに関連して当社が収集し処理する個人データに関してのみ (たとえば、当該リポジトリの拠出者によってリポジトリに追加された個人データに関して)、お客様を代理して活動します。 このような場合、GitHub は、お客様から要求された本サービスを提供するためにのみ、データを処理します。 当社の[個人情報削除ポリシー](/site-policy/content-removal-policies/github-private-information-removal-policy)に従い、拠出者が個人データの削除を要求する場合、一般的にリポジトリ所有者への通知とリポジトリ所有者の活動が必要となることにご注意ください。
## GitHub が収集する情報
@ -117,7 +117,7 @@ ms.locfileid: '147099189'
一般に公開されている情報源。 当社は、GitHub リポジトリとして公開されている情報源から情報を取得することもあります。
お客様が個人データの提供を要求された場合、拒否することができます。 また、Web ブラウザーやオペレーティング システムの制御を使用して、特定の種類の自動データ収集を防止することができます。 しかし、特定のサービスや機能に必要な情報を提供しない、または許可しないことを選択した場合、それらのサービスや機能が利用できない、または十分に機能しない可能性があります。
個人情報の提供を要求されても、拒否することができます。 また、Web ブラウザーやオペレーティング システムの制御を使用して、特定の種類の自動データ収集を防止することができます。 しかし、特定のサービスや機能に必要な情報を提供しない、または許可しないことを選択した場合、それらのサービスや機能が利用できない、または十分に機能しない可能性があります。
## GitHub はお客様の情報をどのように使用するか
当社は、当社のサービスの提供、管理、分析、管理、運営のためにお客様の情報を使用する場合があります。 当社はお客様の情報を次の目的で使用する場合があります。
@ -127,13 +127,14 @@ ms.locfileid: '147099189'
- お客様およびお客様の好みを理解することにより、当社のサービスのパーソナライズを行い、当社のサービスを利用するお客様の体験と楽しみを向上させること。
- 顧客サポートの提供およびお客様のご質問への対応。
- 新しいサービス、機能、オファー、プロモーション、および当社のサービスに関するその他の情報について、お客様に宣伝のための通信を行うこと。
- エンタープライズ マーケティング ページに関連してお客様が受け取るエンタープライズ事業の広告、プロモーションのお知らせ、またはマーケティングをパーソナライズし、効果を測定すること。
- 確認書、請求書、技術的通知、アップデート、セキュリティ警告、サポートおよび管理用メッセージなどの情報をお客様に送信すること。
当社は、これらの目的のために、また、よりシームレスで一貫性のあるパーソナライズされた体験をお客様に提供するために、異なるソースから収集したデータを組み合わせています。
## 当社は収集した情報をどのように共有するか
当社は、お客様の同意を得、またはお客様の取引を完了し、お客様が要求もしくは承認したサービスを提供するために必要な場合、個人データを共有します。 さらに、当社は、上記のお客様の個人データの各カテゴリを、以下の事業目的のために、以下に記載する種類の第三者と共有する場合があります。
当社は、お客様の同意を得た場合、またはお客様の取引を完了し、お客様が要求もしくは承認したサービスを提供するために必要な場合を含め下記のように個人データを共有します。 さらに、当社は、上記のお客様の個人データの各カテゴリを、以下の事業目的のために、以下に記載する種類の第三者と共有する場合があります。
### 公開情報
お客様は、当社のサービスを通じて、お客様の氏名および/またはユーザー名、ならびにお客様のプロフィール、人口統計データ、コンテンツおよびファイル、または地理的データなどの特定の情報を一般向けに表示し共有するためのオプションを選択することができます。 例えば、公開リポジトリでコメントする際でも、電子メール アドレスを非公開のままにしたい場合は、[設定を調整して、ユーザー プロファイルで電子メール アドレスを非公開にできます](https://github.com/settings/emails)。 また、お客様は、[お客様のローカルの Git 設定を更新して、非公開の電子メール アドレスを使用することもできます](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address)。 コミット メッセージ内の電子メール アドレスの詳細については、[こちら](/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address)を参照してください。
@ -146,13 +147,13 @@ ms.locfileid: '147099189'
お客様は、「開発者製品」と呼ばれるサードパーティ アプリケーションを有効にしたり、お客様のアカウントに追加したりすることができます。 これらの開発者製品は、GitHub の使用に必要ではありません。 当社は、お客様から依頼があった場合、お客様の個人データを当該サードパーティ アプリケーションと共有しますが、お客様は、サードパーティ開発者製品の使用およびお客様が共有することを選択した個人データの量について責任を負うものとします。 お客様が GitHub プロファイルを使用して開発者製品への認証を行う際に提供される情報を確認するには、当社の[API ドキュメント](/rest/reference/users)を参照してください。
### お客様が関与する組織アカウント
お客様は GitHub でのアクションを通じて、お客様の個人データを共有する意思を当社に示すことができます。 お客様が組織アカウントで協働しているか、組織アカウントのメンバーである場合、そのアカウント所有者がお客様の個人データを受領する場合があります。 お客様が組織アカウントへの招待を承認した場合、所有者が閲覧できる情報の種類の通知を受領します (詳細については、「[組織アカウントのメンバーシップについて](/github/setting-up-and-managing-your-github-user-account/about-organization-membership)」をご覧ください)。 アカウント所有者が組織アカウント内の個人データをどのように処理するかと、お客様がアカウントに格納されている個人データへのアクセス、更新、変更、または削除を行う方法の詳細については、アカウント所有者にお問い合わせください。
お客様は GitHub でのアクションを通じて、お客様の個人データを共有する意思を当社に示すことができます。 お客様が組織アカウントで共同作業を行うか、組織アカウントのメンバーになると、そのアカウント所有者がお客様の個人データを受け取ることがあります。 お客様が組織アカウントへの招待を承認した場合、所有者が閲覧できる情報の種類の通知を受領します (詳細については、「[組織アカウントのメンバーシップについて](/github/setting-up-and-managing-your-github-user-account/about-organization-membership)」をご覧ください)。 アカウント所有者が組織アカウント内の個人データをどのように処理するかと、お客様がアカウントに格納されている個人データへのアクセス、更新、変更、または削除を行う方法の詳細については、アカウント所有者にお問い合わせください。
### サービス プロバイダー
当社は、当社のサービスの提供または改善のために当社に代わって情報を処理するサービス プロバイダーとお客様の個人データを共有します。 例えば、当社のサービス プロバイダーは、支払処理、顧客サポートのチケット発行、ネットワーク データ転送、セキュリティ、およびその他の同様のサービスを行います。 GitHub はすべての個人データを米国で処理していますが、当社のサービス プロバイダーは米国国外または欧州連合の域外でデータを処理する場合があります。 サービス プロバイダーによるこのような処理は、関連する転送メカニズムを含め、適用法に従います。
当社は、当社のサービスの提供または改善のために当社に代わって情報を処理するサービス プロバイダーと、お客様の個人データを共有します。 たとえば、当社のサービス プロバイダーは、支払処理、顧客サポートのチケット発行、ネットワーク データ転送、Web 分析、マーケティング運営、セキュリティ、およびその他の同様のサービスを行います。 GitHub はすべての個人データを米国で処理していますが、当社のサービス プロバイダーは米国国外または欧州連合の域外でデータを処理する場合があります。 サービス プロバイダーによるこのような処理は、関連する転送メカニズムを含め、適用法に従います。
### 関連会社
当社は、当社の子会社、関連会社および関係会社間で個人データにアクセスできるようにします。えば、当社が共通のデータ システムを共有する場合、または本サービスの運営および提供のためにアクセスが必要な場合などです。
当社は、当社の子会社、関連会社および関係会社間で個人データにアクセスできるようにします。たとえば、当社が共通のデータ システムを共有する場合、子会社が当社に代わってサービスを提供する場合、または本サービスの運営および提供のためにアクセスが必要な場合などです。
### セキュリティ上の目的で
当社は、以下の目的のために必要であると判断した場合、個人データを開示する場合があります。
@ -167,26 +168,26 @@ GiHub は、有効な法的手続きに対応するために必要な場合
### 管理または売却での変更
当社が、本プライバシーに関する声明に記載する、法人または事業単位の合併、売却、または買収に関与する場合、お客様の個人データを共有する場合があります。
当社のサービスには、当社とはプライバシーの取り扱いが異なる第三者が提供するサービスへの統合、参照、またはリンクが含まれているものがあることをご留意ください。 お客様がこれらの第三者に個人データを提供する場合、または当社が第三者と個人データを共有することを許可する場合、そのデータは彼らのプライバシーに関する声明に準拠します。
当社のサービスには、当社とはプライバシーの取り扱いが異なる第三者が提供するサービスへの統合、参照、またはリンクが含まれているものがあることをご留意ください。 お客様がこれらの第三者に個人データを提供する場合、または当社が第三者と個人データを共有することを許可する場合、そのデータはそのような第三者のプライバシーに関する声明に準拠します。
最後に、当社は、適用法に従って、非識別化された情報を共有する場合があります。
### 個人データの販売の禁止
当社は、カリフォルニア州およびネバダ州の法律で定義されているように、お客様の個人データを金銭またはその他の対価で販売 *"しません"*
当社は、カリフォルニア州およびネバダ州の法律に規定されているとおり、お客様の個人データを金銭またはその他の対価で販売 *"しません"*
CCPA と、当社による CCPA の遵守状況の詳細については、[こちら](#githubs-notice-to-california-residents)を参照してください。
## お客様の個人データの処理に関するお客様の選択
当社は、お客様について収集する個人データに関する選択肢を提供します。 お客様が選択された内容は、お客様のアカウントの下にある組織アカウントに関連する個人データには適用されません。
アクセス、修正、および削除 お客様が既に GitHub ユーザーである場合は、[ユーザー プロファイルを編集する](https://github.com/settings/profile)か、[GitHub サポート](https://support.github.com/contact)または [GHub Premium サポート](https://enterprise.githubsupport.com/hc/en-us)に連絡することによって、基本的なユーザー プロファイル情報へのアクセス、更新、変更、または削除を行うことができます。 当社がお客様に関して収集した情報をお客様が管理するには、プロファイルに含める情報を制限するか、情報を最新の状態に保つか、または [GitHub サポート](https://support.github.com/contact)もしくは [GitHub Premium サポート](https://enterprise.githubsupport.com/hc/en-us)に連絡します
アクセス、修正、および削除 お客様が既に GitHub ユーザーである場合は、[ユーザー プロファイルを編集する](https://github.com/settings/profile)か、[GitHub サポート](https://support.github.com/contact)または [GHub Premium サポート](https://enterprise.githubsupport.com/hc/en-us)に連絡することによって、基本的なユーザー プロファイル情報へのアクセス、更新、変更、または削除を行うことができます。 お客様は、当社がお客様に関して収集する情報を制御できます。そのためには、プロファイルに含める情報を制限するか、情報を最新の状態に保つか、Cookie の基本設定を変更するか、または [GitHub サポート](https://support.github.com/contact)もしくは [GitHub Premium サポート](https://enterprise.githubsupport.com/hc/en-us)にご連絡ください
当社は、本プライバシーに関する声明に記載されるとおりにお客様の情報を保持し使用しますが、法的要件がなければ、お客様の要求から 90 日以内に、お客様の完全なプロファイルを削除します。 アカウントの削除後、他のユーザーのリポジトリへの投稿や他のユーザーの問題でのコメントなどの特定のデータは残されます。 ただし、当社はゴースト ユーザーに関連付けることで、問題の作成者フィールド、プル リクエスト、およびコメントから、ユーザー名や電子メール アドレスなどのお客様の個人データを削除するか、匿名化します。 とは言え、お客様が Git コミット設定を介して提供した電子メール アドレスは、常に Git システム内でお客様のコミットに関連付けられます。 電子メール アドレスを非公開にすることにした場合は、Git コミット設定を更新する必要もあります。 当社が Git コミット履歴のデータを変更または削除することはできません。Git ソフトウェアは記録を保持するように設計されているからです。ただし、お客様がその記録に入れる情報を管理できるようにします。
当社は、本プライバシーに関する声明に記載されるとおりにお客様の情報を保持し使用しますが、法的要件がなければ、お客様の要求から 90 日以内に、お客様の完全なプロファイルを削除します。 アカウントの削除後、他のユーザーのリポジトリへの投稿や他のユーザーの問題でのコメントなどの特定のデータは残されます。 ただし、当社はゴースト ユーザーに関連付けることで、問題の作成者フィールド、pull request、およびコメントから、ユーザー名や電子メール アドレスなどのお客様の個人データを削除するか、匿名化します。 とは言え、お客様が Git コミット設定を介して提供した電子メール アドレスは、常に Git システム内でお客様のコミットに関連付けられます。 電子メール アドレスを非公開にすることにした場合は、Git コミット設定を更新する必要もあります。 当社が Git コミット履歴のデータを変更または削除することはできません。Git ソフトウェアは記録を保持するように設計されているからです。ただし、お客様がその記録に入れる情報を管理できるようにします。
GitHub が[第三者](/github/site-policy/github-privacy-statement#information-we-collect-from-third-parties)から受け取ったお客様に関する情報など、お客様のプロファイル情報以外の個人データを処理する場合、お客様は適用法に従って、[GitHubサポート](https://support.github.com/contact)または [GitHub プレミアムサポート](https://enterprise.githubsupport.com/hc/en-us)に連絡してお客様の個人データにアクセス、更新、変更、削除、反対、処理の制限をすることができます。
GitHub が[第三者](/github/site-policy/github-privacy-statement#information-we-collect-from-third-parties)から受け取お客様に関する情報など、お客様のプロファイル情報以外の個人データを GitHub が処理する場合、お客様は適用法に従って [GitHub サポート](https://support.github.com/contact)または [GitHub Premium サポート](https://enterprise.githubsupport.com/hc/en-us)に連絡して、お客様の個人データに対するアクセス、更新、変更、削除、処理への反対または制限を行うことができます。
お客様は、[プロファイル設定](https://github.com/settings/profile)を通じて、非公開または公開リポジトリにおけるお客様の個人データの表示や、コミュニティ機能 (GitHub Feed、GitHub Sponsors、GitHub Explore など) に関連する処理済み個人データに関するお客様のアカウント上の設定を調整することができます。
さらに、上記の手段で当社が保有する特定の個人データにアクセスできない場合、本プライバシーに関する声明の下部に記載されているように、当社に連絡してアクセスを要求することができます。
さらに、当社が保有する特定の個人データに上記の手段でアクセスできない場合、本プライバシーに関する声明の末尾に記載されているように、当社に連絡してアクセスを要求することができます。
### データの可搬性
@ -205,26 +206,78 @@ GitHub が[第三者](/github/site-policy/github-privacy-statement#information-w
お客様に関する個人データの処理が欧州連合のデータ保護法の適用を受ける場合、お客様はそのデータに関して特定の権利を有します。
お客様は、個人データへのアクセス、および個人データの修正または消去を要求することができます。個人データの自動処理がお客様の同意またはお客様との契約に基づいている場合、お客様は個人データを転送する権利、または使用可能かつ携帯可能な形式で個人データのコピーを受け取る権利を有します。個人データの処理がお客様の同意に基づいている場合、お客様は将来の処理に対する同意をいつでも撤回することができます。お客様は、特定の状況下で個人データの処理に異議を唱え、またはその制限を得ることができます。また、フランスの居住者については、お客様は、お客様の死後のデータの使用に関して当社に具体的な指示を送付することができます。
お客様は、個人データへのアクセス、および個人データの修正または消去を要求することができます。個人データの自動処理がお客様の同意またはお客様との契約に基づいている場合、お客様は個人データを転送する権利、または使用可能かつ携帯可能な形式で個人データのコピーを受け取る権利を有します。個人データの処理がお客様の同意に基づいている場合、お客様は将来の処理に対する同意をいつでも撤回することができます。お客様は、特定の状況下で個人データの処理に異議を申し立て、またはその制限を得ることができます。また、フランスの居住者については、お客様は、お客様の死後のデータの使用に関して当社に具体的な指示を送付することができます。
このような要求を行うには、本声明の末尾にある連絡先情報を使用してください。 当社が別の当事者のためにデータを処理している場合 (すなわち、GitHub がデータ処理者として活動している場合)、お客様の要求はその当事者に直接行う必要があります。 また、お客様は監督官庁に苦情を申し立てる権利を有しますが、質問や懸念がある場合は、まず当社にご連絡いただくことをお勧めします。
当社は、お客様の個人データの収集や処理に際して様々な法的根拠に依拠します。例えば、お客様の同意を得ること、および/または、お客様が利用するサービス提供、当社の事業の運営、契約上および法律上の義務の充足、当社のシステムおよびお客様のセキュリティの保護、その他の正当な利益の履行に必要であることなどです。
当社は、お客様の個人データの収集や処理に際してさまざまな法的根拠に依拠します。たとえば、お客様の同意を得ること、および/または、お客様が利用するサービス提供、当社の事業の運営、契約上および法律上の義務の充足、当社のシステムおよびお客様のセキュリティの保護、その他の正当な利益の履行に必要であることなどです。
## 当社による Cookie の使用と追跡技術
### Cookie と追跡技術
GitHub は、当社のサービスの提供、安全確保、改善、または当社のサービスの新機能および機能性の開発のために Cookie を使用します。 たとえば、当社は Cookie を使用して、お客様のログインを維持し、お客様の基本設定を記憶し、セキュリティ上の目的でのお客様のデバイスを特定し、統計レポートを作成し、GitHub の今後の開発に関する情報の提供を行っています。 当社は独自の Cookie を使用しており、この文脈ではいかなる第三者のサービス プロバイダーも使用していません。 これらの Cookie を受け入れるブラウザーやデバイスの機能を無効にした場合、お客様はログインや当社のサービスの利用ができなくなります。 [GitHub 上の Cookie](/github/site-policy/github-subprocessors-and-cookies#cookies-on-github)に関する詳細は、[GitHub の下請処理者と Cookie](/github/site-policy/github-subprocessors-and-cookies)のページに記載されています。このページでは、当社が設定する Cookie、これらの Cookie の必要性、およびかかる Cookie の有効期限について説明しています。
GitHub は、当社のサービスの提供、安全確保、改善、または当社のサービスの新機能および機能性の開発のために Cookie を使用します。 たとえば、当社は Cookie を使用して、(i) お客様のログインの維持、(ii) 基本設定の保持、(iii) 本サービスの完全性を維持するために必要な場合を含め、セキュリティおよび不正防止の目的でのお客様のデバイスの識別、(iv) 統計レポートの作成、(v) GitHub の今後の開発に関する情報および分析情報の提供を行っています。 [GitHub 上の Cookie](https://github.com/privacy/cookies) に関する詳細を記載し、当社が設定する Cookie、それらの Cookie の必要性、およびかかる Cookie の有効期限について説明しています。
当社はエンタープライズ マーケティング ページに対して、必須でない Cookie を次の目的のために使用する場合があります。(i) 表示または受信される広告、コンテンツ、推奨事項、マーケティングをより関連性のあるものにすることを含め、パーソナライズされたエクスペリエンスを提供するために、エンタープライズ ユーザーの関心事項とオンラインでの活動についての情報を収集すること、および (ii) ターゲティング広告やその他のマーケティング活動を実施し、その効果を測定すること。 エンタープライズ マーケティング ページ上の必須でない Cookie を無効にした場合、お客様に表示される広告、コンテンツ、マーケティングの関連性が低くなることがあります。
当社の電子メールにはピクセル タグが含まれている場合があります。これは、お客様が電子メールを開いたかどうかと、お客様の IP アドレスを当社に伝えることができる小さい鮮明な画像です。 当社はこのピクセル タグを使用して、当社からの電子メール通信の効果を高めると共に、不要な電子メールをお客様に送信することがないようにしています。
### DNT
Cookie がお客様のブラウザーまたはデバイス上に保持される時間の長さは、それが "永続" と "セッション" のどちらの Cookie であるかによって異なります。 セッション Cookie は、閲覧を終了するまでの間のみデバイス上に保持されます。 永続 Cookie は、有効期限になるか削除されるまで保持されます。 永続 Cookie に適用される有効期限または保持期間は、Cookie 収集の目的と、使用されるツールによって異なります。 ここに示したように、お客様は Cookie データを削除できる場合があります。
#### Cookie および類似のテクノロジとは?
当社は本サービスを運営し提供するために、Cookie と、Web ビーコン、ローカル ストレージ、モバイル分析などの類似のテクノロジを使用します。 resources.github.com のようなエンタープライズ マーケティング ページへのアクセス時、これらの、および広告 ID などの追加の Cookie が、営業およびマーケティングの目的のために使用される場合があります。
Cookie とは、お客様がお使いのブラウザーによってお客様のデバイス上に保存される小さなテキスト ファイルです。 Cookie は、Cookie を配置したのと同じドメイン内の Web サーバーにブラウザーが後から接続したときに読み取ることができます。 Cookie 内のテキストには、お客様のデバイスを一意に識別できる英数字の文字列が含まれていますが、その他の情報も含まれている場合があります。 これにより Web サーバーは、時間が経過しても、お客様のブラウザーがその Web サーバーに接続するたびにブラウザーを認識できます。
Web ビーコンは、Web サイトまたは電子メールに含まれる電子的な画像 ("シングル ピクセル" または "クリア GIF" とも呼ばれます) です。 お客様のブラウザーで Web ビーコンを含む Web ページまたは電子メールを開いたとき、ブラウザーはその画像をホストしている Web サーバー (一般的に第三者によって運営されています) に自動的に接続します。 これにより Web サーバーは、お客様のデバイスについての情報をログに記録し、独自の Cookie を設定および読み取ることができます。 同様に、当社の Web サイト上に第三者のコンテンツ (埋め込まれた動画、プラグイン、広告など) があると、ブラウザーはそのコンテンツをホストしている第三者の Web サーバーに接続します。
Web サイトが Cookie にアクセスしてそれを使用するのとほぼ同じ方法で、モバイル デバイス上のアプリから分析用のモバイル識別子にアクセスしてそれを使用できます。 モバイル デバイス上でこれらを使用することにより、resources.github.com のようなエンタープライズ マーケティング ページへのアクセス時に、当社および第三者である分析および広告パートナーは、営業およびマーケティングの目的のためにデータを収集できます。
また、当社は、お客様による本サービスの使用状況についての情報を収集し、保存するために、いわゆる "フラッシュ Cookie" ("ローカル共有オブジェクト" または "LSO" とも呼ばれます) を使用することもあります。 フラッシュ Cookie は一般的に広告と動画に使用されます。
#### 当社および当社パートナーが Cookie および類似のテクノロジを使用する方法
GitHub のサービスは、Cookie および類似のテクノロジをさまざまな目的のために使用します。それには、お客様の基本設定および設定を保存すること、お客様がサインインできるようにすること、サービスのパフォーマンスを分析すること、お客様とサービスのやり取りを追跡すること、推測を生成すること、詐欺に対抗すること、その他の正当な目的を満たすことが含まれます。 これらの Cookie の一部は、サービス プロバイダーおよび広告パートナーを含む第三者によって提供される場合があります。 たとえば、当社の分析および広告パートナーは、これらのテクノロジを当社のサービスで使用して、一定期間におけるサービス全体でのオンライン活動に関連した個人情報 (お客様がアクセスしたページ、クリックしたリンクや、使用状況に関する同様の情報、識別子、デバイスの情報など) を、ターゲティング広告を含むさまざまな目的のために収集する場合があります。 GitHub は、エンタープライズのお客様に製品やサービスを販売するページ、たとえば resources.github.com 上に Cookie を配置します。
当社および/または当社のパートナーは、これらの目的のために、収集または推測した情報を第三者と共有する場合があります。
当社が各種の Cookie をどのように使用するかについて、以下の表に詳細を示します。
| 目的 | 説明 |
|:---|:---|
| 必須 Cookie | GitHub は、Web サイトの基本的な機能を実行するため、およびサービスを提供するために、Cookie を使用します。 たとえば、Cookie はお客様がログインできるようにするほか、言語の優先順位の保存、ショッピング カートのエクスペリエンスの提供、パフォーマンスの向上、Web サーバー間でのトラフィックのルーティング、画面サイズの検出、ページ読み込み回数の決定、ユーザー エクスペリエンスの向上、オーディエンス測定を行うために使用されます。 これらの Cookie は、当社の Web サイトが機能するために必要です。 |
| Analytics | 当社は第三者に対して、お客様が当社の Web サイトをどのように使用しているかを把握して Web サイトを改善するために、分析 Cookie を使用することを許可します。 たとえば、Cookie はお客様がアクセスしたページや、タスクを完了するために必要なクリックの回数についての情報を集めるために使用されます。 当社は、パーソナライズされた広告を提供するためにも分析 Cookie を使用します。 |
| ソーシャル メディア | GitHub および第三者は、お客様のソーシャル メディア プロファイルと GitHub の Web サイト上でのお客様の活動に基づいて広告とコンテンツを表示するために、ソーシャル メディア Cookie を使用します。 これにより、お客様が当社の Web サイトおよびソーシャル メディアで目にする広告とコンテンツが、お客様の関心事項をより反映したものになります。 また、第三者が自らの製品を開発および改善できるようになり、それを GitHub によって所有または運営されていない Web サイト上で使用することもできます。 |
| 広告 | さらに GitHub と第三者は、お客様が既に表示した広告に基づいて新しい広告を表示するために、広告 Cookie を使用します。 Cookie はまた、お客様がクリックした広告や、広告をクリックした後の購入も追跡します。 これは、支払いの目的と、より関連性のある広告をお客様に表示すること、その両方のために行われます。 たとえば、Cookie は、お客様が広告をクリックしたときに検出して、お客様のソーシャル メディアでの関心事項と Web サイトでの閲覧履歴に基づいて広告を表示するために使用されます。 |
#### Cookie に関するお客様の選択肢とコントロール
必須でない Cookie を無効にするには、いくつかのオプションがあります。
1. **GitHub のエンタープライズ マーケティング ページ上で明示的に**
必須でない Cookie を処理するどの GitHub ページにも、ページのフッターに Cookie の設定へのリンクがあります。 お客様は、そのリンクをクリックして設定を更新することにより、いつでも基本設定を明示できます。
一部のユーザーは、必須でないすべての Cookie を受け入れ、管理、および拒否するオプションを含む Cookie の同意バナーを使用して、必須でない Cookie を管理することもできます。
2. **すべての Web サイトについて全般的に**
お客様は、広く利用されているさまざまなツールを使用して、Web 上で遭遇する Cookie を制御できます。 次に例を示します。
- お客様のブラウザーから[トラッキング拒否](https://en.wikipedia.org/wiki/Do_Not_Track) (DNT) シグナルが送信された場合、GitHub は必須でない Cookie を設定せず、必須でない Cookie を設定する第三者のリソースを読み込みません。
- 多くのブラウザーには Cookie を制御する方法が用意されていて、お客様がオンラインで遭遇する Cookie の種類を制限できます。 詳細については、お使いのブラウザーに関するドキュメントをご覧ください。
- [Privacy Badger](https://en.wikipedia.org/wiki/Privacy_Badger) など、トラッキングをブロックするように設計されたブラウザー拡張機能を有効にすると、Web サイトまたは第三者によって設定された必須でない Cookie が無効になる場合があります。
- [uBlock Origin](https://en.wikipedia.org/wiki/UBlock_Origin) など、不要なコンテンツをブロックするように設計されたブラウザー拡張機能を有効にすると、必須でない Cookie を設定するコンテンツがブロックされる範囲内において、必須でない Cookie が無効になります。
- 広告コントロール。 当社の広告パートナーは、広告のターゲティングを簡単にオプトアウトする方法を提供する協会に参加している場合があります。それらには次の場所からアクセスできます。
- 米国: [NAI](http://optout.networkadvertising.org) および [DAA](http://optout.aboutads.info/)
- カナダ: [Digital Advertising Alliance of Canada](https://youradchoices.ca/)
- ヨーロッパ: [European Digital Advertising Alliance](http://www.youronlinechoices.com/)
これらの選択肢は、お使いのブラウザーに固有です。 他のデバイスまたはブラウザーから本サービスにアクセスする場合は、それらのシステムからこれらのアクションを実行して、それらのシステムを使用するときに収集されるデータに選択内容が適用されるようにしてください。
「[トラッキング拒否](https://www.eff.org/issues/do-not-track)」(DNT) は、お客様がオンライン サービスに対して、第三者の追跡サービスからオンライン アクティビティに関する特定の種類の情報を収集および共有するのを希望しない場合に、ブラウザーで設定できるプライバシー設定です。 GitHub は、ブラウザーの DNT 信号に対応しており、[DNT 信号への応答に関する W3C 基準](https://www.w3.org/TR/tracking-dnt/)に従っています。 追跡を希望しないことを示す信号を送るようにブラウザーを設定する場合は、その信号を有効にする方法についてブラウザーのドキュメントを参照してください。 [Privacy Badger](https://privacybadger.org/) など、オンライン追跡をブロックする優れたアプリケーションもあります。
## 個人データの保持
当社は、お客様が要求したサービスの提供および取引の履行、当社の法的義務の遵守、紛争の解決、当社の契約の執行、ならびにその他の合法的かつ適法な事業目的のために必要な期間、個人データを保持します。 これらのニーズは、さまざまなサービスにおけるさまざまな種類のデータによって異なるため、実際の保持期間は、ユーザーの期待または同意、データの機密性、ユーザーがデータを削除できる自動制御の利用可能性、および当社の法的または契約上の義務などの基準に基づいて大きく異なる場合があります。 例えば、当社は、適用法に従い、セキュリティ目的のために必要な場合、お客様の個人データをより長期間にわたって保持する場合があります。
当社は、お客様が要求したサービスの提供および取引の履行、当社の法的義務の遵守、紛争の解決、当社の契約の執行、ならびにその他の合法的かつ適法な事業目的のために必要な期間、個人データを保持します。 これらのニーズは、さまざまなサービスにおけるさまざまな種類のデータによって異なるため、実際の保持期間は、ユーザーの期待または同意、データの機密性、ユーザーがデータを削除できる自動制御の利用可能性、および当社の法的または契約上の義務などの基準に基づいて大きく異なる場合があります。 たとえば、当社は、適用法に従い、セキュリティ上の目的のために必要な場合、お客様の個人データをより長期間にわたって保持する場合があります。
## GitHub はお客様の情報をどのように保護するか
GitHub は、不正なアクセス、改変、または破壊からユーザー個人情報を保護し、データの正確性を維持して、お客様の個人データの適切な使用を徹底させるために必要な合理的な対策を講じています。 個人データを保護するため、お客様には強力なパスワードを使用していただき、決してパスワードを他の人と共有したり、他のサイトやアカウントで同じパスワードを使用しないことを要求します。
@ -245,15 +298,22 @@ GitHub は、米国の内外で個人データを処理し、欧州経済地域
### 苦情の解決
GitHub がお客様の個人データをどのように取り扱うかに関して懸念がある場合は、直ちに当社にお知らせください。 当社が対応いたします。 当社にお問い合わせの際は、[プライバシー連絡フォーム](https://support.github.com/contact/privacy)に記入してください。 件名に「Privacy Concerns」(プライバシーに関する懸念) と入れて、**privacy@github.com** 宛てに当社に直接電子メールを送付することもできます。 当社は速やかに (遅くとも 45 日以内に) 対応します。
当社のデータ保護責任者に直接問い合わせることもできます
**github [at]dp-officer [dot] com** で当社のデータ保護責任者に直接問い合わせることもできます
| 当社の米国本社 | 当社の EU オフィス |
|---|---|
| GitHub データ保護責任者 | GitHub BV |
| 88 Colin P. Kelly Jr. St. | Vijzelstraat 68-72 |
| San Francisco, CA 94107 | 1017 HL Amsterdam |
| 米国 | オランダ |
| **privacy@github.com** | **privacy@github.com** |
**北米のお客様の場合:**<br>
GitHub データ保護責任者<br>
88 Colin P. Kelly Jr. St.<br>
San Francisco, CA 94107<br>
United States<br>
**privacy@github.com**<br>
**北米以外のお客様の場合:**<br>
GitHub データ保護責任者<br>
c/o DP Dock DPO Services GmbH,<br>
Attn: GitHub BV, Gut Projensdorf,<br>
24161 Altenholz, Germany<br>
github@dp-officer.com cc: **privacy [at] github [dot] com**<br>
CC: GitHub BV, Vijzelstraat 68-72, 1017 HL Amsterdam, The Netherlands
### 紛争解決プロセス
@ -324,7 +384,7 @@ CCPA では、カリフォルニア州住民に個人情報に関する特定の
お客様は、CCPA の権利を行使することを理由に差別されない権利を有します。 当社は、お客様が CCPA の権利を行使することを理由に、お客様を差別することはありません。
お客様は、書面または委任状により、お客様に代わって CCPA に基づく権利の行使を要求する権限を有する代理人を指定することができます。 代理人からこのような要求を受ける前に、当社は代理人に対して、お客様の代理人として行動することを許可したという証拠を提出するよう求め、またお客様の本人確認を当社に直接行って頂くよう求める場合があります。
さらに、特定の個人情報を提供または削除する場合、当社は法律で要求される程度の確実性をもって、お客様の本人確認を行う必要があります。 当社は、お客様のアカウントに関連付けられた電子メール アドレスから要求を送信していただくか、お客様のアカウントの確認に必要な情報を提供していただくことで、お客様の要求を確認します。 [GitHub アカウントで 2 要素認証を使用することができることにご留意ください](/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication)。
さらに、特定の個人情報を提供または削除する場合、当社は法律で要求される程度の確実性をもって、お客様の本人確認を行う必要があります。 当社は、お客様のアカウントに関連付けられた電子メール アドレスから要求を送信していただくか、お客様のアカウントの確認に必要な情報を提供していただくことで、お客様の要求を確認します。 [GitHub アカウントで 2 要素認証を使用できることにご留意ください](/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication)。
最後に、お客様は個人情報の収集時または収集前に、当社の取り組みについて通知を受ける権利を有します。
さらに、「Shine the Light」法としても知られるカリフォルニア民法 1798.83 条に基づき、個人、家族、または家庭のために個人がビジネス関係を築いている企業に個人情報を提供したカリフォルニア州住民 (以下、「カリフォルニア州のお客様」) は、企業が第三者のダイレクト マーケティング目的で第三者に個人情報を開示したかどうかについて情報を要求することができます。 当社はこの法律で定義されたダイレクト マーケティングの目的のために、いかなる第三者にも個人情報を開示しないことをご認識ください。

Просмотреть файл

@ -12,75 +12,30 @@ versions:
topics:
- Policy
- Legal
ms.openlocfilehash: b8072adbca2f5e42acd5dda3b8d213dd795c13be
ms.sourcegitcommit: 93b306112b5cd5ce482d468a25c9961ad02f87ac
ms.openlocfilehash: a7f017ec2243c015d93797b0117229fe9fdb528c
ms.sourcegitcommit: d298d354a4585e6c154f2a8428aebb214d49e2a1
ms.translationtype: HT
ms.contentlocale: ja-JP
ms.lasthandoff: 08/29/2022
ms.locfileid: '147099221'
ms.lasthandoff: 09/07/2022
ms.locfileid: '147858623'
---
発効日: **2021 年 4 月 2 日**
発効日: **2022 年 9 月 1 日**
GitHub は、お客様のデータを当社がどのように利用するか、お客様のデータを当社がどのように収集するか、およびお客様のデータを誰と共有するかについて、高い透明性を提供します。 この目的のため、[当社の下請処理者](#github-subprocessors)および [Cookie](#cookies-on-github) をどのように使用するかについてこのページで説明します。
## GitHub の下請処理者
当社がお客様の情報を、ベンダーやサービス プロバイダーなどの第三者の下請処理者と共有する場合、それについては当社が責任を負います。 新たなベンダーとのやり取りを行う際に、当社はお客様の信頼を維持するため努力し、すべてのベンダーに対して、ユーザーの個人情報 ([プライバシーに関する声明](/articles/github-privacy-statement/)の定義による) に関する取り扱いを制限する、データ保護契約を締結するように要求しています。 下請処理者一覧の更新情報を受け取るには、[こちら](https://www.github.com/privacy/subprocessors)から登録してください。
当社がお客様の情報を、ベンダーやサービス プロバイダーなどの第三者の下請処理者と共有する場合、それについては当社が責任を負います。 新たなベンダーとのやり取りを行う際に、当社はお客様の信頼を維持するため努力し、すべてのベンダーに対して、ユーザーの個人情報 ([プライバシーに関する声明](/articles/github-privacy-statement/)の定義による) に関する取り扱いを制限する、データ保護契約を締結するように要求しています。
| 下請処理者の名前 | 処理の説明 | 処理の場所 | 企業所在地
|:---|:---|:---|:---|
| Automattic | ブログ サービス | 米国 | 米国 |
| AWS Amazon | データのホスティング | 米国 | 米国 |
| Braintree (PayPal) | サブスクリプションのクレジット カード決済処理業者 | 米国 | 米国 |
| Clearbit | マーケティング データのエンリッチメント サービス | 米国 | 米国 |
| Discourse | コミュニティ フォーラムのソフトウェア プロバイダー | 米国 | 米国 |
| Eloqua | マーケティング キャンペーンの自動化 | 米国 | 米国 |
| Google Apps | 社内インフラストラクチャ | 米国 | 米国 |
| MailChimp | 顧客チケット メール サービス プロバイダー | 米国 | 米国 |
| Mailgun | トランザクション メール サービス プロバイダー | 米国 | 米国 |
| マイクロソフト | Microsoft Services | 米国 | 米国 |
| Nexmo | SMS 通知プロバイダー | 米国 | 米国 |
| Salesforce.com | Customer Relationship Management | 米国 | 米国 |
| Sentry.io | アプリケーション監視プロバイダー | 米国 | 米国 |
| Stripe | 決済プロバイダー | 米国 | 米国 |
| Twilio &amp; Twilio Sendgrid | SMS 通知プロバイダーおよびトランザクション メール サービス プロバイダー | 米国 | 米国 |
| Zendesk | カスタマー サポートのチケット システム | 米国 | 米国 |
| Zuora | 企業課金制 | 米国 | 米国 |
当社ユーザーの個人情報を取り扱う新たな下請処理者とやり取りを始める際、下請処理者と解約する際、および下請処理者の利用方法を変更する際は、下請処理者一覧を更新します。 [https://www.github.com/privacy/subprocessors](https://www.github.com/privacy/subprocessors) で、最新の下請処理者一覧を確認し、下請処理者一覧の更新情報を受け取るために登録できます。
当社ユーザーの個人情報を取り扱う新たな下請処理者とやり取りを始める際、下請処理者と解約する際、および下請処理者の利用方法を変更する際は、このページを更新します。 新たな下請処理者についての質問や懸念がある場合は、お気軽にお問い合わせください。 {% data variables.contact.contact_privacy %} からお問い合わせください。
新たな下請処理者についての質問や懸念がある場合は、お気軽にお問い合わせください。 {% data variables.contact.contact_privacy %} からお問い合わせください。
## GitHub の Cookie
GitHub は、Web サイトを提供および保護し、Web サイトの利用状況を分析して優れたユーザー エクスペリエンスを提供するために Cookie を使用します。 Cookie に関する詳細な情報や、その使用方法と使用する理由については、当社の[プライバシーに関する声明](/github/site-policy/github-privacy-statement#our-use-of-cookies-and-tracking)を参照してください。
Cookie の数や名前は変わることがあるため、以下の表も適時更新されることがあります。
| サービス プロバイダー | Cookie の名前 | 説明 | 有効期限* |
|:---|:---|:---|:---|
| GitHub | `app_manifest_token` | この Cookie は、リダイレクト中のユーザー セッションをフェッチし、フローの状態を維持するため、App Manifest フロー中に使用されます。 | 5 分間 |
| GitHub | `color_mode` | この Cookie は、ユーザーが選択したテーマ設定を示すために使用されます。 | セッション |
| GitHub | `_device_id` | この Cookie は、セキュリティ上の目的により、認識されたデバイスを追跡するために使用されます。 | 1 年間 |
| GitHub | `dotcom_user` | この Cookie は、ユーザーが既にログインしていることを当社に通知するために使用されます。 | 1 年間 |
| GitHub | `_gh_ent` | この Cookie は、お客様が複数のステップのうちどのステップにあるのかなど、一時的なアプリケーションおよびフレームワークにおけるページ間での状態を記録するために使用されます。 | 2 週間 |
| GitHub | `_gh_sess` | この Cookie は、ユーザーが複数のステップのうちどのステップにあるのかなど、一時的なアプリケーションおよびフレームワークにおけるページ間での状態を記録するために使用されます。 | セッション |
| GitHub | `gist_oauth_csrf` | この Cookie は、OAuth フローを開始したユーザーが、それを完了したユーザーと同一であることを保証するために、Gist によって設定されます。 | OAuth state の検証後に削除 |
| GitHub | `gist_user_session` | この Cookie は、別のホストで実行されている場合に Gist によって使用されます。 | 2 週間 |
| GitHub | `has_recent_activity` | この Cookie は、アプリケーションに最近アクセスしたユーザーにセキュリティ インタースティシャルを表示させないために使用されます。 | 1 時間 |
| GitHub | `__Host-gist_user_session_same_site` | この Cookie は、SameSite Cookie をサポートするブラウザーが、要求が GitHub から発信されているかどうかを確認できるように設定されます。 | 2 週間 |
| GitHub | `__Host-user_session_same_site` | この Cookie は、SameSite Cookie をサポートするブラウザーが、要求が GitHub から発信されているかどうかを確認できるように設定されます。 | 2 週間 |
| GitHub | `logged_in` | この Cookie は、ユーザーが既にログインしていることを当社に通知するために使用されます。 | 1 年間 |
| GitHub | `marketplace_repository_ids` | この Cookie は、Marketplace のインストール フローに使用されます。 | 1 時間 |
| GitHub | `marketplace_suggested_target_id` | この Cookie は、Marketplace のインストール フローに使用されます。 | 1 時間 |
| GitHub | `_octo` | この Cookie は、動的コンテンツのキャッシング、条件付き機能へのアクセス、サポート要請のメタデータ、ファースト パーティ分析などのセッション管理に使用されます。 | 1 年間 |
| GitHub | `org_transform_notice` | この Cookie は、組織の改変時に通知を行うために使用されます。 | 1 時間 |
| GitHub | `private_mode_user_session` | この Cookie は、Enterprise 認証要求に使用されます。 | 2 週間 |
| GitHub | `saml_csrf_token` | この Cookie は、トークンをクライアントに関連付けるために、SAML 認証パス メソッドによって設定されます。 | ユーザーがブラウザーを閉じるか、認証要求を完了するまで |
| GitHub | `saml_csrf_token_legacy` | この Cookie は、トークンをクライアントに関連付けるために、SAML 認証パス メソッドによって設定されます。 | ユーザーがブラウザーを閉じるか、認証要求を完了するまで |
| GitHub | `saml_return_to` | この Cookie は、SAML 認証ループ時に、状態を維持するため SAML 認証パス メソッドによって設定されます。 | ユーザーがブラウザーを閉じるか、認証要求を完了するまで |
| GitHub | `saml_return_to_legacy` | この Cookie は、SAML 認証ループ時に、状態を維持するため SAML 認証パス メソッドによって設定されます。 | ユーザーがブラウザーを閉じるか、認証要求を完了するまで |
| GitHub | `tz` | この Cookie を使用すると、タイムゾーンに合わせてタイムスタンプをカスタマイズできます。 | セッション |
| GitHub | `user_session` | この Cookie はログインに使用されます。 | 2 週間 |
_*_ 以下に挙げる Cookie の **有効期限** 日は通常、随時適用されます。
[https://github.com/privacy/cookies](https://github.com/privacy/cookies) で、GitHub の最新の Cookie 一覧を確認し、Cookie 一覧の更新情報を受け取るために登録できます。
(!)当社は第三者による Cookie の使用を、外部コンテンツをレンダリングする際に必要な外部機能を提供するために必要なものに限って使用していますが、当社の特定の Web ページにおいてはその他の第三者の Cookie が設置される場合があります。 たとえば、Cookie を設定するサイトから、動画などのコンテンツを埋め込むことがあります。 当社は、第三者の Cookie の使用を最小限に抑制するように努めていますが、当社は第三者のコンテンツがどの Cookie 設定するかを常に管理できるわけではありません。

Просмотреть файл

@ -284,10 +284,15 @@ translations/ja-JP/content/admin/identity-and-access-management/using-saml-for-e
translations/ja-JP/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise.md,broken liquid tags
translations/ja-JP/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise.md,broken liquid tags
translations/ja-JP/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise.md,broken liquid tags
translations/ja-JP/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md,broken liquid tags
translations/ja-JP/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md,broken liquid tags
translations/ja-JP/content/billing/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage.md,broken liquid tags
translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql.md,broken liquid tags
translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md,broken liquid tags
translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md,broken liquid tags
translations/ja-JP/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md,broken liquid tags
translations/ja-JP/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md,broken liquid tags
translations/ja-JP/content/code-security/dependabot/dependabot-alerts/editing-security-advisories-in-the-github-advisory-database.md,broken liquid tags
translations/ja-JP/content/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates.md,broken liquid tags
translations/ja-JP/content/code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-errors.md,broken liquid tags
translations/ja-JP/content/code-security/getting-started/securing-your-organization.md,broken liquid tags
@ -316,6 +321,7 @@ translations/ja-JP/content/issues/tracking-your-work-with-issues/filtering-and-s
translations/ja-JP/content/organizations/managing-peoples-access-to-your-organization-with-roles/adding-a-billing-manager-to-your-organization.md,rendering error
translations/ja-JP/content/packages/learn-github-packages/deleting-and-restoring-a-package.md,broken liquid tags
translations/ja-JP/content/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks.md,broken liquid tags
translations/ja-JP/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request.md,broken liquid tags
translations/ja-JP/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches.md,broken liquid tags
translations/ja-JP/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/committing-changes-to-a-pull-request-branch-created-from-a-fork.md,broken liquid tags
translations/ja-JP/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally.md,broken liquid tags

1 file reason
284 translations/ja-JP/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise.md broken liquid tags
285 translations/ja-JP/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise.md broken liquid tags
286 translations/ja-JP/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/using-the-audit-log-api-for-your-enterprise.md broken liquid tags
287 translations/ja-JP/content/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.md broken liquid tags
288 translations/ja-JP/content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md broken liquid tags
289 translations/ja-JP/content/billing/managing-billing-for-github-advanced-security/viewing-your-github-advanced-security-usage.md broken liquid tags
290 translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql.md broken liquid tags
291 translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md broken liquid tags
292 translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/triaging-code-scanning-alerts-in-pull-requests.md broken liquid tags
293 translations/ja-JP/content/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning.md broken liquid tags
294 translations/ja-JP/content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/configuring-codeql-cli-in-your-ci-system.md broken liquid tags
295 translations/ja-JP/content/code-security/dependabot/dependabot-alerts/editing-security-advisories-in-the-github-advisory-database.md broken liquid tags
296 translations/ja-JP/content/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates.md broken liquid tags
297 translations/ja-JP/content/code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-errors.md broken liquid tags
298 translations/ja-JP/content/code-security/getting-started/securing-your-organization.md broken liquid tags
321 translations/ja-JP/content/organizations/managing-peoples-access-to-your-organization-with-roles/adding-a-billing-manager-to-your-organization.md rendering error
322 translations/ja-JP/content/packages/learn-github-packages/deleting-and-restoring-a-package.md broken liquid tags
323 translations/ja-JP/content/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks.md broken liquid tags
324 translations/ja-JP/content/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request.md broken liquid tags
325 translations/ja-JP/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches.md broken liquid tags
326 translations/ja-JP/content/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/committing-changes-to-a-pull-request-branch-created-from-a-fork.md broken liquid tags
327 translations/ja-JP/content/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally.md broken liquid tags