1
0
mirror of synced 2026-01-07 09:01:31 -05:00

Merge pull request #21249 from github/repo-sync

repo sync
This commit is contained in:
Octomerger Bot
2022-10-10 11:27:55 -07:00
committed by GitHub
20 changed files with 554 additions and 512 deletions

View File

@@ -1,7 +1,7 @@
---
title: Consideraciones sobre el nombre de usuario para la autenticación externa
title: Username considerations for external authentication
shortTitle: Username considerations
intro: '{% ifversion ghes or ghec %}Cuando usas {% ifversion ghes %}CAS, LDAP o SAML para la autenticación{% elsif ghec %}{% data variables.product.prodname_emus %}{% endif %}, {% endif %}{% data variables.product.product_name %} sigue ciertas reglas para determinar el nombre de usuario para cada cuenta de usuario {% ifversion ghec or ghae %}en la empresa{% elsif ghes %}en la instancia{% endif %}.'
intro: '{% ifversion ghes or ghec %}When you use {% ifversion ghes %}CAS, LDAP, or SAML for authentication{% elsif ghec %}{% data variables.product.prodname_emus %}{% endif %}, {% endif %}{% data variables.product.product_name %} follows certain rules to determine the username for each user account {% ifversion ghec or ghae %}in your enterprise{% elsif ghes %}on your instance{% endif %}.'
miniTocMaxHeadingLevel: 3
versions:
ghec: '*'
@@ -14,141 +14,144 @@ topics:
- Enterprise
- Identity
- SSO
ms.openlocfilehash: 72f83b870e2c0ea13d95511ce4fc000b3ccfcfc5
ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794
ms.translationtype: HT
ms.contentlocale: es-ES
ms.lasthandoff: 09/09/2022
ms.locfileid: '147718001'
---
{% ifversion ghec %} {% note %}
**Nota**: Este artículo solo se aplica a {% data variables.product.prodname_emus %}. Si usas {% data variables.product.prodname_ghe_cloud %} sin {% data variables.product.prodname_emus %}, son los usuarios quienes crean los nombres de usuario, no {% data variables.product.prodname_dotcom %}.
{% ifversion ghec %}
{% note %}
{% endnote %} {% endif %}
**Note:** This article only applies to {% data variables.product.prodname_emus %}. If you use {% data variables.product.prodname_ghe_cloud %} without {% data variables.product.prodname_emus %}, usernames are created by users, not {% data variables.product.prodname_dotcom %}.
## Acerca de los nombres de usuario con autenticación externa
{% endnote %}
{% endif %}
## About usernames with external authentication
{% ifversion ghes %}
Puedes configurar la autenticación externa para {% data variables.product.product_name %} mediante CAS, LDAP o SAML. Para obtener más información, consulta "[Acerca de la autenticación para tu empresa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-methods-for-github-enterprise-server)".
You can configure external authentication for {% data variables.product.product_name %} using CAS, LDAP, or SAML. For more information, see "[About authentication for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-methods-for-github-enterprise-server)."
Al usar la autenticación externa, {% data variables.product.product_location %} crea automáticamente un nombre de usuario para cada persona cuando la persona inicia sesión en {% data variables.product.product_location %} mediante el sistema de autenticación externo por primera vez.
When you use external authentication, {% data variables.product.product_location %} automatically creates a username for each person when the person signs into {% data variables.product.product_location %} through your external authentication system for the first time.
{% elsif ghec %}
Si usas una empresa con {% data variables.product.prodname_emus %}, los miembros de la empresa se autentican para acceder a {% data variables.product.prodname_dotcom %} mediante el proveedor de identidades (IdP) de SAML. Para obtener más información, consulta ["Acerca de los {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/about-enterprise-managed-users)" y "[Acerca de la autenticación para tu empresa](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-methods-for-github-enterprise-server)".
If you use an enterprise with {% data variables.product.prodname_emus %}, members of your enterprise authenticate to access {% data variables.product.prodname_dotcom %} through your SAML identity provider (IdP). For more information, see "[About {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/about-enterprise-managed-users)" and "[About authentication for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-methods-for-github-enterprise-server)."
{% data variables.product.product_name %} crea automáticamente un nombre de usuario para cada persona cuando su cuenta de usuario se aprovisiona mediante SCIM, al normalizar un identificador que el IdP proporciona. Si se normalizan varios identificadores en el mismo nombre de usuario, se produce un conflicto de nombre de usuario y solo se crea la primera cuenta de usuario. Para resolver conflictos de nombre de usuario, realice un cambio en el IdP para que los nombres de usuario normalizados sean únicos.
{% data variables.product.product_name %} automatically creates a username for each person when their user account is provisioned via SCIM, by normalizing an identifier provided by your IdP. If multiple identifiers are normalized into the same username, a username conflict occurs, and only the first user account is created. {% data reusables.enterprise-accounts.emu-only-emails-within-the-enterprise-can-conflict %} You can resolve username conflicts by making a change in your IdP so that the normalized usernames will be unique.
{% elsif ghae %}
{% data variables.product.product_name %} usa el inicio de sesión único de SAML para la autenticación y crea automáticamente un nombre de usuario para cada persona cuando la persona inicia sesión mediante el proveedor de identidades (IdP) por primera vez.
{% data variables.product.product_name %} uses SAML SSO for authentication, and automatically creates a username for each person when the person signs in through your identity provider (IdP) for the first time.
{% endif %}
{% ifversion ghec %}
## Acerca de los nombres de usuario para {% data variables.product.prodname_managed_users %}
## About usernames for {% data variables.product.prodname_managed_users %}
Cuando se cree tu {% data variables.product.prodname_emu_enterprise %}, deberás elegir un código corto que se usará como sufijo de los nombres de usuario de los miembros de tu empresa. {% data reusables.enterprise-accounts.emu-shortcode %} El usuario de configuración que configura el inicio de sesión único de SAML tiene un nombre de usuario con el formato **@<em>SHORT-CODE</em>_admin**.
When your {% data variables.product.prodname_emu_enterprise %} is created, you will choose a short code that will be used as the suffix for your enterprise members' usernames. {% data reusables.enterprise-accounts.emu-shortcode %} The setup user who configures SAML SSO has a username in the format of **@<em>SHORT-CODE</em>_admin**.
Al aprovisionar un nuevo usuario desde el proveedor de identidades, el nuevo {% data variables.product.prodname_managed_user %} tendrá un nombre de usuario de {% data variables.product.prodname_dotcom %} con el formato **@<em>IDP-USERNAME</em>_ <em>SHORT-CODE</em>** . El componente <em>IDP-USERNAME</em> se forma normalizando el valor del atributo `userName` de SCIM que se envía desde el IdP.
When you provision a new user from your identity provider, the new {% data variables.product.prodname_managed_user %} will have a {% data variables.product.prodname_dotcom %} username in the format of **@<em>IDP-USERNAME</em>_<em>SHORT-CODE</em>**. The <em>IDP-USERNAME</em> component is formed by normalizing the SCIM `userName` attribute value sent from the IdP.
| Proveedor de identidades | Nombre de usuario de {% data variables.product.prodname_dotcom %} |
| Identity provider | {% data variables.product.prodname_dotcom %} username |
|-----------------------------------|----------------------|
| Azure Active Directory (Azure AD) | _IDP-USERNAME_ se forma normalizando los caracteres anteriores al carácter `@` en el UPN (nombre principal de usuario), que no incluye el valor `#EXT#` para las cuentas de invitado. |
| Okta | _IDP-USERNAME_ es el atributo de nombre de usuario normalizado que proporciona el IdP. |
| Azure Active Directory (Azure AD) | _IDP-USERNAME_ is formed by normalizing the characters preceding the `@` character in the UPN (User Principal Name), which does not include the `#EXT#` for guest accounts. |
| Okta | _IDP-USERNAME_ is the normalized username attribute provided by the IdP. |
Estas reglas pueden dar lugar a que el IdP proporcione el mismo _IDP-USERNAME_ para varios usuarios. Por ejemplo, para Azure AD, los siguientes UPN darán como resultado el mismo nombre de usuario:
These rules may result in your IdP providing the same _IDP-USERNAME_ for multiple users. For example, for Azure AD, the following UPNs will result in the same username:
- `bob@contoso.com`
- `bob@fabrikam.com`
- `bob#EXT#fabrikamcom@contoso.com`
Esto provocará un conflicto de nombre de usuario y solo se aprovisionará el primer usuario. Para obtener más información, consulta "[Resolución de conflictos de nombre de usuario](#resolving-username-conflicts)".
This will cause a username conflict, and only the first user will be provisioned. For more information, see "[Resolving username conflicts](#resolving-username-conflicts)."
{% endif %}
Los nombres de usuario{% ifversion ghec %}, incluidos el carácter de subrayado y el código corto,{% endif %} no deben superar los 39 caracteres.
Usernames{% ifversion ghec %}, including underscore and short code,{% endif %} must not exceed 39 characters.
## Acerca de la normalización del nombre de usuario
## About username normalization
Los nombres de usuario de las cuentas de usuario de {% ifversion ghes or ghae %}{% data variables.product.product_name %}{% elsif ghec %}{% data variables.product.prodname_dotcom_the_website %}{% endif %} solo pueden contener caracteres alfanuméricos y guiones (`-`).
{% ifversion ghec %} Al configurar la autenticación SAML, {% data variables.product.product_name %} usa el valor del atributo `userName` de SCIM que se envía desde el IdP para determinar el nombre de usuario de la cuenta de usuario correspondiente en {% data variables.product.prodname_dotcom_the_website %}. Si este valor incluye caracteres no admitidos, {% data variables.product.product_name %} normalizará el nombre de usuario según las reglas siguientes.
{% elsif ghes %} Al configurar la autenticación CAS, LDAP o SAML, {% data variables.product.product_name %} usa un identificador de la cuenta de usuario en el proveedor de autenticación externo para determinar el nombre de usuario de la cuenta de usuario correspondiente en {% data variables.product.product_name %}. Si el identificador incluye caracteres no admitidos, {% data variables.product.product_name %} normalizará el nombre de usuario según las reglas siguientes.
{% elsif ghae %} Al configurar la autenticación SAML, {% data variables.product.product_name %} usa un identificador de la cuenta de usuario en el IdP para determinar el nombre de usuario de la cuenta de usuario correspondiente en {% data variables.product.product_name %}. Si el identificador incluye caracteres no admitidos, {% data variables.product.product_name %} normalizará el nombre de usuario según las reglas siguientes.
{% endif %}
1. {% data variables.product.product_name %} normalizará cualquier carácter no alfanumérico en el nombre de tu cuenta de usuario y lo convertirá en un guion. Por ejemplo, un nombre de usuario de `mona.the.octocat` se normalizará en `mona-the-octocat`. Nota que los nombres de usuarios normalizados tampoco pueden comenzar o terminar con una raya. Tampoco pueden contener dos rayas seguidas.
1. Los nombres de usuario creados a partir de direcciones de correo electrónico se crean con los caracteres normalizados que preceden al carácter `@`.
1. Si varias cuentas se normalizan en el mismo nombre de usuario de {% data variables.product.product_name %}, solo se crea la primera cuenta de usuario. Los siguientes usuarios con el mismo nombre de usuario no podrán registrarse. {% ifversion ghec %}Para obtener más información, consulta "[Resolución de conflictos de nombre de usuario](#resolving-username-conflicts)".{% endif %}
### Ejemplos de normalización de nombres de usuario
| Identificador en el proveedor | Nombre de usuario normalizado en {% data variables.product.prodname_dotcom %} | Resultado |
| :- | :- | :- |
| The.Octocat | `the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | El nombre de usuario se crea correctamente. |
| !The.Octocat | `-the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | No se crea este nombre de usuario debido a que comienza con una raya. |
| The.Octocat! | `the-octocat-{% ifversion ghec %}_SHORT-CODE{% endif %}` | No se crea este nombre de usuario debido a que termina con una raya. |
| The!!Octocat | `the--octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | No se crea este nombre de usuario debido a que contiene dos rayas seguidas. |
| The!Octocat | `the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | No se crea este nombre de usuario. A pesar de que el nombre de usuario normalizado es válido, ya existía. |
| `The.Octocat@example.com` | `the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | No se crea este nombre de usuario. A pesar de que el nombre de usuario normalizado es válido, ya existía. |
| `mona.lisa.the.octocat.from.github.united.states@example.com` | `mona-lisa-the-octocat-from-github-united-states{% ifversion ghec %}_SHORT-CODE{% endif %}` | Este nombre de usuario no se crea porque supera el límite de 39 caracteres. |
{% ifversion not ghec %}
### Acerca de la normalización de nombres de usuario con SAML
{% ifversion ghes %}Si configura la autenticación SAML para {% data variables.product.product_location %}, {% endif %}{% data variables.product.product_name %} determina el nombre de usuario de cada persona mediante una de las aserciones siguientes en la respuesta SAML, ordenadas por prioridad descendente.
1. El atributo `username` personalizado, si está definido y si hay uno.
1. Una aserción `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name`, si está presente.
1. Una aserción `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`, si está presente.
1. El elemento `NameID`
{% data variables.product.product_name %} requiere el elemento `NameID` incluso si hay otros atributos. Para obtener más información, consulta "[Referencia de configuración de SAML](/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference#saml-attributes)".
{% data variables.product.product_name %} crea una asignación entre el valor de `NameID` del IdP y el nombre de usuario {% ifversion ghae %}en{% else %}en{% endif %} {% data variables.product.product_location %}, por lo que el valor de `NameID` debe ser persistente y único y no estar sujeto a cambios para el ciclo de vida del usuario.
{% ifversion ghes %} {% note %}
**Nota**: Si el elemento `NameID` para un usuario cambia en el IdP, la persona verá un mensaje de error al iniciar sesión en {% data variables.product.product_location %}. Para restaurar el acceso de la persona, deberás actualizar la asignación de `NameID` de la cuenta de usuario. Para más información, vea "[Actualizar el `NameID` del SAML de un usuario](/admin/identity-and-access-management/using-saml-for-enterprise-iam/updating-a-users-saml-nameid)".
{% endnote %} {% endif %} {% endif %}
Usernames for user accounts on {% ifversion ghes or ghae %}{% data variables.product.product_name %}{% elsif ghec %}{% data variables.product.prodname_dotcom_the_website %}{% endif %} can only contain alphanumeric characters and dashes (`-`).
{% ifversion ghec %}
## Resolución de conflictos de nombre de usuario
When you configure SAML authentication, {% data variables.product.product_name %} uses the SCIM `userName` attribute value sent from the IdP to determine the username for the corresponding user account on {% data variables.product.prodname_dotcom_the_website %}. If this value includes unsupported characters, {% data variables.product.product_name %} will normalize the username per the following rules.
{% elsif ghes %}
When you configure CAS, LDAP, or SAML authentication, {% data variables.product.product_name %} uses an identifier from the user account on your external authentication provider to determine the username for the corresponding user account on {% data variables.product.product_name %}. If the identifier includes unsupported characters, {% data variables.product.product_name %} will normalize the username per the following rules.
{% elsif ghae %}
When you configure SAML authentication, {% data variables.product.product_name %} uses an identifier from the user account on your IdP to determine the username for the corresponding user account on {% data variables.product.product_name %}. If the identifier includes unsupported characters, {% data variables.product.product_name %} will normalize the username per the following rules.
{% endif %}
Cuando se aprovisiona un usuario nuevo, si el nombre de usuario normalizado entra en conflicto con un usuario existente en la empresa, se producirá un error `409` en el intento de aprovisionamiento.
1. {% data variables.product.product_name %} will normalize any non-alphanumeric character in your account's username into a dash. For example, a username of `mona.the.octocat` will be normalized to `mona-the-octocat`. Note that normalized usernames also can't start or end with a dash. They also can't contain two consecutive dashes.
Para resolver este problema, debes realizar un cambio en el IdP para que los nombres de usuario normalizados sean únicos. Si no puedes cambiar el identificador que se está normalizando, puedes cambiar la asignación de atributos para el atributo `userName`. Si cambias la asignación de atributos, se actualizarán los nombres de usuario de las {% data variables.product.prodname_managed_users %} existentes, pero no cambiará nada más de las cuentas, incluido el historial de actividad.
1. Usernames created from email addresses are created from the normalized characters that precede the `@` character.
1. If multiple accounts are normalized into the same {% data variables.product.product_name %} username, only the first user account is created. Subsequent users with the same username won't be able to sign in. {% ifversion ghec %}For more information, see "[Resolving username conflicts](#resolving-username-conflicts)."{% endif %}
### Examples of username normalization
| Identifier on provider | Normalized username on {% data variables.product.prodname_dotcom %} | Result |
| :- | :- | :- |
| The.Octocat | `the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is created successfully. |
| !The.Octocat | `-the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created, because it starts with a dash. |
| The.Octocat! | `the-octocat-{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created, because it ends with a dash. |
| The!!Octocat | `the--octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created, because it contains two consecutive dashes. |
| The!Octocat | `the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created. Although the normalized username is valid, it already exists. |
| `The.Octocat@example.com` | `the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created. Although the normalized username is valid, it already exists. |
| `mona.lisa.the.octocat.from.github.united.states@example.com` | `mona-lisa-the-octocat-from-github-united-states{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created, because it exceeds the 39-character limit. |
{% ifversion not ghec %}
### About username normalization with SAML
{% ifversion ghes %}If you configure SAML authentication for {% data variables.product.product_location %}, {% endif %}{% data variables.product.product_name %} determines each person's username by one of the following assertions in the SAML response, ordered by descending priority.
1. The custom `username` attribute, if defined and present
1. An `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name` assertion, if present
1. An `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress` assertion, if present
1. The `NameID` element
{% data variables.product.product_name %} requires the `NameID` element even if other attributes are present. For more information, see "[SAML configuration reference](/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference#saml-attributes)."
{% data variables.product.product_name %} creates a mapping between the `NameID` from the IdP and the username {% ifversion ghae %}in{% else %}on{% endif %} {% data variables.product.product_location %}, so the `NameID` should be persistent, unique, and not subject to change for the lifecycle of the user.
{% ifversion ghes %}
{% note %}
**Note**: If the `NameID` for a user does change on the IdP, the person will see an error message when signing into {% data variables.product.product_location %}. To restore the person's access, you'll need to update the user account's `NameID` mapping. For more information, see "[Updating a user's SAML `NameID`](/admin/identity-and-access-management/using-saml-for-enterprise-iam/updating-a-users-saml-nameid)."
{% endnote %}
{% endif %}
{% endif %}
{% ifversion ghec %}
## Resolving username conflicts
When a new user is being provisioned, if the user's normalized username conflicts with an existing user in the enterprise, the provisioning attempt will fail with a `409` error.
To resolve this problem, you must make a change in your IdP so that the normalized usernames will be unique. If you cannot change the identifier that's being normalized, you can change the attribute mapping for the `userName` attribute. If you change the attribute mapping, usernames of existing {% data variables.product.prodname_managed_users %} will be updated, but nothing else about the accounts will change, including activity history.
{% note %}
**Nota**: {% data variables.contact.github_support %} no puede proporcionar ayuda para personalizar asignaciones de atributos ni configurar expresiones personalizadas. Puedes ponerte en contacto con tu IdP si tienes alguna duda.
**Note:** {% data variables.contact.github_support %} cannot provide assistance with customizing attribute mappings or configuring custom expressions. You can contact your IdP with any questions.
{% endnote %}
### Resolución de conflictos de nombre de usuario con Azure AD
### Resolving username conflicts with Azure AD
Para resolver conflictos de nombre de usuario en Azure AD, modifica el valor de nombre principal del usuario en conflicto o modifica la asignación de atributos para el atributo `userName`. Si modificas la asignación de atributos, puedes elegir un atributo existente o usar una expresión para asegurarte de que todos los usuarios aprovisionados tengan un alias normalizado único.
To resolve username conflicts in Azure AD, either modify the User Principal Name value for the conflicting user or modify the attribute mapping for the `userName` attribute. If you modify the attribute mapping, you can choose an existing attribute or use an expression to ensure that all provisioned users have a unique normalized alias.
1. En Azure AD, abre la aplicación {% data variables.product.prodname_emu_idp_application %}.
1. En la barra lateral de la izquierda, haz clic en **Aprovisionamiento**.
1. Haz clic en **Editar aprovisionamiento**.
1. Expande **Asignaciones** y haz clic en **Aprovisionar usuarios de Azure Active Directory**.
1. Haz clic en la asignación del atributo `userName` de {% data variables.product.prodname_dotcom %}.
1. Cambia la asignación de atributos.
- Para asignar un atributo existente en Azure AD al atributo `userName` en {% data variables.product.prodname_dotcom %}, haz clic en el campo de atributo deseado. Después, guarda y espera a que se produzca un ciclo de aprovisionamiento, en un plazo de unos 40 minutos.
- Para usar una expresión en lugar de un atributo existente, cambia el tipo de asignación a "Expresión" y agrega una expresión personalizada que haga que este valor sea único para todos los usuarios. Por ejemplo, podrías usar `[FIRST NAME]-[LAST NAME]-[EMPLOYEE ID]`. Para obtener más información, consulta [Referencia para la escritura de expresiones para la asignación de atributos en Azure Active Directory](https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/functions-for-customizing-application-data) en Microsoft Docs.
1. In Azure AD, open the {% data variables.product.prodname_emu_idp_application %} application.
1. In the left sidebar, click **Provisioning**.
1. Click **Edit Provisioning**.
1. Expand **Mappings**, then click **Provision Azure Active Directory Users**.
1. Click the {% data variables.product.prodname_dotcom %} `userName` attribute mapping.
1. Change the attribute mapping.
- To map an existing attribute in Azure AD to the `userName` attribute in {% data variables.product.prodname_dotcom %}, click your desired attribute field. Then, save and wait for a provisioning cycle to occur within about 40 minutes.
- To use an expression instead of an existing attribute, change the Mapping type to "Expression", then add a custom expression that will make this value unique for all users. For example, you could use `[FIRST NAME]-[LAST NAME]-[EMPLOYEE ID]`. For more information, see [Reference for writing expressions for attribute mappings in Azure Active Directory](https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/functions-for-customizing-application-data) in Microsoft Docs.
### Resolución de conflictos de nombre de usuario con Okta
### Resolving username conflicts with Okta
Para resolver conflictos de nombre de usuario en Okta, actualiza la configuración de asignación de atributos para la aplicación {% data variables.product.prodname_emu_idp_application %}.
To resolve username conflicts in Okta, update the attribute mapping settings for the {% data variables.product.prodname_emu_idp_application %} application.
1. En Okta, abre la aplicación {% data variables.product.prodname_emu_idp_application %}.
1. Haga clic en **Sign on** (Iniciar sesión).
1. En la sección "Configuración", haz clic en **Editar**.
1. Actualiza el "Formato de nombre de usuario de la aplicación".
1. In Okta, open the {% data variables.product.prodname_emu_idp_application %} application.
1. Click **Sign On**.
1. In the "Settings" section, click **Edit**.
1. Update the "Application username format."
{% endif %}

View File

@@ -135,7 +135,7 @@ By default, when an unauthenticated user attempts to access an enterprise that u
{% data variables.product.product_name %} automatically creates a username for each person by normalizing an identifier provided by your IdP. For more information, see "[Username considerations for external authentication](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication)."
A conflict may occur when provisioning users if the unique parts of the identifier provided by your IdP are removed during normalization. If you're unable to provision a user due to a username conflict, you should modify the username provided by your IdP. For more information, see "[Resolving username conflicts](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication#resolving-username-conflicts)."
A conflict may occur when provisioning users if the unique parts of the identifier provided by your IdP are removed during normalization. {% data reusables.enterprise-accounts.emu-only-emails-within-the-enterprise-can-conflict %} If you're unable to provision a user due to a username conflict, you should modify the username provided by your IdP. For more information, see "[Resolving username conflicts](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication#resolving-username-conflicts)."
The profile name and email address of a {% data variables.product.prodname_managed_user %} is also provided by the IdP. {% data variables.product.prodname_managed_users_caps %} cannot change their profile name or email address on {% data variables.product.prodname_dotcom %}, and the IdP can only provide a single email address.

View File

@@ -1,7 +1,7 @@
---
title: Configuración del flujo de trabajo de CodeQL para lenguajes compilados
title: Configuring the CodeQL workflow for compiled languages
shortTitle: Configure compiled languages
intro: 'Puedes configurar cómo {% data variables.product.prodname_dotcom %} utiliza el {% data variables.product.prodname_codeql_workflow %} para escanear el código escrito en los lenguajes compilados para las vulnerabilidades y errores.'
intro: 'You can configure how {% data variables.product.prodname_dotcom %} uses the {% data variables.product.prodname_codeql_workflow %} to scan code written in compiled languages for vulnerabilities and errors.'
product: '{% data reusables.gated-features.code-scanning %}'
permissions: 'If you have write permissions to a repository, you can configure {% data variables.product.prodname_code_scanning %} for that repository.'
redirect_from:
@@ -25,87 +25,89 @@ topics:
- C/C++
- C#
- Java
ms.openlocfilehash: c8256eea83b6a30879effc4d7797f2afcbc82e15
ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d
ms.translationtype: HT
ms.contentlocale: es-ES
ms.lasthandoff: 09/10/2022
ms.locfileid: '147879423'
---
{% data reusables.code-scanning.beta %} {% data reusables.code-scanning.enterprise-enable-code-scanning-actions %}
## Acerca de {% data variables.product.prodname_codeql_workflow %} y los lenguajes compilados
Puedes configurar a {% data variables.product.prodname_dotcom %} para que ejecute el {% data variables.product.prodname_code_scanning %} en tu repositorio si agregas un flujo de trabajo de {% data variables.product.prodname_actions %} a este. Para {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %}, se agregan los datos {% data variables.product.prodname_codeql_workflow %}. Para más información, vea "[Configuración de {% data variables.product.prodname_code_scanning %} para un repositorio](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)".
{% data reusables.code-scanning.beta %}
{% data reusables.code-scanning.enterprise-enable-code-scanning-actions %}
{% data reusables.code-scanning.edit-workflow %} Para obtener información general sobre cómo configurar {% data variables.product.prodname_code_scanning %} y editar archivos de flujo de trabajo, vea "[Configuración de {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning)" y "[Más información sobre {% data variables.product.prodname_actions %}](/actions/learn-github-actions)".
## About the {% data variables.product.prodname_codeql_workflow %} and compiled languages
## Acerca de autobuild para {% data variables.product.prodname_codeql %}
You set up {% data variables.product.prodname_dotcom %} to run {% data variables.product.prodname_code_scanning %} for your repository by adding a {% data variables.product.prodname_actions %} workflow to the repository. For {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %}, you add the {% data variables.product.prodname_codeql_workflow %}. 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)."
El escaneo de código funciona ejecutando consultas contra una o más bases de datos. Cada base de datos contiene una representación de todo el código de tu repositorio en un solo lenguaje. Para los lenguajes compilados de C/C++, C#, y Java, el proceso de poblar esta base de datos involucra compilar el código y extraer los datos. {% data reusables.code-scanning.analyze-go %}
{% data reusables.code-scanning.edit-workflow %}
For general information about configuring {% data variables.product.prodname_code_scanning %} and editing workflow files, see "[Configuring {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning)" and "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)."
## About autobuild for {% data variables.product.prodname_codeql %}
{% data variables.product.prodname_code_scanning_capc %} works by running queries against one or more databases. Each database contains a representation of all of the code in a single language in your repository.
For the compiled languages C/C++, C#, and Java, the process of populating this database involves building the code and extracting data. {% data reusables.code-scanning.analyze-go %}
{% data reusables.code-scanning.autobuild-compiled-languages %}
Si en el flujo de trabajo se usa una matriz `language`, `autobuild` intenta compilar cada uno de los lenguajes compilados enumerados en la matriz. Sin una matriz, `autobuild` intentará compilar el lenguaje compilado compatible que tenga más archivos de código fuente en el repositorio. Con la excepción de Go, el análisis de otros lenguajes compilados en tu repositorio siempre fallará a menos de que proporciones comandos de compilación específicos.
If your workflow uses a `language` matrix, `autobuild` attempts to build each of the compiled languages listed in the matrix. Without a matrix `autobuild` attempts to build the supported compiled language that has the most source files in the repository. With the exception of Go, analysis of other compiled languages in your repository will fail unless you supply explicit build commands.
{% note %}
{% ifversion ghae %} **Nota**: {% data reusables.actions.self-hosted-runners-software %} {% else %} **Nota**: Si usa ejecutores autohospedados para {% data variables.product.prodname_actions %}, es posible que tenga que instalar software adicional para usar el proceso `autobuild`. Adicionalmente, si tu repositorio requiere de una versión específica de una herramienta de compilación, tal vez necesites instalarla manualmente. Para más información, vea "[Especificaciones para los ejecutores hospedados en {% data variables.product.prodname_dotcom %}](/actions/reference/specifications-for-github-hosted-runners/#supported-software)".
{% ifversion ghae %}
**Note**: {% data reusables.actions.self-hosted-runners-software %}
{% else %}
**Note**: If you use self-hosted runners for {% data variables.product.prodname_actions %}, you may need to install additional software to use the `autobuild` process. Additionally, if your repository requires a specific version of a build tool, you may need to install it manually. For more information, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)".
{% endif %}
{% endnote %}
### C/C++
| Tipo de sistema compatible | Nombre del sistema |
| Supported system type | System name |
|----|----|
| Sistema operativo | Windows, macOS y Linux. |
| Sistema de compilación | Windows: MSbuild y scripts de compilación<br/>Linux y macOS: Autoconf, Make, CMake, qmake, Meson, Waf, SCons, Linux Kbuild y scripts de compilación |
| Operating system | Windows, macOS, and Linux |
| Build system | Windows: MSbuild and build scripts<br/>Linux and macOS: Autoconf, Make, CMake, qmake, Meson, Waf, SCons, Linux Kbuild, and build scripts |
El comportamiento del paso `autobuild` varía en función del sistema operativo en el que se ejecute la extracción. En Windows, el paso `autobuild` intenta detectar de forma automática un método de compilación adecuado para C/C++ mediante el enfoque siguiente:
The behavior of the `autobuild` step varies according to the operating system that the extraction runs on. On Windows, the `autobuild` step attempts to autodetect a suitable build method for C/C++ using the following approach:
1. Se invoca `MSBuild.exe` en el archivo de solución (`.sln`) o proyecto (`.vcxproj`) más cercano a la raíz.
Si `autobuild` detecta varios archivos de solución o del proyecto en la misma profundidad (la más corta) con respecto al directorio de nivel superior, intentará compilarlos todos.
2. Invoque un script similar a un script de compilación:_build.bat_, _build.cmd_ _y build.exe_ (en ese orden).
1. Invoke `MSBuild.exe` on the solution (`.sln`) or project (`.vcxproj`) file closest to the root.
If `autobuild` detects multiple solution or project files at the same (shortest) depth from the top level directory, it will attempt to build all of them.
2. Invoke a script that looks like a build script—_build.bat_, _build.cmd_, _and build.exe_ (in that order).
En Linux y macOS, el paso `autobuild` revisa los archivos presentes en el repositorio para determinar el sistema de compilación que usar:
On Linux and macOS, the `autobuild` step reviews the files present in the repository to determine the build system used:
1. Busca un sistema de compilación en el directorio raíz.
2. Si no se encuentra ninguno, busca un directorio único en los subdirectorios, el cual cuente con un sistema de compilación para C/C++.
3. Ejecuta un comando adecuado para configurar el sistema.
1. Look for a build system in the root directory.
2. If none are found, search subdirectories for a unique directory with a build system for C/C++.
3. Run an appropriate command to configure the system.
### C#
| Tipo de sistema compatible | Nombre del sistema |
| Supported system type | System name |
|----|----|
| Sistema operativo | Windows y Linux |
| Sistema de compilación | .NET y MSbuild, así como los scripts de compilación |
| Operating system | Windows and Linux |
| Build system | .NET and MSbuild, as well as build scripts |
El proceso `autobuild` intenta detectar de forma automática un método de compilación adecuado para C# mediante el enfoque siguiente:
The `autobuild` process attempts to autodetect a suitable build method for C# using the following approach:
1. Se invoca `dotnet build` en el archivo de solución (`.sln`) o proyecto (`.csproj`) más cercano a la raíz.
2. Se invoca `MSbuild` (Linux) o `MSBuild.exe` (Windows) en el archivo de solución o del proyecto más cercano a la raíz.
Si `autobuild` detecta varios archivos de solución o del proyecto en la misma profundidad (la más corta) con respecto al directorio de nivel superior, intentará compilarlos todos.
3. Se invoca un script similar a un script de compilación: _build_ y _build.sh_ (en ese orden, para Linux), o bien _build.bat_, _build.cmd_ _y build.exe_ (en ese orden, para Windows).
1. Invoke `dotnet build` on the solution (`.sln`) or project (`.csproj`) file closest to the root.
2. Invoke `MSbuild` (Linux) or `MSBuild.exe` (Windows) on the solution or project file closest to the root.
If `autobuild` detects multiple solution or project files at the same (shortest) depth from the top level directory, it will attempt to build all of them.
3. Invoke a script that looks like a build script—_build_ and _build.sh_ (in that order, for Linux) or _build.bat_, _build.cmd_, _and build.exe_ (in that order, for Windows).
### Java
| Tipo de sistema compatible | Nombre del sistema |
| Supported system type | System name |
|----|----|
| Sistema operativo | Windows, macOS, y Linux (sin restricción) |
| Sistema de compilación | Gradle, Maven y Ant |
| Operating system | Windows, macOS, and Linux (no restriction) |
| Build system | Gradle, Maven and Ant |
El proceso `autobuild` intenta determinar el sistema de compilación para las bases de código de Java mediante la aplicación de esta estrategia:
The `autobuild` process tries to determine the build system for Java codebases by applying this strategy:
1. Busca un archivo de compilación en el directorio raíz. Busca a Gradle en Maven y luego Ant compila los archivos.
2. Ejecuta el primer archivo de compilación que encuentre. Si tanto los archivos de Gradle como los de Maven están presentes, se utiliza el archivo de Gradle.
3. De lo contrario, usca los archivos de compilación en los subidrectorios directos del directorio raíz. Si solo un subdirectorio contiene archivos de compilación, ejecuta el primer archivo identificado en este subdirectorio (utilizando la misma preferencia que para 1). Si más de un subdirectorio contiene archivos de compilación, reporta un error.
1. Search for a build file in the root directory. Check for Gradle then Maven then Ant build files.
2. Run the first build file found. If both Gradle and Maven files are present, the Gradle file is used.
3. Otherwise, search for build files in direct subdirectories of the root directory. If only one subdirectory contains build files, run the first file identified in that subdirectory (using the same preference as for 1). If more than one subdirectory contains build files, report an error.
## Agregar pasos de compilación para un lenguaje compilado
## Adding build steps for a compiled language
{% data reusables.code-scanning.autobuild-add-build-steps %} Para obtener información sobre cómo editar el archivo de flujo de trabajo, vea "[Configuración de {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning#editing-a-code-scanning-workflow)".
{% data reusables.code-scanning.autobuild-add-build-steps %} For information on how to edit the workflow file, see "[Configuring {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning#editing-a-code-scanning-workflow)."
Después de quitar el paso `autobuild`, quite la marca de comentario del paso `run` y agregue comandos de compilación que sean adecuados para el repositorio. El paso `run` del flujo de trabajo ejecuta herramientas de línea de comandos mediante el shell del sistema operativo. Puede modificar estos comandos y agregar más comandos para personalizar el proceso de compilación.
After removing the `autobuild` step, uncomment the `run` step and add build commands that are suitable for your repository. The workflow `run` step runs command-line programs using the operating system's shell. You can modify these commands and add more commands to customize the build process.
``` yaml
- run: |
@@ -113,9 +115,9 @@ Después de quitar el paso `autobuild`, quite la marca de comentario del paso `r
make release
```
Para más información sobre la palabra clave `run`, vea "[Sintaxis de flujo de trabajo para {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsrun)".
For more information about the `run` keyword, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsrun)."
Si el repositorio contiene varios lenguajes compilados, puede especificar comandos de compilación específicos del lenguaje. Por ejemplo, si el repositorio contiene C/C++, C# y Java, y `autobuild` compila correctamente C/C++ y C# pero no puede compilar Java, podría usar la configuración siguiente en el flujo de trabajo, después del paso `init`. Esto especifica los pasos de compilación para Java mientras se sigue usando `autobuild` para C/C++ y C#:
If your repository contains multiple compiled languages, you can specify language-specific build commands. For example, if your repository contains C/C++, C# and Java, and `autobuild` correctly builds C/C++ and C# but fails to build Java, you could use the following configuration in your workflow, after the `init` step. This specifies build steps for Java while still using `autobuild` for C/C++ and C#:
```yaml
- if: matrix.language == 'cpp' || matrix.language == 'csharp'
@@ -129,8 +131,8 @@ Si el repositorio contiene varios lenguajes compilados, puede especificar comand
make release
```
Para más información sobre el condicional `if`, vea "[Sintaxis de flujo de trabajo para Acciones de GitHub](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsif)".
For more information about the `if` conditional, see "[Workflow syntax for GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsif)."
Para obtener más sugerencias y trucos sobre por qué `autobuild` no compilará el código, vea "[Solución de problemas del flujo de trabajo de {% data variables.product.prodname_codeql %}](/code-security/secure-coding/troubleshooting-the-codeql-workflow)".
For more tips and tricks about why `autobuild` won't build your code, see "[Troubleshooting the {% data variables.product.prodname_codeql %} workflow](/code-security/secure-coding/troubleshooting-the-codeql-workflow)."
Si agregas pasos de compilación manualmente para los lenguajes compilados y el {% data variables.product.prodname_code_scanning %} aún no funciona en tu repositorio, contacta a {% data variables.contact.contact_support %}.
If you added manual build steps for compiled languages and {% data variables.product.prodname_code_scanning %} is still not working on your repository, contact {% data variables.contact.contact_support %}.

View File

@@ -57,7 +57,8 @@ Generally, we name our supported ecosystems after the software programming langu
- Maven (registry: https://repo.maven.apache.org/maven2)
- npm (registry: https://www.npmjs.com/)
- NuGet (registry: https://www.nuget.org/)
- pip (registry: https://pypi.org/)
- pip (registry: https://pypi.org/){% ifversion dependency-graph-dart-support %}
- pub (registry: https://pub.dev/packages/registry){% endif %}
- RubyGems (registry: https://rubygems.org/)
- Rust (registry: https://crates.io/)

View File

@@ -784,15 +784,7 @@ registries:
### `docker-registry`
{% data variables.product.prodname_dependabot %} works with container registries that implement the OCI container registry. For more information, see [https://github.com/opencontainers/distribution-spec/blob/main/spec.md](https://github.com/opencontainers/distribution-spec/blob/main/spec.md). {% data variables.product.prodname_dependabot %} supports authentication to private registries via a central service. For further details, see [Token Authentication Specification](https://docs.docker.com/registry/spec/auth/token/) in the Docker documentation.
We currently support the container registries listed here:
* Docker Hub
* {% data variables.product.company_short %} {% data variables.product.prodname_container_registry %}
* GCR (Google Cloud)
* Private ECR (AWS) - public ECR support is tracked in [https://github.com/dependabot/dependabot-core/issues/4212](https://github.com/dependabot/dependabot-core/issues/4212).
{% data variables.product.prodname_dependabot %} works with any container registries that implement the OCI container registry spec. For more information, see [https://github.com/opencontainers/distribution-spec/blob/main/spec.md](https://github.com/opencontainers/distribution-spec/blob/main/spec.md). {% data variables.product.prodname_dependabot %} supports authentication to private registries via a central token service or HTTP Basic Auth. For further details, see [Token Authentication Specification](https://docs.docker.com/registry/spec/auth/token/) in the Docker documentation and [Basic access authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) on Wikipedia.
The `docker-registry` type supports username and password.

View File

@@ -1,6 +1,6 @@
---
title: Programa asociado del escaneo de secretos
intro: 'Como proveedor de servicios, puedes asociarte con {% data variables.product.prodname_dotcom %} para que se aseguren nuestros formatos de token secretos a través de un escaneo de secretos, el cual busca las confirmaciones accidentales de tus formatos secretos y puede enviarse a la terminal de verificación de un proveedor de servicios.'
title: Secret scanning partner program
intro: 'As a service provider, you can partner with {% data variables.product.prodname_dotcom %} to have your secret token formats secured through secret scanning, which searches for accidental commits of your secret format and can be sent to a service provider''s verify endpoint.'
miniTocMaxHeadingLevel: 3
redirect_from:
- /partnerships/token-scanning
@@ -12,113 +12,146 @@ versions:
topics:
- API
shortTitle: Secret scanning
ms.openlocfilehash: f935b849bb43e99fd3959db3920fd4d632bf54f7
ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d
ms.translationtype: HT
ms.contentlocale: es-ES
ms.lasthandoff: 09/10/2022
ms.locfileid: '145112418'
---
{% data variables.product.prodname_dotcom %} escanea los repositorios en busca de formatos secretos para prevenir el uso fraudulento de las credenciales que se confirmaron por accidente. El {% data variables.product.prodname_secret_scanning_caps %} ocurre predeterminadamente en los repositorios públicos y los administradores de repositorio o propietarios de la organización pueden habilitarlo en los repositorios privados. Como proveedor de servicios, puedes asociarte con {% data variables.product.prodname_dotcom %} para que tus formatos de secreto se incluyan en nuestro {% data variables.product.prodname_secret_scanning %}.
Cuando se encuentra una coincidencia de tu formato secreto en un repositorio público, se envía una carga útil a una terminal HTTP de tu elección.
{% data variables.product.prodname_dotcom %} scans repositories for known secret formats to prevent fraudulent use of credentials that were committed accidentally. {% data variables.product.prodname_secret_scanning_caps %} happens by default on public repositories, and can be enabled on private repositories by repository administrators or organization owners. As a service provider, you can partner with {% data variables.product.prodname_dotcom %} so that your secret formats are included in our {% data variables.product.prodname_secret_scanning %}.
Cuando se encuentra una coincidencia de tu formato de secreto en un repositorio privado, la cual esté configurada para el {% data variables.product.prodname_secret_scanning %}, entonces los administradores del repositorio y el confirmante recibirán una alerta y podrán ver y administrar el resultado del {% data variables.product.prodname_secret_scanning %} en {% data variables.product.prodname_dotcom %}. Para obtener más información, consulta "[Administración de alertas de {% data variables.product.prodname_secret_scanning %}](/github/administering-a-repository/managing-alerts-from-secret-scanning)".
When a match of your secret format is found in a public repository, a payload is sent to an HTTP endpoint of your choice.
Este artículo describe la forma en la que puedes asociarte con {% data variables.product.prodname_dotcom %} como proveedor de servicios y unirte al programa asociado del {% data variables.product.prodname_secret_scanning %}.
When a match of your secret format is found in a private repository configured for {% data variables.product.prodname_secret_scanning %}, then repository admins and the committer are alerted and can view and manage the {% data variables.product.prodname_secret_scanning %} result on {% data variables.product.prodname_dotcom %}. For more information, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/github/administering-a-repository/managing-alerts-from-secret-scanning)."
## El proceso del {% data variables.product.prodname_secret_scanning %}
This article describes how you can partner with {% data variables.product.prodname_dotcom %} as a service provider and join the {% data variables.product.prodname_secret_scanning %} partner program.
#### Cómo funciona el {% data variables.product.prodname_secret_scanning %} en un repositorio público
## The {% data variables.product.prodname_secret_scanning %} process
El siguiente diagrama resume el proceso del {% data variables.product.prodname_secret_scanning %} para los repositorios públicos y muestra como cualquier coincidencia se envía a la terminal de verificación de un proveedor de servicios.
#### How {% data variables.product.prodname_secret_scanning %} works in a public repository
![Diagrama de flujo que muestra el proceso de escaneo para un secreto y el envío de coincidencias a una terminal de verificación del proveedor de servicios](/assets/images/secret-scanning-flow.png "Flujo del {% data variables.product.prodname_secret_scanning_caps %}")
The following diagram summarizes the {% data variables.product.prodname_secret_scanning %} process for public repositories, with any matches sent to a service provider's verify endpoint.
## Unirse al programa del {% data variables.product.prodname_secret_scanning %} en {% data variables.product.prodname_dotcom %}
![Flow diagram showing the process of scanning for a secret and sending matches to a service provider's verify endpoint](/assets/images/secret-scanning-flow.png "{% data variables.product.prodname_secret_scanning_caps %} flow")
1. Contacta a {% data variables.product.prodname_dotcom %} para iniciar el proceso.
1. Identifica los secretos relevantes que quieres escanear y crea expresiones regulares para capturarlos.
1. Para las coincidencias de secretos que se encuentran en los repositorios públicos, crea un servicio de alerta de secretos que acepte webhooks de {% data variables.product.prodname_dotcom %}, el cual contenga la carga últil del mensaje del {% data variables.product.prodname_secret_scanning %}.
1. Implementa la verificación de firmas en tu servicio de alerta secreto.
1. Implementa la revocación de secretos y las notificaciones al usuario en tu servicio de alerta de secretos.
1. Proporciona retroalimentación para los falsos positivos (opcional).
## Joining the {% data variables.product.prodname_secret_scanning %} program on {% data variables.product.prodname_dotcom %}
### Contacta a {% data variables.product.prodname_dotcom %} para iniciar el proceso
1. Contact {% data variables.product.prodname_dotcom %} to get the process started.
1. Identify the relevant secrets you want to scan for and create regular expressions to capture them.
1. For secret matches found in public repositories, create a secret alert service which accepts webhooks from {% data variables.product.prodname_dotcom %} that contain the {% data variables.product.prodname_secret_scanning %} message payload.
1. Implement signature verification in your secret alert service.
1. Implement secret revocation and user notification in your secret alert service.
1. Provide feedback for false positives (optional).
Para iniciar el proceso de inscripción, envía un correo electrónico a <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>.
### Contact {% data variables.product.prodname_dotcom %} to get the process started
Recibirás los detalles del programa del {% data variables.product.prodname_secret_scanning %} y necesitarás aceptar las condiciones de participación de {% data variables.product.prodname_dotcom %} antes de proceder.
To get the enrollment process started, email <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>.
### Identifica tus secretos y crea expresiones regulares
You will receive details on the {% data variables.product.prodname_secret_scanning %} program, and you will need to agree to {% data variables.product.prodname_dotcom %}'s terms of participation before proceeding.
Para escanear tus secretos, {% data variables.product.prodname_dotcom %} necesita la siguiente información de cada secreto que quieras incluir en el programa del {% data variables.product.prodname_secret_scanning %}:
### Identify your secrets and create regular expressions
* Un nombre único y legible para las personas para el tipo de secreto. Lo usaremos para generar el valor `Type` en la carga del mensaje más adelante.
* Una expresión regular que encuentre el tipo de secreto. Sé tan preciso como sea posible, ya que esto reducirá la cantidad de falsos positivos.
* La URL de la terminal que recibe mensajes de {% data variables.product.prodname_dotcom %}. Esto no tiene que ser único para cada tipo de secreto.
To scan for your secrets, {% data variables.product.prodname_dotcom %} needs the following pieces of information for each secret that you want included in the {% data variables.product.prodname_secret_scanning %} program:
Envía esta información a <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>.
* A unique, human readable name for the secret type. We'll use this to generate the `Type` value in the message payload later.
* A regular expression which finds the secret type. Be as precise as possible, because this will reduce the number of false positives.
* The URL of the endpoint that receives messages from {% data variables.product.prodname_dotcom %}. This does not have to be unique for each secret type.
### Crea un servicio de alerta de secretos
Send this information to <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>.
Crea una terminal HTTP pública y accesible desde la internet en la URL que nos proporcionaste. Cuando se encuentre una coincidencia de tu expresión regular en un repositorio público, {% data variables.product.prodname_dotcom %} enviará un mensaje HTTP de tipo `POST` a tu terminal.
### Create a secret alert service
#### Ejemplo del POST que se envía a tu terminal
Create a public, internet accessible HTTP endpoint at the URL you provided to us. When a match of your regular expression is found in a public repository, {% data variables.product.prodname_dotcom %} will send an HTTP `POST` message to your endpoint.
```http
POST / HTTP/2
Host: HOST
Accept: */*
Content-Type: application/json
GITHUB-PUBLIC-KEY-IDENTIFIER: 90a421169f0a406205f1563a953312f0be898d3c7b6c06b681aa86a874555f4a
GITHUB-PUBLIC-KEY-SIGNATURE: MEQCIA6C6L8ZYvZnqgV0zwrrmRab10QmIFV396gsba/WYm9oAiAI6Q+/jNaWqkgG5YhaWshTXbRwIgqIK6Ru7LxVYDbV5Q==
Content-Length: 0123
#### Example request body
[{"token":"NMIfyYncKcRALEXAMPLE","type":"mycompany_api_token","url":"https://github.com/octocat/Hello-World/blob/12345600b9cbe38a219f39a9941c9319b600c002/foo/bar.txt"}]
```json
[
{
"token":"NMIfyYncKcRALEXAMPLE",
"type":"mycompany_api_token",
"url":"https://github.com/octocat/Hello-World/blob/12345600b9cbe38a219f39a9941c9319b600c002/foo/bar.txt",
"source":"content"
}
]
```
El cuerpo del mensaje es una matriz de JSON que contiene uno o más objetos con el siguiente contenido. Cuando se encuentran coincidencias múltiples, {% data variables.product.prodname_dotcom %} podría enviar un solo mensaje con más de una coincidencia del secreto. Tu terminal deberá poder gestionar las solicitudes con una gran cantidad de coincidencias sin exceder el tiempo.
The message body is a JSON array that contains one or more objects, with each object representing a single secret match. Your endpoint should be able to handle requests with a large number of matches without timing out. The keys for each secret match are:
* **Token**: valor de la coincidencia del secreto.
* **Tipo**: nombre único que proporcionaste para identificar la expresión regular.
* **Dirección URL**: la dirección URL de confirmación pública en la que se encontró la coincidencia.
* **token**: The value of the secret match.
* **type**: The unique name you provided to identify your regular expression.
* **url**: The public URL where the match was found (may be empty)
* **source**: Where the token was found on {% data variables.product.prodname_dotcom %}.
### Implementa la verificación de firmas en tu servicio de alerta de secretos
The list of valid values for `source` are:
Te recomendamos que implementes la validación de firmas en tu servicio de alerta de secretos para garantizar que los mensajes que recibes son auténticamente de {% data variables.product.prodname_dotcom %} y no son malintencionados.
* content
* commit
* pull_request_description
* pull_request_comment
* issue_description
* issue_comment
* discussion_body
* discussion_comment
* commit_comment
* gist_content
* gist_comment
* unknown
Puedes recuperar la clave pública de análisis de secretos de {% data variables.product.prodname_dotcom %} de https://api.github.com/meta/public_keys/secret_scanning y validar el mensaje mediante el algoritmo `ECDSA-NIST-P256V1-SHA256`.
### Implement signature verification in your secret alert service
The HTTP request to your service will also contain headers that we strongly recommend using
to validate the messages you receive are genuinely from {% data variables.product.prodname_dotcom %}, and are not malicious.
The two HTTP headers to look for are:
* `GITHUB-PUBLIC-KEY-IDENTIFIER`: Which `key_identifier` to use from our API
* `GITHUB-PUBLIC-KEY-SIGNATURE`: Signature of the payload
You can retrieve the {% data variables.product.prodname_dotcom %} secret scanning public key from https://api.github.com/meta/public_keys/secret_scanning and validate the message using the `ECDSA-NIST-P256V1-SHA256` algorithm. The endpoint
will provide several `key_identifier` and public keys. You can determine which public
key to use based on the value of `GITHUB-PUBLIC-KEY-IDENTIFIER`.
{% note %}
**Nota**: Al enviar una solicitud al punto de conexión de clave pública anterior, puede que alcances los límites de velocidad. Para evitar lelgar a estos límites de tasa, puedes utilizar un token de acceso personal (no se necesitan alcances) de acuerdo con lo que se sugiere en los ejemplos siguientes, o bien, utilizar una solicitud condicional. Para obtener más información, consulta "[Introducción a la API de REST](/rest/guides/getting-started-with-the-rest-api#conditional-requests)".
**Note**: When you send a request to the public key endpoint above, you may hit rate limits. To avoid hitting rate limits, you can use a personal access token (no scopes required) as suggested in the samples below, or use a conditional request. For more information, see "[Getting started with the REST API](/rest/guides/getting-started-with-the-rest-api#conditional-requests)."
{% endnote %}
Asumiendo que recibes el siguiente mensaje, los extractos de código que presentamos a continuación demuestran cómo pudiste realizar la validación de firmas.
Los fragmentos de código suponen que has establecido una variable de entorno denominada `GITHUB_PRODUCTION_TOKEN` con un PAT generado (https://github.com/settings/tokens) para evitar alcanzar los límites de velocidad). Este PAT no necesita alcances/permisos.
{% note %}
**Nota**: La firma se generó con el cuerpo del mensaje sin procesar. Así que es importante que también utilices el cuerpo del mensaje sin procesar para la validación de la firma en vez de interpretar y convertir en secuencias el JSON, para evitar volver a arreglar dicho mensaje o cambiar los espacios.
**Note**: The signature was generated using the raw message body. So it's important you also use the raw message body for signature validation, instead of parsing and stringifying the JSON, to avoid rearranging the message or changing spacing.
{% endnote %}
**Mensaje de ejemplo que se envía a tu terminal de verificación**
**Sample HTTP POST sent to verify endpoint**
```http
POST / HTTP/2
Host: HOST
Accept: */*
content-type: application/json
GITHUB-PUBLIC-KEY-IDENTIFIER: 90a421169f0a406205f1563a953312f0be898d3c7b6c06b681aa86a874555f4a
GITHUB-PUBLIC-KEY-SIGNATURE: MEUCIQDKZokqnCjrRtw0tni+2Ltvl/uiMJ1EGumEsp1BsNr32AIgQY1YXD2nlj+XNfGK4rBfkMJ1JDOQcYXxa2sY8FNkrKc=
Content-Length: 0000
GITHUB-PUBLIC-KEY-IDENTIFIER: f9525bf080f75b3506ca1ead061add62b8633a346606dc5fe544e29231c6ee0d
GITHUB-PUBLIC-KEY-SIGNATURE: MEUCIFLZzeK++IhS+y276SRk2Pe5LfDrfvTXu6iwKKcFGCrvAiEAhHN2kDOhy2I6eGkOFmxNkOJ+L2y8oQ9A2T9GGJo6WJY=
Content-Length: 83
[{"token":"some_token","type":"some_type","url":"some_url"}]
[{"token":"some_token","type":"some_type","url":"some_url","source":"some_source"}]
```
**Ejemplo de validación en Go**
{% note %}
**Note**: The key id and signature from the example payload is derived from a test key.
The public key for them is:
```
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsz9ugWDj5jK5ELBK42ynytbo38gP
HzZFI03Exwz8Lh/tCfL3YxwMdLjB+bMznsanlhK0RwcGP3IDb34kQDIo3Q==
-----END PUBLIC KEY-----
```
{% endnote %}
The following code snippets demonstrate how you could perform signature validation.
The code examples assume you've set an environment variable called `GITHUB_PRODUCTION_TOKEN` with a generated [personal access token](https://github.com/settings/tokens) (PAT) to avoid hitting rate limits. The PAT does not need any scopes/permissions.
**Validation sample in Go**
```golang
package main
@@ -138,11 +171,11 @@ import (
)
func main() {
payload := `[{"token":"some_token","type":"some_type","url":"some_url"}]`
payload := `[{"token":"some_token","type":"some_type","url":"some_url","source":"some_source"}]`
kID := "90a421169f0a406205f1563a953312f0be898d3c7b6c06b681aa86a874555f4a"
kID := "f9525bf080f75b3506ca1ead061add62b8633a346606dc5fe544e29231c6ee0d"
kSig := "MEUCIQDKZokqnCjrRtw0tni+2Ltvl/uiMJ1EGumEsp1BsNr32AIgQY1YXD2nlj+XNfGK4rBfkMJ1JDOQcYXxa2sY8FNkrKc="
kSig := "MEUCIFLZzeK++IhS+y276SRk2Pe5LfDrfvTXu6iwKKcFGCrvAiEAhHN2kDOhy2I6eGkOFmxNkOJ+L2y8oQ9A2T9GGJo6WJY="
// Fetch the list of GitHub Public Keys
req, err := http.NewRequest("GET", "https://api.github.com/meta/public_keys/secret_scanning", nil)
@@ -248,7 +281,7 @@ type asn1Signature struct {
}
```
**Ejemplo de validación en Ruby**
**Validation sample in Ruby**
```ruby
require 'openssl'
require 'net/http'
@@ -257,14 +290,14 @@ require 'json'
require 'base64'
payload = <<-EOL
[{"token":"some_token","type":"some_type","url":"some_url"}]
[{"token":"some_token","type":"some_type","url":"some_url","source":"some_source"}]
EOL
payload = payload
signature = "MEUCIQDKZokqnCjrRtw0tni+2Ltvl/uiMJ1EGumEsp1BsNr32AIgQY1YXD2nlj+XNfGK4rBfkMJ1JDOQcYXxa2sY8FNkrKc="
signature = "MEUCIFLZzeK++IhS+y276SRk2Pe5LfDrfvTXu6iwKKcFGCrvAiEAhHN2kDOhy2I6eGkOFmxNkOJ+L2y8oQ9A2T9GGJo6WJY="
key_id = "90a421169f0a406205f1563a953312f0be898d3c7b6c06b681aa86a874555f4a"
key_id = "f9525bf080f75b3506ca1ead061add62b8633a346606dc5fe544e29231c6ee0d"
url = URI.parse('https://api.github.com/meta/public_keys/secret_scanning')
@@ -288,7 +321,7 @@ openssl_key = OpenSSL::PKey::EC.new(current_key)
puts openssl_key.verify(OpenSSL::Digest::SHA256.new, Base64.decode64(signature), payload.chomp)
```
**Ejemplo de validación en JavaScript**
**Validation sample in JavaScript**
```js
const crypto = require("crypto");
const axios = require("axios");
@@ -330,17 +363,17 @@ const verify_signature = async (payload, signature, keyID) => {
};
```
### Implementa la revocación de secretos y la notificación a usuarios en tu servicio de alerta de secretos
### Implement secret revocation and user notification in your secret alert service
Para el {% data variables.product.prodname_secret_scanning %} en repositorios públicos, puedes ampliar tu servicio de alerta de secretos para que revoque los secretos expuestos y notifique a los usuarios afectados. Depende de ti el cómo implementas esto en tu servicio de alerta de secretos, pero te recomendamos considerar cualquier secreto del cual {% data variables.product.prodname_dotcom %} te envíe mensajes de que es público y está puesto en riesgo.
For {% data variables.product.prodname_secret_scanning %} in public repositories, you can enhance your secret alert service to revoke the exposed secrets and notify the affected users. How you implement this in your secret alert service is up to you, but we recommend considering any secrets that {% data variables.product.prodname_dotcom %} sends you messages about as public and compromised.
### Proporciona retroalimentación sobre los falsos positivos
### Provide feedback for false positives
Recolectamos la retroalimentación sobre la validez de los secretos individuales que se detectan en las respuestas de los socios. Si quieres participar, envíanos un correo electrónico a <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>.
We collect feedback on the validity of the detected individual secrets in partner responses. If you wish to take part, email us at <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>.
Cuando te reportamos los secretos, enviamos un arreglo de JSON con cada elemento que contiene el token, identificador de tipo y URL de confirmación. Cuando envías retroalimentación, nos envías información sobre si el token que se detectó fue una credencial real o falsa. Aceptamos la retroalimentación en los siguientes formatos.
When we report secrets to you, we send a JSON array with each element containing the token, type identifier, and commit URL. When you send us feedback, you send us information about whether the detected token was a real or false credential. We accept feedback in the following formats.
Puedes enviarnos el token sin procesar:
You can send us the raw token:
```
[
@@ -351,7 +384,7 @@ Puedes enviarnos el token sin procesar:
}
]
```
También puedes proporcionar el token en forma de hash después de realizar un hash criptográfico de una sola vía para el token sin procesar utilizando SHA-256:
You may also provide the token in hashed form after performing a one way cryptographic hash of the raw token using SHA-256:
```
[
@@ -362,13 +395,13 @@ También puedes proporcionar el token en forma de hash después de realizar un h
}
]
```
Algunos puntos importantes:
- Solo debes enviarnos ya sea la forma sin procesar del token ("token raw") o la forma en hash ("token_hash"), pero no ambas.
- En el caso de la forma en hash del token sin procesar, solo puedes utilizar SHA-256 para crear el hash del token y no algún otro algoritmo.
- La etiqueta indica si un token es un positivo verdadero ("true_positive") o falso ("false_positive"). Solo se permiten estas secuencias en minúsculas.
A few important points:
- You should only send us either the raw form of the token ("token_raw"), or the hashed form ("token_hash"), but not both.
- For the hashed form of the raw token, you can only use SHA-256 to hash the token, not any other hashing algorithm.
- The label indicates whether the token is a true ("true_positive") or a false positive ("false_positive"). Only these two lowercased literal strings are allowed.
{% note %}
**Nota:** Nuestro tiempo de espera se configura para que sea mayor (es decir, 30 segundos) para los socios que proporcionen datos sobre falsos positivos. Si necesitas un tiempo de espera superior a 30 segundos, envíanos un correo electrónico a <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>.
**Note:** Our request timeout is set to be higher (that is, 30 seconds) for partners who provide data about false positives. If you require a timeout higher than 30 seconds, email us at <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>.
{% endnote %}

View File

@@ -95,7 +95,7 @@ You can also find the node ID of all projects in your organization. The followin
curl --request POST \
--url https://api.github.com/graphql \
--header 'Authorization: Bearer TOKEN' \
--data '{"query":"{organization(login: \"ORGANIZATION") {projectsV2(first: 20) {nodes {id title}}}}"}'
--data '{"query":"{organization(login: \"ORGANIZATION\") {projectsV2(first: 20) {nodes {id title}}}}"}'
```
{% endcurl %}
@@ -566,7 +566,7 @@ The following example will update the value of a text field for an item. Replace
curl --request POST \
--url https://api.github.com/graphql \
--header 'Authorization: Bearer TOKEN' \
--data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: "PROJECT_ID" itemId: "ITEM_ID" fieldId: "FIELD_ID" value: { text: "Updated text" }}) { projectV2Item { id }}}"}'
--data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: \"PROJECT_ID\" itemId: \"ITEM_ID\" fieldId: \"FIELD_ID\" value: { text: \"Updated text\" }}) { projectV2Item { id }}}"}'
```
{% endcurl %}
@@ -620,7 +620,7 @@ The following example will update the value of a single select field for an item
curl --request POST \
--url https://api.github.com/graphql \
--header 'Authorization: Bearer TOKEN' \
--data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: "PROJECT_ID" itemId: "ITEM_ID" fieldId: "FIELD_ID" value: { singleSelectOptionId: "OPTION_ID" }}) { projectV2Item { id }}}"}'
--data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: \"PROJECT_ID\" itemId: \"ITEM_ID\" fieldId: \"FIELD_ID\" value: { singleSelectOptionId: \"OPTION_ID\" }}) { projectV2Item { id }}}"}'
```
{% endcurl %}
@@ -660,7 +660,7 @@ The following example will update the value of an iteration field for an item.
curl --request POST \
--url https://api.github.com/graphql \
--header 'Authorization: Bearer TOKEN' \
--data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: "PROJECT_ID" itemId: "ITEM_ID" fieldId: "FIELD_ID" value: { singleSelectOptionId: "OPTION_ID" }}) { projectV2Item { id }}}"}'
--data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: \"PROJECT_ID\" itemId: \"ITEM_ID\" fieldId: \"FIELD_ID\" value: { singleSelectOptionId: \"OPTION_ID\" }}) { projectV2Item { id }}}"}'
```
{% endcurl %}

View File

@@ -1,9 +1 @@
---
ms.openlocfilehash: e9f2162fa5c65d4a59b2bd350aea2b131205f9a6
ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5
ms.translationtype: HT
ms.contentlocale: es-ES
ms.lasthandoff: 09/05/2022
ms.locfileid: "145113377"
---
{% data variables.product.prodname_codeql %} también ejecuta una compilación para que los proyectos de Go configuren el proyecto. Sin embargo, a diferencia de los demás lenguajes compilados, se extraen todos los archivos de Go del repositorio, no solo los compilados. Puede usar comandos de compilación personalizados para omitir la extracción de archivos de Go que no se han tocado en la compilación.
For these three languages, {% data variables.product.prodname_codeql %} analyzes the source files in your repository that are built. {% data variables.product.prodname_codeql %} also runs a build for Go projects to set up the project, but then analyzes _all_ Go files in the repository, not just the files that are built. For any of these languages, including Go, you can disable `autobuild` and instead use custom build commands in order to analyze only the files that are built by these custom commands.

View File

@@ -1,9 +1,2 @@
---
ms.openlocfilehash: 05d61d8f49c6b53d318abbdceba89223404a7509
ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5
ms.translationtype: HT
ms.contentlocale: es-ES
ms.lasthandoff: 09/05/2022
ms.locfileid: "145115642"
---
Si el código de C/C++, C# o Java del repositorio tiene un proceso de compilación no estándar, `autobuild` puede producir un error. Deberá quitar el paso `autobuild` del flujo de trabajo y agregar manualmente los pasos de compilación. Si quieres especificar qué archivos de Go se deben extraer de tu repositorio, necesitarás agregar pasos de compilación.
If `autobuild` fails, or you want to analyze a different set of source files from those built by the `autobuild` process, you'll need to remove the `autobuild` step from the workflow, and manually add build steps. For C/C++, C#, Go, and Java projects, {% data variables.product.prodname_codeql %} will analyze whatever source code is built by your specified build steps.

View File

@@ -1,7 +1,7 @@
---
title: 外部認証のユーザー名に関する考慮事項
title: Username considerations for external authentication
shortTitle: Username considerations
intro: '{% ifversion ghes or ghec %}{% ifversion ghes %}認証に CASLDAP、または SAML{% elsif ghec %}{% data variables.product.prodname_emus %}{% endif %} を使うとき、{% endif %}{% data variables.product.product_name %} は、特定のルールに従って、{% ifversion ghec or ghae %}Enterprise での{% elsif ghes %}インスタンスでの{% endif %}各ユーザー アカウントのユーザー名を決定します。'
intro: '{% ifversion ghes or ghec %}When you use {% ifversion ghes %}CAS, LDAP, or SAML for authentication{% elsif ghec %}{% data variables.product.prodname_emus %}{% endif %}, {% endif %}{% data variables.product.product_name %} follows certain rules to determine the username for each user account {% ifversion ghec or ghae %}in your enterprise{% elsif ghes %}on your instance{% endif %}.'
miniTocMaxHeadingLevel: 3
versions:
ghec: '*'
@@ -14,141 +14,144 @@ topics:
- Enterprise
- Identity
- SSO
ms.openlocfilehash: 72f83b870e2c0ea13d95511ce4fc000b3ccfcfc5
ms.sourcegitcommit: 478f2931167988096ae6478a257f492ecaa11794
ms.translationtype: HT
ms.contentlocale: ja-JP
ms.lasthandoff: 09/09/2022
ms.locfileid: '147717998'
---
{% ifversion ghec %} {% note %}
**注:** この記事は、{% data variables.product.prodname_emus %} にのみ適用されます。 {% data variables.product.prodname_emus %} を使用せずに {% data variables.product.prodname_ghe_cloud %} を使用する場合、ユーザー名は {% data variables.product.prodname_dotcom %} ではなく、ユーザーによって作成されます。
{% ifversion ghec %}
{% note %}
{% endnote %} {% endif %}
**Note:** This article only applies to {% data variables.product.prodname_emus %}. If you use {% data variables.product.prodname_ghe_cloud %} without {% data variables.product.prodname_emus %}, usernames are created by users, not {% data variables.product.prodname_dotcom %}.
## 外部認証を使用するユーザー名について
{% endnote %}
{% endif %}
## About usernames with external authentication
{% ifversion ghes %}
CAS、LDAP、または SAML を使用して、{% data variables.product.product_name %} の外部認証を構成できます。 詳細については、「[エンタープライズの認証について](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-methods-for-github-enterprise-server)」を参照してください。
You can configure external authentication for {% data variables.product.product_name %} using CAS, LDAP, or SAML. For more information, see "[About authentication for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-methods-for-github-enterprise-server)."
外部認証を使用する場合、{% data variables.product.product_location %} は、ユーザーが初めて外部認証システムを介して {% data variables.product.product_location %} にサインインしたときに、各ユーザーのユーザー名を自動的に作成します。
When you use external authentication, {% data variables.product.product_location %} automatically creates a username for each person when the person signs into {% data variables.product.product_location %} through your external authentication system for the first time.
{% elsif ghec %}
{% data variables.product.prodname_emus %} のエンタープライズを使用する場合、エンタープライズのメンバーは、SAML ID プロバイダー (IdP) を介して {% data variables.product.prodname_dotcom %} にアクセスするように認証します。 詳細については、「[{% data variables.product.prodname_emus %} について](/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/about-enterprise-managed-users)」および「[エンタープライズの認証について](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-methods-for-github-enterprise-server)」を参照してください。
If you use an enterprise with {% data variables.product.prodname_emus %}, members of your enterprise authenticate to access {% data variables.product.prodname_dotcom %} through your SAML identity provider (IdP). For more information, see "[About {% data variables.product.prodname_emus %}](/admin/identity-and-access-management/using-enterprise-managed-users-and-saml-for-iam/about-enterprise-managed-users)" and "[About authentication for your enterprise](/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise#authentication-methods-for-github-enterprise-server)."
{% data variables.product.product_name %} は、ユーザー アカウントが SCIM を介してプロビジョニングされるときに、IdP によって提供される識別子を正規化することで、各ユーザーのユーザー名を自動的に作成します。 複数の識別子が同じユーザー名に正規化されると、ユーザー名の競合が発生し、最初のユーザー アカウントのみが作成されます。 正規化されたユーザー名が一意になるように IdP を変更することで、ユーザー名の競合を解決できます。
{% data variables.product.product_name %} automatically creates a username for each person when their user account is provisioned via SCIM, by normalizing an identifier provided by your IdP. If multiple identifiers are normalized into the same username, a username conflict occurs, and only the first user account is created. {% data reusables.enterprise-accounts.emu-only-emails-within-the-enterprise-can-conflict %} You can resolve username conflicts by making a change in your IdP so that the normalized usernames will be unique.
{% elsif ghae %}
{% data variables.product.product_name %} は認証に SAML SSO を使用し、ユーザーが初めて ID プロバイダー (IdP) を介してサインインするときに、各ユーザーのユーザー名を自動的に作成します。
{% data variables.product.product_name %} uses SAML SSO for authentication, and automatically creates a username for each person when the person signs in through your identity provider (IdP) for the first time.
{% endif %}
{% ifversion ghec %}
## {% data variables.product.prodname_managed_users %} のユーザー名について
## About usernames for {% data variables.product.prodname_managed_users %}
{% data variables.product.prodname_emu_enterprise %} を作成する際、エンタープライズのメンバーのユーザー名のサフィックスとして使用されるショート コードを選択します。 {% data reusables.enterprise-accounts.emu-shortcode %} SAML SSO を構成するセットアップ ユーザーのユーザー名は、 **@<em>SHORT-CODE</em>_admin** の形式になります。
When your {% data variables.product.prodname_emu_enterprise %} is created, you will choose a short code that will be used as the suffix for your enterprise members' usernames. {% data reusables.enterprise-accounts.emu-shortcode %} The setup user who configures SAML SSO has a username in the format of **@<em>SHORT-CODE</em>_admin**.
ID プロバイダーから新しいユーザーをプロビジョニングする場合、新しい {% data variables.product.prodname_managed_user %} には、**@<em>IDP-USERNAME</em>_ <em>SHORT-CODE</em>** の形式の {% data variables.product.prodname_dotcom %} ユーザー名が付きます。 <em>IDP-USERNAME</em> コンポーネントは、IdP から送信された SCIM `userName` 属性値を正規化することによって形成されます。
When you provision a new user from your identity provider, the new {% data variables.product.prodname_managed_user %} will have a {% data variables.product.prodname_dotcom %} username in the format of **@<em>IDP-USERNAME</em>_<em>SHORT-CODE</em>**. The <em>IDP-USERNAME</em> component is formed by normalizing the SCIM `userName` attribute value sent from the IdP.
| ID プロバイダー | {% data variables.product.prodname_dotcom %} のユーザー名 |
| Identity provider | {% data variables.product.prodname_dotcom %} username |
|-----------------------------------|----------------------|
| Azure Active Directory (Azure AD) | _IDP-USERNAME_ は、ゲスト アカウントの `#EXT#` を含まない UPN (ユーザー プリンシパル名) の `@` 文字の前の文字を正規化することによって形成されます。 |
| Okta | _IDP-USERNAME_ は、IdP によって提供される、正規化されたユーザー名属性です。 |
| Azure Active Directory (Azure AD) | _IDP-USERNAME_ is formed by normalizing the characters preceding the `@` character in the UPN (User Principal Name), which does not include the `#EXT#` for guest accounts. |
| Okta | _IDP-USERNAME_ is the normalized username attribute provided by the IdP. |
これらの規則により、IdP が複数のユーザーに同じ _IDP-USERNAME_ を提供する可能性があります。 たとえば、Azure AD の場合、次の UPN は同じユーザー名になります。
These rules may result in your IdP providing the same _IDP-USERNAME_ for multiple users. For example, for Azure AD, the following UPNs will result in the same username:
- `bob@contoso.com`
- `bob@fabrikam.com`
- `bob#EXT#fabrikamcom@contoso.com`
これによりユーザー名が競合し、最初のユーザーのみがプロビジョニングされます。 詳細については、「[ユーザー名の競合の解決](#resolving-username-conflicts)」を参照してください。
This will cause a username conflict, and only the first user will be provisioned. For more information, see "[Resolving username conflicts](#resolving-username-conflicts)."
{% endif %}
ユーザー名{% ifversion ghec %} (アンダースコアと短いコードを含む) {% endif %}は 39 文字を超えてはなりません。
Usernames{% ifversion ghec %}, including underscore and short code,{% endif %} must not exceed 39 characters.
## ユーザー名の正規化について
## About username normalization
{% ifversion ghes or ghae %}{% data variables.product.product_name %}{% elsif ghec %}{% data variables.product.prodname_dotcom_the_website %}{% endif %} のユーザー アカウントのユーザー名には、英数字とダッシュ (`-`) のみを含めることができます。
{% ifversion ghec %}SAML 認証を構成すると、{% data variables.product.product_name %} は IdP から送信された SCIM `userName` 属性値を使用して、{% data variables.product.prodname_dotcom_the_website %} 上の対応するユーザー アカウントのユーザー名を決定します。 この値にサポートされていない文字が含まれている場合、{% data variables.product.product_name %} は、次の規則に従ってユーザー名を正規化します。
{% elsif ghes %}CAS、LDAP、または SAML 認証を構成する場合、{% data variables.product.product_name %} は、外部認証プロバイダーのユーザー アカウントの識別子を使用して、{% data variables.product.product_name %} 上の対応するユーザー アカウントのユーザー名を決定します。 識別子にサポートされていない文字が含まれている場合、{% data variables.product.product_name %} は次の規則に従ってユーザー名を正規化します。
{% elsif ghae %}SAML 認証を構成すると、{% data variables.product.product_name %} は IdP 上のユーザー アカウントの識別子を使用して、{% data variables.product.product_name %} の対応するユーザー アカウントのユーザー名を決定します。 識別子にサポートされていない文字が含まれている場合、{% data variables.product.product_name %} は次の規則に従ってユーザー名を正規化します。
{% endif %}
1. {% data variables.product.product_name %} は、アカウントのユーザー名に含まれている非英数字をダッシュに変換します。 たとえば、`mona.the.octocat` というユーザー名は `mona-the-octocat` に正規化されます。 変換されたユーザ名の先頭及び末尾はダッシュであってはならないことに注意してください。 2つの連続するダッシュを含めることもできません。
1. メール アドレスから作成されたユーザー名は、`@` 文字の前の正規化された文字から作成されます。
1. 複数のアカウントが変換後に同じ {% data variables.product.product_name %} のユーザー名になる場合、最初のユーザー アカウントだけが作成されます。 同じユーザ名のそれ以降のユーザは、サインインできません。 {% ifversion ghec %}詳細については、「[ユーザー名の競合の解決](#resolving-username-conflicts)」を参照してください。{% endif %}
### ユーザー名の正規化の例
| プロバイダーの識別子 | {% data variables.product.prodname_dotcom %} で正規化されたユーザー名 | 結果 |
| :- | :- | :- |
| The.Octocat | `the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | このユーザ名の作成は成功します。 |
| !The.Octocat | `-the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | このユーザ名はダッシュで始まるので作成されません。 |
| The.Octocat! | `the-octocat-{% ifversion ghec %}_SHORT-CODE{% endif %}` | このユーザ名はダッシュで終わるので作成されません。 |
| The!!Octocat | `the--octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | このユーザ名には連続する2つのダッシュが含まれるので作成されません。 |
| The!Octocat | `the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | このユーザ名は作成されません。 変換されたユーザ名は正当ですが、すでに存在しています。 |
| `The.Octocat@example.com` | `the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | このユーザ名は作成されません。 変換されたユーザ名は正当ですが、すでに存在しています。 |
| `mona.lisa.the.octocat.from.github.united.states@example.com` | `mona-lisa-the-octocat-from-github-united-states{% ifversion ghec %}_SHORT-CODE{% endif %}` | このユーザー名は、39 文字の制限を超えているため、作成されません。 |
{% ifversion not ghec %}
### SAML を使用したユーザー名の正規化について
{% ifversion ghes %}{% data variables.product.product_location %} に対して SAML 認証を構成した場合、{% endif %}{% data variables.product.product_name %} は、優先順位の降順で並べられた SAML 応答の次のアサーションの 1 つによって、各ユーザーのユーザー名を決定します。
1. カスタム `username` 属性 (定義済みかつ存在する場合)
1. `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name` アサーション (存在する場合)
1. `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress` アサーション (存在する場合)
1. `NameID` 要素
{% data variables.product.product_name %} には、他の属性が存在する場合でも `NameID` 要素が必要です。 詳細については、「[SAML 構成リファレンス](/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference#saml-attributes)」をご覧ください。
{% data variables.product.product_name %} は、IdP からの `NameID` と {% data variables.product.product_location %} {% ifversion ghae %}内の{% else %}上の{% endif %}ユーザー名の間にマッピングを作成するため、`NameID` は永続的で一意であり、ユーザーのライフサイクルで変更される可能性はありません。
{% ifversion ghes %} {% note %}
**注**: IdP でユーザーの `NameID` が変更されない場合、ユーザーが {% data variables.product.product_location %} にサインインするときにエラー メッセージが表示されます。 ユーザーのアクセス権を復元するには、ユーザー アカウントの `NameID` マッピングを更新する必要があります。 詳細については、「[ユーザーの SAML `NameID` の更新](/admin/identity-and-access-management/using-saml-for-enterprise-iam/updating-a-users-saml-nameid)」を参照してください。
{% endnote %} {% endif %} {% endif %}
Usernames for user accounts on {% ifversion ghes or ghae %}{% data variables.product.product_name %}{% elsif ghec %}{% data variables.product.prodname_dotcom_the_website %}{% endif %} can only contain alphanumeric characters and dashes (`-`).
{% ifversion ghec %}
## ユーザー名の競合の解決
When you configure SAML authentication, {% data variables.product.product_name %} uses the SCIM `userName` attribute value sent from the IdP to determine the username for the corresponding user account on {% data variables.product.prodname_dotcom_the_website %}. If this value includes unsupported characters, {% data variables.product.product_name %} will normalize the username per the following rules.
{% elsif ghes %}
When you configure CAS, LDAP, or SAML authentication, {% data variables.product.product_name %} uses an identifier from the user account on your external authentication provider to determine the username for the corresponding user account on {% data variables.product.product_name %}. If the identifier includes unsupported characters, {% data variables.product.product_name %} will normalize the username per the following rules.
{% elsif ghae %}
When you configure SAML authentication, {% data variables.product.product_name %} uses an identifier from the user account on your IdP to determine the username for the corresponding user account on {% data variables.product.product_name %}. If the identifier includes unsupported characters, {% data variables.product.product_name %} will normalize the username per the following rules.
{% endif %}
新しいユーザーがプロビジョニングされているときに、ユーザーの正規化されたユーザー名がエンタープライズ内の既存のユーザーと競合する場合、プロビジョニングの試行は `409` エラーで失敗します。
1. {% data variables.product.product_name %} will normalize any non-alphanumeric character in your account's username into a dash. For example, a username of `mona.the.octocat` will be normalized to `mona-the-octocat`. Note that normalized usernames also can't start or end with a dash. They also can't contain two consecutive dashes.
この問題を解決するには、正規化されたユーザー名が一意になるように IdP を変更する必要があります。 正規化されている識別子を変更できない場合は、`userName` 属性の属性マッピングを変更できます。 属性マッピングを変更すると、既存の {% data variables.product.prodname_managed_users %} のユーザー名が更新されますが、アクティビティ履歴を含め、アカウントに関して他は何も変更されません。
1. Usernames created from email addresses are created from the normalized characters that precede the `@` character.
1. If multiple accounts are normalized into the same {% data variables.product.product_name %} username, only the first user account is created. Subsequent users with the same username won't be able to sign in. {% ifversion ghec %}For more information, see "[Resolving username conflicts](#resolving-username-conflicts)."{% endif %}
### Examples of username normalization
| Identifier on provider | Normalized username on {% data variables.product.prodname_dotcom %} | Result |
| :- | :- | :- |
| The.Octocat | `the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is created successfully. |
| !The.Octocat | `-the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created, because it starts with a dash. |
| The.Octocat! | `the-octocat-{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created, because it ends with a dash. |
| The!!Octocat | `the--octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created, because it contains two consecutive dashes. |
| The!Octocat | `the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created. Although the normalized username is valid, it already exists. |
| `The.Octocat@example.com` | `the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created. Although the normalized username is valid, it already exists. |
| `mona.lisa.the.octocat.from.github.united.states@example.com` | `mona-lisa-the-octocat-from-github-united-states{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created, because it exceeds the 39-character limit. |
{% ifversion not ghec %}
### About username normalization with SAML
{% ifversion ghes %}If you configure SAML authentication for {% data variables.product.product_location %}, {% endif %}{% data variables.product.product_name %} determines each person's username by one of the following assertions in the SAML response, ordered by descending priority.
1. The custom `username` attribute, if defined and present
1. An `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name` assertion, if present
1. An `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress` assertion, if present
1. The `NameID` element
{% data variables.product.product_name %} requires the `NameID` element even if other attributes are present. For more information, see "[SAML configuration reference](/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference#saml-attributes)."
{% data variables.product.product_name %} creates a mapping between the `NameID` from the IdP and the username {% ifversion ghae %}in{% else %}on{% endif %} {% data variables.product.product_location %}, so the `NameID` should be persistent, unique, and not subject to change for the lifecycle of the user.
{% ifversion ghes %}
{% note %}
**Note**: If the `NameID` for a user does change on the IdP, the person will see an error message when signing into {% data variables.product.product_location %}. To restore the person's access, you'll need to update the user account's `NameID` mapping. For more information, see "[Updating a user's SAML `NameID`](/admin/identity-and-access-management/using-saml-for-enterprise-iam/updating-a-users-saml-nameid)."
{% endnote %}
{% endif %}
{% endif %}
{% ifversion ghec %}
## Resolving username conflicts
When a new user is being provisioned, if the user's normalized username conflicts with an existing user in the enterprise, the provisioning attempt will fail with a `409` error.
To resolve this problem, you must make a change in your IdP so that the normalized usernames will be unique. If you cannot change the identifier that's being normalized, you can change the attribute mapping for the `userName` attribute. If you change the attribute mapping, usernames of existing {% data variables.product.prodname_managed_users %} will be updated, but nothing else about the accounts will change, including activity history.
{% note %}
**:** {% data variables.contact.github_support %} は、属性マッピングのカスタマイズやカスタム式の構成に関するサポートを提供できません。 ご質問がある場合は、IdP にお問い合わせください。
**Note:** {% data variables.contact.github_support %} cannot provide assistance with customizing attribute mappings or configuring custom expressions. You can contact your IdP with any questions.
{% endnote %}
### Azure AD とのユーザー名の競合の解決
### Resolving username conflicts with Azure AD
Azure AD でユーザー名の競合を解決するには、競合しているユーザーのユーザー プリンシパル名の値を変更するか、`userName` 属性の属性マッピングを変更します。 属性マッピングを変更する場合は、既存の属性を選択するか、式を使用して、プロビジョニングされたすべてのユーザーが一意の正規化されたエイリアスを持っていることを確認できます。
To resolve username conflicts in Azure AD, either modify the User Principal Name value for the conflicting user or modify the attribute mapping for the `userName` attribute. If you modify the attribute mapping, you can choose an existing attribute or use an expression to ensure that all provisioned users have a unique normalized alias.
1. Azure ADで、{% data variables.product.prodname_emu_idp_application %} アプリケーションを開きます。
1. 左側のサイドバーで、 **[プロビジョニング]** をクリックします。
1. **[プロビジョニングの編集]** をクリックします。
1. **[マッピング]** を展開し、 **[Azure Active Directory ユーザーをプロビジョニングする]** をクリックします。
1. {% data variables.product.prodname_dotcom %} `userName` 属性マッピングをクリックします。
1. 属性マッピングを変更します。
- Azure AD の既存の属性を {% data variables.product.prodname_dotcom %} の `userName` 属性にマップするには、目的の属性フィールドをクリックします。 次に、プロビジョニング サイクルが約 40 分以内に発生するまで保存して待機します。
- 既存の属性の代わりに式を使用するには、Mapping 型を「式」に変更し、この値をすべてのユーザーに対して一意にするカスタム式を追加します。 たとえば、`[FIRST NAME]-[LAST NAME]-[EMPLOYEE ID]` を使用できます。 詳細については、Microsoft Docs の「[Azure Active Directory で属性マッピングの式を記述するためのリファレンス](https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/functions-for-customizing-application-data)」を参照してください。
1. In Azure AD, open the {% data variables.product.prodname_emu_idp_application %} application.
1. In the left sidebar, click **Provisioning**.
1. Click **Edit Provisioning**.
1. Expand **Mappings**, then click **Provision Azure Active Directory Users**.
1. Click the {% data variables.product.prodname_dotcom %} `userName` attribute mapping.
1. Change the attribute mapping.
- To map an existing attribute in Azure AD to the `userName` attribute in {% data variables.product.prodname_dotcom %}, click your desired attribute field. Then, save and wait for a provisioning cycle to occur within about 40 minutes.
- To use an expression instead of an existing attribute, change the Mapping type to "Expression", then add a custom expression that will make this value unique for all users. For example, you could use `[FIRST NAME]-[LAST NAME]-[EMPLOYEE ID]`. For more information, see [Reference for writing expressions for attribute mappings in Azure Active Directory](https://docs.microsoft.com/en-us/azure/active-directory/app-provisioning/functions-for-customizing-application-data) in Microsoft Docs.
### Okta とのユーザー名の競合の解決
### Resolving username conflicts with Okta
Okta でユーザー名の競合を解決するには、{% data variables.product.prodname_emu_idp_application %} アプリケーションの属性マッピング設定を更新します。
To resolve username conflicts in Okta, update the attribute mapping settings for the {% data variables.product.prodname_emu_idp_application %} application.
1. Okta {% data variables.product.prodname_emu_idp_application %} アプリケーションを開きます。
1. **[サインオン]** をクリックします。
1. [設定] セクションで **[編集]** をクリックします。
1. "アプリケーション ユーザー名の形式" を更新します。
1. In Okta, open the {% data variables.product.prodname_emu_idp_application %} application.
1. Click **Sign On**.
1. In the "Settings" section, click **Edit**.
1. Update the "Application username format."
{% endif %}

View File

@@ -135,7 +135,7 @@ By default, when an unauthenticated user attempts to access an enterprise that u
{% data variables.product.product_name %} automatically creates a username for each person by normalizing an identifier provided by your IdP. For more information, see "[Username considerations for external authentication](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication)."
A conflict may occur when provisioning users if the unique parts of the identifier provided by your IdP are removed during normalization. If you're unable to provision a user due to a username conflict, you should modify the username provided by your IdP. For more information, see "[Resolving username conflicts](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication#resolving-username-conflicts)."
A conflict may occur when provisioning users if the unique parts of the identifier provided by your IdP are removed during normalization. {% data reusables.enterprise-accounts.emu-only-emails-within-the-enterprise-can-conflict %} If you're unable to provision a user due to a username conflict, you should modify the username provided by your IdP. For more information, see "[Resolving username conflicts](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication#resolving-username-conflicts)."
The profile name and email address of a {% data variables.product.prodname_managed_user %} is also provided by the IdP. {% data variables.product.prodname_managed_users_caps %} cannot change their profile name or email address on {% data variables.product.prodname_dotcom %}, and the IdP can only provide a single email address.

View File

@@ -1,7 +1,7 @@
---
title: コンパイル済み言語の CodeQL ワークフローを構成する
title: Configuring the CodeQL workflow for compiled languages
shortTitle: Configure compiled languages
intro: '{% data variables.product.prodname_dotcom %} {% data variables.product.prodname_codeql_workflow %} を使用してコンパイル型言語で記述されたコードの脆弱性やエラーをスキャンする方法を設定できます。'
intro: 'You can configure how {% data variables.product.prodname_dotcom %} uses the {% data variables.product.prodname_codeql_workflow %} to scan code written in compiled languages for vulnerabilities and errors.'
product: '{% data reusables.gated-features.code-scanning %}'
permissions: 'If you have write permissions to a repository, you can configure {% data variables.product.prodname_code_scanning %} for that repository.'
redirect_from:
@@ -25,87 +25,89 @@ topics:
- C/C++
- C#
- Java
ms.openlocfilehash: c8256eea83b6a30879effc4d7797f2afcbc82e15
ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d
ms.translationtype: HT
ms.contentlocale: ja-JP
ms.lasthandoff: 09/10/2022
ms.locfileid: '147879119'
---
{% data reusables.code-scanning.beta %} {% data reusables.code-scanning.enterprise-enable-code-scanning-actions %}
## {% data variables.product.prodname_codeql_workflow %} とコンパイル型言語について
{% data variables.product.prodname_dotcom %} がリポジトリに対して {% data variables.product.prodname_code_scanning %} を実行できるようにするには、{% data variables.product.prodname_actions %} ワークフローをリポジトリに追加します。 {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} の場合、{% data variables.product.prodname_codeql_workflow %}. を追加します。 詳細については、「[リポジトリの {% data variables.product.prodname_code_scanning %} の設定](/code-security/secure-coding/setting-up-code-scanning-for-a-repository)」を参照してください。
{% data reusables.code-scanning.beta %}
{% data reusables.code-scanning.enterprise-enable-code-scanning-actions %}
{% data reusables.code-scanning.edit-workflow %} {% data variables.product.prodname_code_scanning %} の構成とワークフロー ファイルの編集に関する一般的な情報については、「[{% data variables.product.prodname_code_scanning %} を構成する](/code-security/secure-coding/configuring-code-scanning)」および「[{% data variables.product.prodname_actions %} について学ぶ](/actions/learn-github-actions)」をご覧ください。
## About the {% data variables.product.prodname_codeql_workflow %} and compiled languages
## {% data variables.product.prodname_codeql %} の autobuild について
You set up {% data variables.product.prodname_dotcom %} to run {% data variables.product.prodname_code_scanning %} for your repository by adding a {% data variables.product.prodname_actions %} workflow to the repository. For {% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %}, you add the {% data variables.product.prodname_codeql_workflow %}. 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)."
コードスキャンは、1 つ以上のデータベースに対してクエリを実行することにより機能します。 各データベースには、リポジトリにあるすべてのコードを 1 つの言語で表わしたものが含まれています。 コンパイル型言語の C/C++、C#、および Java では、このデータベースを生成するプロセスに、コードのビルドとデータの抽出が含まれています。 {% data reusables.code-scanning.analyze-go %}
{% data reusables.code-scanning.edit-workflow %}
For general information about configuring {% data variables.product.prodname_code_scanning %} and editing workflow files, see "[Configuring {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning)" and "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)."
## About autobuild for {% data variables.product.prodname_codeql %}
{% data variables.product.prodname_code_scanning_capc %} works by running queries against one or more databases. Each database contains a representation of all of the code in a single language in your repository.
For the compiled languages C/C++, C#, and Java, the process of populating this database involves building the code and extracting data. {% data reusables.code-scanning.analyze-go %}
{% data reusables.code-scanning.autobuild-compiled-languages %}
ワークフローで `language` マトリックスを使っている場合、`autobuild` はマトリックスに列記された各コンパイル型言語のビルドを試行します。 マトリックスがない場合、`autobuild` は、サポートされているコンパイル型言語で、リポジトリ内のソース ファイルの数が最も多いもののビルドを試みます。 Go を除いて、明示的にビルドコマンドを使用しない限り、リポジトリにある他のコンパイル型言語の解析は失敗します。
If your workflow uses a `language` matrix, `autobuild` attempts to build each of the compiled languages listed in the matrix. Without a matrix `autobuild` attempts to build the supported compiled language that has the most source files in the repository. With the exception of Go, analysis of other compiled languages in your repository will fail unless you supply explicit build commands.
{% note %}
{% ifversion ghae %} **注**: {% data reusables.actions.self-hosted-runners-software %} {% else %} **注**: {% data variables.product.prodname_actions %} にセルフホステッド ランナーを使う場合は、`autobuild` プロセスを使うために追加のソフトウェアをインストールすることが必要になる場合があります。 さらに、リポジトリに特定のバージョンのビルドツールが必要な場合は、手動でインストールする必要があります。 詳しくは、「[{% data variables.product.prodname_dotcom %} ホステッド ランナーの概要](/actions/reference/specifications-for-github-hosted-runners/#supported-software)」をご覧ください。
{% ifversion ghae %}
**Note**: {% data reusables.actions.self-hosted-runners-software %}
{% else %}
**Note**: If you use self-hosted runners for {% data variables.product.prodname_actions %}, you may need to install additional software to use the `autobuild` process. Additionally, if your repository requires a specific version of a build tool, you may need to install it manually. For more information, see "[Specifications for {% data variables.product.prodname_dotcom %}-hosted runners](/actions/reference/specifications-for-github-hosted-runners/#supported-software)".
{% endif %}
{% endnote %}
### C/C++
| サポートされているシステムの種類 | システム名 |
| Supported system type | System name |
|----|----|
| オペレーティング システム | WindowsmacOSLinux |
| ビルドシステム | Windows: MSbuild スクリプトと build スクリプト<br/>Linux macOS: AutoconfMakeCMakeqmake MesonWafSConsLinux Kbuild、build の各スクリプト |
| Operating system | Windows, macOS, and Linux |
| Build system | Windows: MSbuild and build scripts<br/>Linux and macOS: Autoconf, Make, CMake, qmake, Meson, Waf, SCons, Linux Kbuild, and build scripts |
`autobuild` ステップの動作は、抽出を実行するオペレーティング システムによって異なります。 Windows `autobuild` ステップでは、以下の方法を使って C/C++ に適したビルド方法の自動検出が試みられます。
The behavior of the `autobuild` step varies according to the operating system that the extraction runs on. On Windows, the `autobuild` step attempts to autodetect a suitable build method for C/C++ using the following approach:
1. ルートに最も近いソリューション (`.sln`) またはプロジェクト (`.vcxproj`) ファイルで `MSBuild.exe` を呼び出します。
`autobuild` が最上位ディレクトリから同じ (最短) 深度で複数のソリューションまたはプロジェクト ファイルを検出した場合、それらすべてのビルドが試みられます。
2. ビルド スクリプトのように見えるスクリプト、つまり _build.bat_、_build.cmd_、_build.exe_ を、この順番で呼び出します。
1. Invoke `MSBuild.exe` on the solution (`.sln`) or project (`.vcxproj`) file closest to the root.
If `autobuild` detects multiple solution or project files at the same (shortest) depth from the top level directory, it will attempt to build all of them.
2. Invoke a script that looks like a build script—_build.bat_, _build.cmd_, _and build.exe_ (in that order).
Linux macOS `autobuild` ステップでは、リポジトリ内にあるファイルが確認されて、使われているビルド システムが特定されます。
On Linux and macOS, the `autobuild` step reviews the files present in the repository to determine the build system used:
1. ルートディレクトリでビルドシステムを探します。
2. 何も見つからない場合は、C/C++ のビルドシステムで一意のディレクトリをサブディレクトリで検索します。
3. 適切なコマンドを実行してシステムを設定します。
1. Look for a build system in the root directory.
2. If none are found, search subdirectories for a unique directory with a build system for C/C++.
3. Run an appropriate command to configure the system.
### C#
| サポートされているシステムの種類 | システム名 |
| Supported system type | System name |
|----|----|
| オペレーティング システム | Windows Linux |
| ビルドシステム | .NET MSbuild、およびビルドスクリプト |
| Operating system | Windows and Linux |
| Build system | .NET and MSbuild, as well as build scripts |
`autobuild` プロセスは、次の方法を使って C# に適したビルド方法の自動検出を試みます。
The `autobuild` process attempts to autodetect a suitable build method for C# using the following approach:
1. ルートに最も近いソリューション (`.sln`) またはプロジェクト (`.csproj`) ファイルで `dotnet build` を呼び出します。
2. ルートに最も近いソリューションまたはプロジェクト ファイルで、`MSbuild` (Linux) または `MSBuild.exe` (Windows) を呼び出します。
`autobuild` が最上位ディレクトリから同じ (最短) 深度で複数のソリューションまたはプロジェクト ファイルを検出した場合、それらすべてのビルドが試みられます。
3. ビルド スクリプトのように見えるスクリプト、つまり _build__build.sh_ (Linux の場合、この順序で) または _build.bat_、_build.cmd_、_and build.exe_ (Windows の場合、この順序で) を呼び出します。
1. Invoke `dotnet build` on the solution (`.sln`) or project (`.csproj`) file closest to the root.
2. Invoke `MSbuild` (Linux) or `MSBuild.exe` (Windows) on the solution or project file closest to the root.
If `autobuild` detects multiple solution or project files at the same (shortest) depth from the top level directory, it will attempt to build all of them.
3. Invoke a script that looks like a build script—_build_ and _build.sh_ (in that order, for Linux) or _build.bat_, _build.cmd_, _and build.exe_ (in that order, for Windows).
### Java
| サポートされているシステムの種類 | システム名 |
| Supported system type | System name |
|----|----|
| オペレーティング システム | WindowsmacOSLinux (制限なし) |
| ビルドシステム | GradleMavenAnt |
| Operating system | Windows, macOS, and Linux (no restriction) |
| Build system | Gradle, Maven and Ant |
`autobuild` プロセスは、この戦略を適用して、Java コードベース用のビルド システムの特定を試みます。
The `autobuild` process tries to determine the build system for Java codebases by applying this strategy:
1. ルートディレクトリでビルドファイルを検索します。 Gradle、Maven、Ant の各ビルドファイルを確認します。
2. 最初に見つかったビルドファイルを実行します。 Gradle ファイルと Maven ファイルの両方が存在する場合は、Gradle ファイルが使用されます。
3. それ以外の場合は、ルートディレクトリの直接サブディレクトリ内でビルドファイルを検索します。 1 つのサブディレクトリにのみビルドファイルが含まれている場合は、そのサブディレクトリで識別された最初のファイルを実行します1 と同じ環境設定を使用)。 複数のサブディレクトリにビルドファイルが含まれている場合は、エラーを報告します。
1. Search for a build file in the root directory. Check for Gradle then Maven then Ant build files.
2. Run the first build file found. If both Gradle and Maven files are present, the Gradle file is used.
3. Otherwise, search for build files in direct subdirectories of the root directory. If only one subdirectory contains build files, run the first file identified in that subdirectory (using the same preference as for 1). If more than one subdirectory contains build files, report an error.
## コンパイル言語のビルドステップを追加する
## Adding build steps for a compiled language
{% data reusables.code-scanning.autobuild-add-build-steps %}ワークフロー ファイルの編集方法については、「[{% data variables.product.prodname_code_scanning %} を構成する](/code-security/secure-coding/configuring-code-scanning#editing-a-code-scanning-workflow)」をご覧ください。
{% data reusables.code-scanning.autobuild-add-build-steps %} For information on how to edit the workflow file, see "[Configuring {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/configuring-code-scanning#editing-a-code-scanning-workflow)."
`autobuild` ステップを削除したら、`run` ステップをコメント解除して、リポジトリに適したビルド コマンドを追加します。 ワークフローの `run` ステップでは、オペレーティング システムのシェルを使ってコマンド ライン プログラムが実行されます。 これらのコマンドを変更し、別のコマンドを追加してビルド プロセスをカスタマイズできます。
After removing the `autobuild` step, uncomment the `run` step and add build commands that are suitable for your repository. The workflow `run` step runs command-line programs using the operating system's shell. You can modify these commands and add more commands to customize the build process.
``` yaml
- run: |
@@ -113,9 +115,9 @@ Linux と macOS の `autobuild` ステップでは、リポジトリ内にある
make release
```
`run` キーワードについて詳しくは、「[{% data variables.product.prodname_actions %} のワークフロー構文](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsrun)」をご覧ください。
For more information about the `run` keyword, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsrun)."
リポジトリに複数のコンパイル済み言語が含まれている場合は、言語固有のビルド コマンドを指定できます。 たとえば、リポジトリに C/C++、C#、Java が含まれていて、`autobuild` によって C/C++ C# は正しくビルドされるが、Java のビルドは失敗する場合は、ワークフローの `init` ステップの後で次の構成を使用できます。 これにより、C/C++ と C# には `autobuild` をそのまま使用しつつ、Java のビルド ステップを指定します。
If your repository contains multiple compiled languages, you can specify language-specific build commands. For example, if your repository contains C/C++, C# and Java, and `autobuild` correctly builds C/C++ and C# but fails to build Java, you could use the following configuration in your workflow, after the `init` step. This specifies build steps for Java while still using `autobuild` for C/C++ and C#:
```yaml
- if: matrix.language == 'cpp' || matrix.language == 'csharp'
@@ -129,8 +131,8 @@ Linux と macOS の `autobuild` ステップでは、リポジトリ内にある
make release
```
`if` 条件について詳しくは、「[GitHub Actions のワークフロー構文](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsif)」をご覧ください。
For more information about the `if` conditional, see "[Workflow syntax for GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsif)."
`autobuild` でコードがビルドされない理由に関するその他のヒントとテクニックについては、「[{% data variables.product.prodname_codeql %} ワークフローのトラブルシューティング](/code-security/secure-coding/troubleshooting-the-codeql-workflow)」をご覧ください。
For more tips and tricks about why `autobuild` won't build your code, see "[Troubleshooting the {% data variables.product.prodname_codeql %} workflow](/code-security/secure-coding/troubleshooting-the-codeql-workflow)."
コンパイル言語にマニュアルのビルドステップを追加しても、リポジトリで依然として{% data variables.product.prodname_code_scanning %}が動作しない場合は、{% data variables.contact.contact_support %}にお問い合わせください。
If you added manual build steps for compiled languages and {% data variables.product.prodname_code_scanning %} is still not working on your repository, contact {% data variables.contact.contact_support %}.

View File

@@ -57,7 +57,8 @@ Generally, we name our supported ecosystems after the software programming langu
- Maven (registry: https://repo.maven.apache.org/maven2)
- npm (registry: https://www.npmjs.com/)
- NuGet (registry: https://www.nuget.org/)
- pip (registry: https://pypi.org/)
- pip (registry: https://pypi.org/){% ifversion dependency-graph-dart-support %}
- pub (registry: https://pub.dev/packages/registry){% endif %}
- RubyGems (registry: https://rubygems.org/)
- Rust (registry: https://crates.io/)

View File

@@ -784,15 +784,7 @@ registries:
### `docker-registry`
{% data variables.product.prodname_dependabot %} works with container registries that implement the OCI container registry. For more information, see [https://github.com/opencontainers/distribution-spec/blob/main/spec.md](https://github.com/opencontainers/distribution-spec/blob/main/spec.md). {% data variables.product.prodname_dependabot %} supports authentication to private registries via a central service. For further details, see [Token Authentication Specification](https://docs.docker.com/registry/spec/auth/token/) in the Docker documentation.
We currently support the container registries listed here:
* Docker Hub
* {% data variables.product.company_short %} {% data variables.product.prodname_container_registry %}
* GCR (Google Cloud)
* Private ECR (AWS) - public ECR support is tracked in [https://github.com/dependabot/dependabot-core/issues/4212](https://github.com/dependabot/dependabot-core/issues/4212).
{% data variables.product.prodname_dependabot %} works with any container registries that implement the OCI container registry spec. For more information, see [https://github.com/opencontainers/distribution-spec/blob/main/spec.md](https://github.com/opencontainers/distribution-spec/blob/main/spec.md). {% data variables.product.prodname_dependabot %} supports authentication to private registries via a central token service or HTTP Basic Auth. For further details, see [Token Authentication Specification](https://docs.docker.com/registry/spec/auth/token/) in the Docker documentation and [Basic access authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) on Wikipedia.
The `docker-registry` type supports username and password.

View File

@@ -1,6 +1,6 @@
---
title: Secret scanningパートナープログラム
intro: 'サービスプロバイダーは、{% data variables.product.prodname_dotcom %}とパートナーになり、シークレットスキャンニングを通じてシークレットトークンのフォーマットを保護できます。シークレットスキャンニングは、そのシークレットのフォーマットで誤って行われたコミットを検索し、サービスプロバイダーの検証用エンドポイントに送信します。'
title: Secret scanning partner program
intro: 'As a service provider, you can partner with {% data variables.product.prodname_dotcom %} to have your secret token formats secured through secret scanning, which searches for accidental commits of your secret format and can be sent to a service provider''s verify endpoint.'
miniTocMaxHeadingLevel: 3
redirect_from:
- /partnerships/token-scanning
@@ -12,113 +12,146 @@ versions:
topics:
- API
shortTitle: Secret scanning
ms.openlocfilehash: f935b849bb43e99fd3959db3920fd4d632bf54f7
ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d
ms.translationtype: HT
ms.contentlocale: ja-JP
ms.lasthandoff: 09/10/2022
ms.locfileid: '145112421'
---
{% data variables.product.prodname_dotcom %}は、既知のシークレットフォーマットに対してリポジトリをスキャンし、誤ってコミットされたクレデンシャルが不正利用されることを防ぎます。 {% data variables.product.prodname_secret_scanning_caps %}は、デフォルトでパブリックなリポジトリで行われ、プライベートリポジトリではリポジトリ管理者またはOrganizationのオーナーが有効化できます。 サービスプロバイダーは{% data variables.product.prodname_dotcom %}と連携し、シークレットのフォーマットが{% data variables.product.prodname_secret_scanning %}に含まれるようにすることができます。
シークレットのフォーマットに対する一致がパブリックリポジトリで見つかった場合、選択したHTTPのエンドポイントにペイロードが送信されます。
{% data variables.product.prodname_dotcom %} scans repositories for known secret formats to prevent fraudulent use of credentials that were committed accidentally. {% data variables.product.prodname_secret_scanning_caps %} happens by default on public repositories, and can be enabled on private repositories by repository administrators or organization owners. As a service provider, you can partner with {% data variables.product.prodname_dotcom %} so that your secret formats are included in our {% data variables.product.prodname_secret_scanning %}.
{% data variables.product.prodname_secret_scanning %}が設定されたプライベートリポジトリでシークレットフォーマットへの一致が見つかった場合、リポジトリの管理者とコミッターにアラートが発せられ、{% data variables.product.prodname_dotcom %}上で{% data variables.product.prodname_secret_scanning %}の結果を見て管理できます。 詳細については、「[{% data variables.product.prodname_secret_scanning %} からのアラートを管理する](/github/administering-a-repository/managing-alerts-from-secret-scanning)」を参照してください。
When a match of your secret format is found in a public repository, a payload is sent to an HTTP endpoint of your choice.
この記事では、サービスプロバイダーとして{% data variables.product.prodname_dotcom %}とパートナーになり、{% data variables.product.prodname_secret_scanning %}パートナープログラムに参加する方法を説明します。
When a match of your secret format is found in a private repository configured for {% data variables.product.prodname_secret_scanning %}, then repository admins and the committer are alerted and can view and manage the {% data variables.product.prodname_secret_scanning %} result on {% data variables.product.prodname_dotcom %}. For more information, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/github/administering-a-repository/managing-alerts-from-secret-scanning)."
## {% data variables.product.prodname_secret_scanning %}のプロセス
This article describes how you can partner with {% data variables.product.prodname_dotcom %} as a service provider and join the {% data variables.product.prodname_secret_scanning %} partner program.
#### パブリックリポジトリにおける{% data variables.product.prodname_secret_scanning %}の動作
## The {% data variables.product.prodname_secret_scanning %} process
以下の図は、パブリックリポジトリに対する{% data variables.product.prodname_secret_scanning %}のプロセスをまとめたもので、一致があった場合にサービスプロバイダへの検証エンドポイントに送信されています。
#### How {% data variables.product.prodname_secret_scanning %} works in a public repository
![シークレットをスキャンし、サービス プロバイダーの検証エンドポイントに一致を送信するプロセスを示すフロー図](/assets/images/secret-scanning-flow.png "{% data variables.product.prodname_secret_scanning_caps %}フロー")
The following diagram summarizes the {% data variables.product.prodname_secret_scanning %} process for public repositories, with any matches sent to a service provider's verify endpoint.
## {% data variables.product.prodname_dotcom %}の{% data variables.product.prodname_secret_scanning %}プログラムへの参加
![Flow diagram showing the process of scanning for a secret and sending matches to a service provider's verify endpoint](/assets/images/secret-scanning-flow.png "{% data variables.product.prodname_secret_scanning_caps %} flow")
1. プロセスを開始するために、{% data variables.product.prodname_dotcom %}に連絡してください。
1. スキャンしたい関連シークレットを特定し、それらを捕捉するための正規表現を作成してください。
1. パブリックリポジトリで見つかったシークレットの一致に対応するために、{% data variables.product.prodname_secret_scanning %}のメッセージペイロードを含む{% data variables.product.prodname_dotcom %}からのwebhookを受け付けるシークレットアラートサービスを作成してください。
1. シークレットアラートサービスに、署名検証を実装してください。
1. シークレットアラートサービスに、シークレットの破棄とユーザへの通知を実装してください。
1. 誤検知に対するフィードバックを行ないます (任意)。
## Joining the {% data variables.product.prodname_secret_scanning %} program on {% data variables.product.prodname_dotcom %}
### プロセスを開始するための{% data variables.product.prodname_dotcom %}への連絡
1. Contact {% data variables.product.prodname_dotcom %} to get the process started.
1. Identify the relevant secrets you want to scan for and create regular expressions to capture them.
1. For secret matches found in public repositories, create a secret alert service which accepts webhooks from {% data variables.product.prodname_dotcom %} that contain the {% data variables.product.prodname_secret_scanning %} message payload.
1. Implement signature verification in your secret alert service.
1. Implement secret revocation and user notification in your secret alert service.
1. Provide feedback for false positives (optional).
登録プロセスを開始するには、<a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a> にメールしてください。
### Contact {% data variables.product.prodname_dotcom %} to get the process started
{% data variables.product.prodname_secret_scanning %}プログラムの詳細が送信されます。手続きを進めるには、{% data variables.product.prodname_dotcom %}の参加規約に同意する必要があります。
To get the enrollment process started, email <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>.
### シークレットの特定と正規表現の作成
You will receive details on the {% data variables.product.prodname_secret_scanning %} program, and you will need to agree to {% data variables.product.prodname_dotcom %}'s terms of participation before proceeding.
シークレットをスキャンするには、{% data variables.product.prodname_dotcom %}は{% data variables.product.prodname_secret_scanning %}に含める各シークレットについて以下の情報が必要です。
### Identify your secrets and create regular expressions
* シークレットの種類に対する、ユニークで人が読める名前。 これを使用して、後でメッセージ ペイロードに `Type` 値を生成します。
* このシークレットの種類を見つける正規表現。 できるかぎり正確にしてください。そうすることで、誤検知の数を減らすことができます。
* {% data variables.product.prodname_dotcom %}からのメッセージを受信するエンドポイントのURL。 これは各シークレットの種類ごとにユニークである必要はありません。
To scan for your secrets, {% data variables.product.prodname_dotcom %} needs the following pieces of information for each secret that you want included in the {% data variables.product.prodname_secret_scanning %} program:
この情報を <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a> に送信します。
* A unique, human readable name for the secret type. We'll use this to generate the `Type` value in the message payload later.
* A regular expression which finds the secret type. Be as precise as possible, because this will reduce the number of false positives.
* The URL of the endpoint that receives messages from {% data variables.product.prodname_dotcom %}. This does not have to be unique for each secret type.
### シークレットアラートサービスの作成
Send this information to <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>.
提供したURLに、パブリックでインターネットからアクセスできるHTTPエンドポイントを作成してください。 パブリック リポジトリで正規表現の一致が見つかると、{% data variables.product.prodname_dotcom %} によって HTTP `POST` メッセージがエンドポイントに送信されます。
### Create a secret alert service
#### エンドポイントに送信されるPOSTの例
Create a public, internet accessible HTTP endpoint at the URL you provided to us. When a match of your regular expression is found in a public repository, {% data variables.product.prodname_dotcom %} will send an HTTP `POST` message to your endpoint.
```http
POST / HTTP/2
Host: HOST
Accept: */*
Content-Type: application/json
GITHUB-PUBLIC-KEY-IDENTIFIER: 90a421169f0a406205f1563a953312f0be898d3c7b6c06b681aa86a874555f4a
GITHUB-PUBLIC-KEY-SIGNATURE: MEQCIA6C6L8ZYvZnqgV0zwrrmRab10QmIFV396gsba/WYm9oAiAI6Q+/jNaWqkgG5YhaWshTXbRwIgqIK6Ru7LxVYDbV5Q==
Content-Length: 0123
#### Example request body
[{"token":"NMIfyYncKcRALEXAMPLE","type":"mycompany_api_token","url":"https://github.com/octocat/Hello-World/blob/12345600b9cbe38a219f39a9941c9319b600c002/foo/bar.txt"}]
```json
[
{
"token":"NMIfyYncKcRALEXAMPLE",
"type":"mycompany_api_token",
"url":"https://github.com/octocat/Hello-World/blob/12345600b9cbe38a219f39a9941c9319b600c002/foo/bar.txt",
"source":"content"
}
]
```
メッセージのボディはJSONの配列で、以下の内容を持つ1つ以上のオブジェクトを含みます。 複数の一致が見つかった場合には、{% data variables.product.prodname_dotcom %}は複数のシークレットの一致を含む1つのメッセージを送信することがあります。 エンドポイントは、タイムアウトすることなく大量の一致を含むリクエストを処理できなければなりません。
The message body is a JSON array that contains one or more objects, with each object representing a single secret match. Your endpoint should be able to handle requests with a large number of matches without timing out. The keys for each secret match are:
* **Token**: シークレットが一致する値。
* **Type**: 正規表現を識別するために指定した一意の名前。
* **URL**: 一致が見つかったパブリック コミット URL。
* **token**: The value of the secret match.
* **type**: The unique name you provided to identify your regular expression.
* **url**: The public URL where the match was found (may be empty)
* **source**: Where the token was found on {% data variables.product.prodname_dotcom %}.
### シークレットアラートサービスへの署名検証の実装
The list of valid values for `source` are:
シークレットサービスには署名検証サービスを実装して、受信したメッセージが本当に{% data variables.product.prodname_dotcom %}からのものであり、悪意がないことを保証することを強くおすすめします。
* content
* commit
* pull_request_description
* pull_request_comment
* issue_description
* issue_comment
* discussion_body
* discussion_comment
* commit_comment
* gist_content
* gist_comment
* unknown
https://api.github.com/meta/public_keys/secret_scanning から {% data variables.product.prodname_dotcom %} シークレット スキャン公開キーを取得し、`ECDSA-NIST-P256V1-SHA256` アルゴリズムを使用してメッセージを検証できます。
### Implement signature verification in your secret alert service
The HTTP request to your service will also contain headers that we strongly recommend using
to validate the messages you receive are genuinely from {% data variables.product.prodname_dotcom %}, and are not malicious.
The two HTTP headers to look for are:
* `GITHUB-PUBLIC-KEY-IDENTIFIER`: Which `key_identifier` to use from our API
* `GITHUB-PUBLIC-KEY-SIGNATURE`: Signature of the payload
You can retrieve the {% data variables.product.prodname_dotcom %} secret scanning public key from https://api.github.com/meta/public_keys/secret_scanning and validate the message using the `ECDSA-NIST-P256V1-SHA256` algorithm. The endpoint
will provide several `key_identifier` and public keys. You can determine which public
key to use based on the value of `GITHUB-PUBLIC-KEY-IDENTIFIER`.
{% note %}
**注**: 上記の公開キー エンドポイントに要求を送信すると、レート制限に達する可能性があります。 レート制限を回避するには、以下のサンプルで示すように個人アクセストークン (スコープ不要) を使うか、条件付きリクエストを利用できます。 詳細については、「[REST API を使用した作業の開始](/rest/guides/getting-started-with-the-rest-api#conditional-requests)」をご覧ください。
**Note**: When you send a request to the public key endpoint above, you may hit rate limits. To avoid hitting rate limits, you can use a personal access token (no scopes required) as suggested in the samples below, or use a conditional request. For more information, see "[Getting started with the REST API](/rest/guides/getting-started-with-the-rest-api#conditional-requests)."
{% endnote %}
次のメッセージを受信したとして、以下のコードは署名検証の方法を示しています。
このコード スニペットは、レート制限に達しないように、生成された PAT (https://github.com/settings/tokens) を使用して `GITHUB_PRODUCTION_TOKEN` という環境変数を設定していることを前提としています。 このPATには、スコープや権限は不要です。
{% note %}
**注**: この署名は、生のメッセージ本文を使用して生成されました。 そのため、署名の検証にもJSONの文字列を解析して変換するのではなく、生のメッセージ本文を利用することが重要です。これは、メッセージの並べ替えやスペースの変更を避けるためです。
**Note**: The signature was generated using the raw message body. So it's important you also use the raw message body for signature validation, instead of parsing and stringifying the JSON, to avoid rearranging the message or changing spacing.
{% endnote %}
**エンドポイントを検証するために送信されたサンプル メッセージ**
**Sample HTTP POST sent to verify endpoint**
```http
POST / HTTP/2
Host: HOST
Accept: */*
content-type: application/json
GITHUB-PUBLIC-KEY-IDENTIFIER: 90a421169f0a406205f1563a953312f0be898d3c7b6c06b681aa86a874555f4a
GITHUB-PUBLIC-KEY-SIGNATURE: MEUCIQDKZokqnCjrRtw0tni+2Ltvl/uiMJ1EGumEsp1BsNr32AIgQY1YXD2nlj+XNfGK4rBfkMJ1JDOQcYXxa2sY8FNkrKc=
Content-Length: 0000
GITHUB-PUBLIC-KEY-IDENTIFIER: f9525bf080f75b3506ca1ead061add62b8633a346606dc5fe544e29231c6ee0d
GITHUB-PUBLIC-KEY-SIGNATURE: MEUCIFLZzeK++IhS+y276SRk2Pe5LfDrfvTXu6iwKKcFGCrvAiEAhHN2kDOhy2I6eGkOFmxNkOJ+L2y8oQ9A2T9GGJo6WJY=
Content-Length: 83
[{"token":"some_token","type":"some_type","url":"some_url"}]
[{"token":"some_token","type":"some_type","url":"some_url","source":"some_source"}]
```
**Go での検証サンプル**
{% note %}
**Note**: The key id and signature from the example payload is derived from a test key.
The public key for them is:
```
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsz9ugWDj5jK5ELBK42ynytbo38gP
HzZFI03Exwz8Lh/tCfL3YxwMdLjB+bMznsanlhK0RwcGP3IDb34kQDIo3Q==
-----END PUBLIC KEY-----
```
{% endnote %}
The following code snippets demonstrate how you could perform signature validation.
The code examples assume you've set an environment variable called `GITHUB_PRODUCTION_TOKEN` with a generated [personal access token](https://github.com/settings/tokens) (PAT) to avoid hitting rate limits. The PAT does not need any scopes/permissions.
**Validation sample in Go**
```golang
package main
@@ -138,11 +171,11 @@ import (
)
func main() {
payload := `[{"token":"some_token","type":"some_type","url":"some_url"}]`
payload := `[{"token":"some_token","type":"some_type","url":"some_url","source":"some_source"}]`
kID := "90a421169f0a406205f1563a953312f0be898d3c7b6c06b681aa86a874555f4a"
kID := "f9525bf080f75b3506ca1ead061add62b8633a346606dc5fe544e29231c6ee0d"
kSig := "MEUCIQDKZokqnCjrRtw0tni+2Ltvl/uiMJ1EGumEsp1BsNr32AIgQY1YXD2nlj+XNfGK4rBfkMJ1JDOQcYXxa2sY8FNkrKc="
kSig := "MEUCIFLZzeK++IhS+y276SRk2Pe5LfDrfvTXu6iwKKcFGCrvAiEAhHN2kDOhy2I6eGkOFmxNkOJ+L2y8oQ9A2T9GGJo6WJY="
// Fetch the list of GitHub Public Keys
req, err := http.NewRequest("GET", "https://api.github.com/meta/public_keys/secret_scanning", nil)
@@ -248,7 +281,7 @@ type asn1Signature struct {
}
```
**Ruby での検証サンプル**
**Validation sample in Ruby**
```ruby
require 'openssl'
require 'net/http'
@@ -257,14 +290,14 @@ require 'json'
require 'base64'
payload = <<-EOL
[{"token":"some_token","type":"some_type","url":"some_url"}]
[{"token":"some_token","type":"some_type","url":"some_url","source":"some_source"}]
EOL
payload = payload
signature = "MEUCIQDKZokqnCjrRtw0tni+2Ltvl/uiMJ1EGumEsp1BsNr32AIgQY1YXD2nlj+XNfGK4rBfkMJ1JDOQcYXxa2sY8FNkrKc="
signature = "MEUCIFLZzeK++IhS+y276SRk2Pe5LfDrfvTXu6iwKKcFGCrvAiEAhHN2kDOhy2I6eGkOFmxNkOJ+L2y8oQ9A2T9GGJo6WJY="
key_id = "90a421169f0a406205f1563a953312f0be898d3c7b6c06b681aa86a874555f4a"
key_id = "f9525bf080f75b3506ca1ead061add62b8633a346606dc5fe544e29231c6ee0d"
url = URI.parse('https://api.github.com/meta/public_keys/secret_scanning')
@@ -288,7 +321,7 @@ openssl_key = OpenSSL::PKey::EC.new(current_key)
puts openssl_key.verify(OpenSSL::Digest::SHA256.new, Base64.decode64(signature), payload.chomp)
```
**JavaScript での検証サンプル**
**Validation sample in JavaScript**
```js
const crypto = require("crypto");
const axios = require("axios");
@@ -330,17 +363,17 @@ const verify_signature = async (payload, signature, keyID) => {
};
```
### シークレットアラートサービスへのシークレットの破棄とユーザ通知の実装
### Implement secret revocation and user notification in your secret alert service
パブリックリポジトリでの{% data variables.product.prodname_secret_scanning %}では、シークレットアラートサービスを拡張して、公開されたシークレットを取り除き、影響されたユーザに通知できます。 これをシークレットアラートサービスへどのように実装するかは実装者に任されていますが、{% data variables.product.prodname_dotcom %}がメッセージを送信したすべてのシークレットは、公開され、侵害されたものと考えることをおすすめします。
For {% data variables.product.prodname_secret_scanning %} in public repositories, you can enhance your secret alert service to revoke the exposed secrets and notify the affected users. How you implement this in your secret alert service is up to you, but we recommend considering any secrets that {% data variables.product.prodname_dotcom %} sends you messages about as public and compromised.
### 誤検知に対するフィードバック
### Provide feedback for false positives
当社は、パートナーのレスポンスにおいて検出された個々のシークレットについて、妥当性のフィードバックを収集しています。 参加したい場合は、<a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a> にメールでお問い合わせください。
We collect feedback on the validity of the detected individual secrets in partner responses. If you wish to take part, email us at <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>.
当社がシークレットを報告する際は、トークン、型識別子、コミットURLを含む各要素のJSON配列を送信します。 当社がフィードバックを受け取る際、あなたは検出されたトークンが正しい認証情報を持っているかいないかについての情報を送信します。 フィードバックは以下のフォーマットで受け取ります。
When we report secrets to you, we send a JSON array with each element containing the token, type identifier, and commit URL. When you send us feedback, you send us information about whether the detected token was a real or false credential. We accept feedback in the following formats.
生のトークンは以下のように送信できます。
You can send us the raw token:
```
[
@@ -351,7 +384,7 @@ const verify_signature = async (payload, signature, keyID) => {
}
]
```
また、SHA-256を使用して一方向暗号化ハッシュを実行した後、ハッシュ形式でトークンを提供することも可能です。
You may also provide the token in hashed form after performing a one way cryptographic hash of the raw token using SHA-256:
```
[
@@ -362,13 +395,13 @@ const verify_signature = async (payload, signature, keyID) => {
}
]
```
重要なポイントをいくつか以下に示します。
- トークンは、生の形式 ("token_raw") またはハッシュ形式 ("token_hash") のいずれか1つだけを送信してください。両方を送信しないでください。
- 生のトークンをハッシュ化する場合、SHA-256のみを使用します。他のハッシュ化アルゴリズムは使用しないでください。
- ラベルは、トークンが真陽性 ("true_positive") か誤検知 ("false_positive") かを示します。 これら2つの、小文字のリテラル文字列のみを受け付けます。
A few important points:
- You should only send us either the raw form of the token ("token_raw"), or the hashed form ("token_hash"), but not both.
- For the hashed form of the raw token, you can only use SHA-256 to hash the token, not any other hashing algorithm.
- The label indicates whether the token is a true ("true_positive") or a false positive ("false_positive"). Only these two lowercased literal strings are allowed.
{% note %}
**注:** 誤検知に関するデータを提供するパートナーに対しては、要求のタイムアウトは長め (30 秒) に設定されています。 30 秒を超えるタイムアウトが必要な場合は、<a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a> にメールでお問い合わせください。
**Note:** Our request timeout is set to be higher (that is, 30 seconds) for partners who provide data about false positives. If you require a timeout higher than 30 seconds, email us at <a href="mailto:secret-scanning@github.com">secret-scanning@github.com</a>.
{% endnote %}

View File

@@ -95,7 +95,7 @@ You can also find the node ID of all projects in your organization. The followin
curl --request POST \
--url https://api.github.com/graphql \
--header 'Authorization: Bearer TOKEN' \
--data '{"query":"{organization(login: \"ORGANIZATION") {projectsV2(first: 20) {nodes {id title}}}}"}'
--data '{"query":"{organization(login: \"ORGANIZATION\") {projectsV2(first: 20) {nodes {id title}}}}"}'
```
{% endcurl %}
@@ -566,7 +566,7 @@ The following example will update the value of a text field for an item. Replace
curl --request POST \
--url https://api.github.com/graphql \
--header 'Authorization: Bearer TOKEN' \
--data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: "PROJECT_ID" itemId: "ITEM_ID" fieldId: "FIELD_ID" value: { text: "Updated text" }}) { projectV2Item { id }}}"}'
--data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: \"PROJECT_ID\" itemId: \"ITEM_ID\" fieldId: \"FIELD_ID\" value: { text: \"Updated text\" }}) { projectV2Item { id }}}"}'
```
{% endcurl %}
@@ -620,7 +620,7 @@ The following example will update the value of a single select field for an item
curl --request POST \
--url https://api.github.com/graphql \
--header 'Authorization: Bearer TOKEN' \
--data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: "PROJECT_ID" itemId: "ITEM_ID" fieldId: "FIELD_ID" value: { singleSelectOptionId: "OPTION_ID" }}) { projectV2Item { id }}}"}'
--data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: \"PROJECT_ID\" itemId: \"ITEM_ID\" fieldId: \"FIELD_ID\" value: { singleSelectOptionId: \"OPTION_ID\" }}) { projectV2Item { id }}}"}'
```
{% endcurl %}
@@ -660,7 +660,7 @@ The following example will update the value of an iteration field for an item.
curl --request POST \
--url https://api.github.com/graphql \
--header 'Authorization: Bearer TOKEN' \
--data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: "PROJECT_ID" itemId: "ITEM_ID" fieldId: "FIELD_ID" value: { singleSelectOptionId: "OPTION_ID" }}) { projectV2Item { id }}}"}'
--data '{"query":"mutation {updateProjectV2ItemFieldValue( input: { projectId: \"PROJECT_ID\" itemId: \"ITEM_ID\" fieldId: \"FIELD_ID\" value: { singleSelectOptionId: \"OPTION_ID\" }}) { projectV2Item { id }}}"}'
```
{% endcurl %}

View File

@@ -1,9 +1 @@
---
ms.openlocfilehash: e9f2162fa5c65d4a59b2bd350aea2b131205f9a6
ms.sourcegitcommit: 47bd0e48c7dba1dde49baff60bc1eddc91ab10c5
ms.translationtype: HT
ms.contentlocale: ja-JP
ms.lasthandoff: 09/05/2022
ms.locfileid: "145113374"
---
{% data variables.product.prodname_codeql %}は、プロジェクトをセットアップするためにGoのプロジェクトのビルドも実行します。 ただし、他のコンパイル済み言語と対照的に、ビルドされたものだけでなく、リポジトリ内のすべての Go ファイルが抽出されます。 カスタム ビルド コマンドを使用すると、ビルドによって使用されない Go ファイルの抽出をスキップできます。
For these three languages, {% data variables.product.prodname_codeql %} analyzes the source files in your repository that are built. {% data variables.product.prodname_codeql %} also runs a build for Go projects to set up the project, but then analyzes _all_ Go files in the repository, not just the files that are built. For any of these languages, including Go, you can disable `autobuild` and instead use custom build commands in order to analyze only the files that are built by these custom commands.

View File

@@ -1,9 +1,2 @@
---
ms.openlocfilehash: 05d61d8f49c6b53d318abbdceba89223404a7509
ms.sourcegitcommit: fcf3546b7cc208155fb8acdf68b81be28afc3d2d
ms.translationtype: HT
ms.contentlocale: ja-JP
ms.lasthandoff: 09/10/2022
ms.locfileid: "145115645"
---
リポジトリ内の C/C++、C#、または Java コードに非標準のビルド プロセスがあると、`autobuild` が失敗するおそれがあります。 ワークフローから `autobuild` ステップを削除し、手動でビルド ステップを追加する必要があります。 リポジトリのGoのファイルで展開するものを指定したい場合には、ビルドのステップを追加しなければなりません。
If `autobuild` fails, or you want to analyze a different set of source files from those built by the `autobuild` process, you'll need to remove the `autobuild` step from the workflow, and manually add build steps. For C/C++, C#, Go, and Java projects, {% data variables.product.prodname_codeql %} will analyze whatever source code is built by your specified build steps.

View File

@@ -309,6 +309,7 @@ translations/es-ES/content/admin/enterprise-management/updating-the-virtual-mach
translations/es-ES/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises.md,rendering error
translations/es-ES/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise.md,rendering error
translations/es-ES/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise.md,rendering error
translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication.md,broken liquid tags
translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md,broken liquid tags
translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise.md,rendering error
translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise.md,rendering error
@@ -346,6 +347,7 @@ translations/es-ES/content/billing/managing-billing-for-your-github-account/conn
translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts.md,rendering error
translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql.md,rendering error
translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md,rendering error
translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages.md,broken liquid tags
translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md,rendering error
translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md,rendering error
translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/tracking-code-scanning-alerts-in-issues-using-task-lists.md,rendering error
@@ -448,6 +450,7 @@ translations/es-ES/content/developers/apps/guides/creating-ci-tests-with-the-che
translations/es-ES/content/developers/apps/guides/using-the-github-api-in-your-app.md,rendering error
translations/es-ES/content/developers/overview/about-githubs-apis.md,broken liquid tags
translations/es-ES/content/developers/overview/managing-deploy-keys.md,broken liquid tags
translations/es-ES/content/developers/overview/secret-scanning-partner-program.md,broken liquid tags
translations/es-ES/content/developers/webhooks-and-events/events/issue-event-types.md,broken liquid tags
translations/es-ES/content/developers/webhooks-and-events/webhooks/webhook-events-and-payloads.md,rendering error
translations/es-ES/content/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions.md,broken liquid tags
@@ -609,6 +612,8 @@ translations/es-ES/data/reusables/advanced-security/secret-scanning-push-protect
translations/es-ES/data/reusables/audit_log/audit-log-events-workflows.md,rendering error
translations/es-ES/data/reusables/audit_log/audit_log_sidebar_for_org_admins.md,rendering error
translations/es-ES/data/reusables/audit_log/audit_log_sidebar_for_site_admins.md,rendering error
translations/es-ES/data/reusables/code-scanning/analyze-go.md,broken liquid tags
translations/es-ES/data/reusables/code-scanning/autobuild-add-build-steps.md,broken liquid tags
translations/es-ES/data/reusables/code-scanning/codeql-languages-bullets.md,rendering error
translations/es-ES/data/reusables/code-scanning/codeql-languages-keywords.md,rendering error
translations/es-ES/data/reusables/code-scanning/enterprise-enable-code-scanning.md,broken liquid tags
1 file reason
309 translations/es-ES/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises.md rendering error
310 translations/es-ES/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise.md rendering error
311 translations/es-ES/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise.md rendering error
312 translations/es-ES/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication.md broken liquid tags
313 translations/es-ES/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md broken liquid tags
314 translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise.md rendering error
315 translations/es-ES/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/audit-log-events-for-your-enterprise.md rendering error
347 translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts.md rendering error
348 translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql.md rendering error
349 translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md rendering error
350 translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages.md broken liquid tags
351 translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md rendering error
352 translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md rendering error
353 translations/es-ES/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/tracking-code-scanning-alerts-in-issues-using-task-lists.md rendering error
450 translations/es-ES/content/developers/apps/guides/using-the-github-api-in-your-app.md rendering error
451 translations/es-ES/content/developers/overview/about-githubs-apis.md broken liquid tags
452 translations/es-ES/content/developers/overview/managing-deploy-keys.md broken liquid tags
453 translations/es-ES/content/developers/overview/secret-scanning-partner-program.md broken liquid tags
454 translations/es-ES/content/developers/webhooks-and-events/events/issue-event-types.md broken liquid tags
455 translations/es-ES/content/developers/webhooks-and-events/webhooks/webhook-events-and-payloads.md rendering error
456 translations/es-ES/content/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions.md broken liquid tags
612 translations/es-ES/data/reusables/audit_log/audit-log-events-workflows.md rendering error
613 translations/es-ES/data/reusables/audit_log/audit_log_sidebar_for_org_admins.md rendering error
614 translations/es-ES/data/reusables/audit_log/audit_log_sidebar_for_site_admins.md rendering error
615 translations/es-ES/data/reusables/code-scanning/analyze-go.md broken liquid tags
616 translations/es-ES/data/reusables/code-scanning/autobuild-add-build-steps.md broken liquid tags
617 translations/es-ES/data/reusables/code-scanning/codeql-languages-bullets.md rendering error
618 translations/es-ES/data/reusables/code-scanning/codeql-languages-keywords.md rendering error
619 translations/es-ES/data/reusables/code-scanning/enterprise-enable-code-scanning.md broken liquid tags

View File

@@ -307,6 +307,7 @@ translations/ja-JP/content/admin/enterprise-management/updating-the-virtual-mach
translations/ja-JP/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises.md,rendering error
translations/ja-JP/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise.md,rendering error
translations/ja-JP/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise.md,rendering error
translations/ja-JP/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication.md,broken liquid tags
translations/ja-JP/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md,broken liquid tags
translations/ja-JP/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md,rendering error
translations/ja-JP/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise.md,rendering error
@@ -338,6 +339,7 @@ translations/ja-JP/content/billing/managing-billing-for-your-github-account/conn
translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts.md,rendering error
translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql.md,rendering error
translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md,rendering error
translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages.md,broken liquid tags
translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md,rendering error
translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md,rendering error
translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/tracking-code-scanning-alerts-in-issues-using-task-lists.md,rendering error
@@ -440,6 +442,7 @@ translations/ja-JP/content/developers/apps/guides/creating-ci-tests-with-the-che
translations/ja-JP/content/developers/apps/guides/using-the-github-api-in-your-app.md,rendering error
translations/ja-JP/content/developers/overview/about-githubs-apis.md,broken liquid tags
translations/ja-JP/content/developers/overview/managing-deploy-keys.md,broken liquid tags
translations/ja-JP/content/developers/overview/secret-scanning-partner-program.md,broken liquid tags
translations/ja-JP/content/developers/webhooks-and-events/events/issue-event-types.md,broken liquid tags
translations/ja-JP/content/developers/webhooks-and-events/webhooks/webhook-events-and-payloads.md,rendering error
translations/ja-JP/content/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions.md,broken liquid tags
@@ -596,6 +599,8 @@ translations/ja-JP/data/reusables/advanced-security/secret-scanning-push-protect
translations/ja-JP/data/reusables/audit_log/audit-log-events-workflows.md,rendering error
translations/ja-JP/data/reusables/audit_log/audit_log_sidebar_for_org_admins.md,rendering error
translations/ja-JP/data/reusables/audit_log/audit_log_sidebar_for_site_admins.md,rendering error
translations/ja-JP/data/reusables/code-scanning/analyze-go.md,broken liquid tags
translations/ja-JP/data/reusables/code-scanning/autobuild-add-build-steps.md,broken liquid tags
translations/ja-JP/data/reusables/code-scanning/codeql-languages-bullets.md,rendering error
translations/ja-JP/data/reusables/code-scanning/codeql-languages-keywords.md,rendering error
translations/ja-JP/data/reusables/code-scanning/enterprise-enable-code-scanning.md,broken liquid tags
1 file reason
307 translations/ja-JP/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises.md rendering error
308 translations/ja-JP/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise.md rendering error
309 translations/ja-JP/content/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise.md rendering error
310 translations/ja-JP/content/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication.md broken liquid tags
311 translations/ja-JP/content/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users.md broken liquid tags
312 translations/ja-JP/content/admin/identity-and-access-management/using-saml-for-enterprise-iam/saml-configuration-reference.md rendering error
313 translations/ja-JP/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise.md rendering error
339 translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts.md rendering error
340 translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql.md rendering error
341 translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md rendering error
342 translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-the-codeql-workflow-for-compiled-languages.md broken liquid tags
343 translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository.md rendering error
344 translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository.md rendering error
345 translations/ja-JP/content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/tracking-code-scanning-alerts-in-issues-using-task-lists.md rendering error
442 translations/ja-JP/content/developers/apps/guides/using-the-github-api-in-your-app.md rendering error
443 translations/ja-JP/content/developers/overview/about-githubs-apis.md broken liquid tags
444 translations/ja-JP/content/developers/overview/managing-deploy-keys.md broken liquid tags
445 translations/ja-JP/content/developers/overview/secret-scanning-partner-program.md broken liquid tags
446 translations/ja-JP/content/developers/webhooks-and-events/events/issue-event-types.md broken liquid tags
447 translations/ja-JP/content/developers/webhooks-and-events/webhooks/webhook-events-and-payloads.md rendering error
448 translations/ja-JP/content/discussions/collaborating-with-your-community-using-discussions/collaborating-with-maintainers-using-discussions.md broken liquid tags
599 translations/ja-JP/data/reusables/audit_log/audit-log-events-workflows.md rendering error
600 translations/ja-JP/data/reusables/audit_log/audit_log_sidebar_for_org_admins.md rendering error
601 translations/ja-JP/data/reusables/audit_log/audit_log_sidebar_for_site_admins.md rendering error
602 translations/ja-JP/data/reusables/code-scanning/analyze-go.md broken liquid tags
603 translations/ja-JP/data/reusables/code-scanning/autobuild-add-build-steps.md broken liquid tags
604 translations/ja-JP/data/reusables/code-scanning/codeql-languages-bullets.md rendering error
605 translations/ja-JP/data/reusables/code-scanning/codeql-languages-keywords.md rendering error
606 translations/ja-JP/data/reusables/code-scanning/enterprise-enable-code-scanning.md broken liquid tags