Skip to main content

このバージョンの GitHub Enterprise はこの日付をもって終了となります: 2022-10-12. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせください

外部認証のユーザー名に関する考慮事項

認証に CAS、LDAP、または SAML を使うとき、GitHub Enterprise Server は、特定のルールに従って、インスタンスでの各ユーザー アカウントのユーザー名を決定します。

外部認証を使用するユーザー名について

CAS、LDAP、または SAML を使用して、GitHub Enterprise Server の外部認証を構成できます。 詳細については、「エンタープライズの認証について」を参照してください。

外部認証を使用する場合、your GitHub Enterprise Server instance は、ユーザーが初めて外部認証システムを介して your GitHub Enterprise Server instance にサインインしたときに、各ユーザーのユーザー名を自動的に作成します。

ユーザー名は 39 文字を超えてはなりません。

ユーザー名の正規化について

GitHub Enterprise Server のユーザー アカウントのユーザー名には、英数字とダッシュ (-) のみを含めることができます。

CAS、LDAP、または SAML 認証を構成する場合、GitHub Enterprise Server は、外部認証プロバイダーのユーザー アカウントの識別子を使用して、GitHub Enterprise Server 上の対応するユーザー アカウントのユーザー名を決定します。 識別子にサポートされていない文字が含まれている場合、GitHub Enterprise Server は次の規則に従ってユーザー名を正規化します。

  1. GitHub Enterprise Server は、アカウントのユーザー名に含まれている非英数字をダッシュに変換します。 たとえば、mona.the.octocat というユーザー名は mona-the-octocat に正規化されます。 変換されたユーザ名の先頭及び末尾はダッシュであってはならないことに注意してください。 2つの連続するダッシュを含めることもできません。

  2. メール アドレスから作成されたユーザー名は、@ 文字の前の正規化された文字から作成されます。

  3. 複数のアカウントが変換後に同じ GitHub Enterprise Server のユーザー名になる場合、最初のユーザー アカウントだけが作成されます。 同じユーザ名のそれ以降のユーザは、サインインできません。

ユーザー名の正規化の例

プロバイダーの識別子GitHub で正規化されたユーザー名結果
The.Octocatthe-octocatこのユーザ名の作成は成功します。
!The.Octocat-the-octocatこのユーザ名はダッシュで始まるので作成されません。
The.Octocat!the-octocat-このユーザ名はダッシュで終わるので作成されません。
The!!Octocatthe--octocatこのユーザ名には連続する2つのダッシュが含まれるので作成されません。
The!Octocatthe-octocatこのユーザ名は作成されません。 変換されたユーザ名は正当ですが、すでに存在しています。
The.Octocat@example.comthe-octocatこのユーザ名は作成されません。 変換されたユーザ名は正当ですが、すでに存在しています。
mona.lisa.the.octocat.from.github.united.states@example.commona-lisa-the-octocat-from-github-united-statesこのユーザー名は、39 文字の制限を超えているため、作成されません。

SAML を使用したユーザー名の正規化について

your GitHub Enterprise Server instance に対して SAML 認証を構成した場合、GitHub Enterprise Server は、優先順位の降順で並べられた SAML 応答の次のアサーションの 1 つによって、各ユーザーのユーザー名を決定します。

  1. カスタム username 属性 (定義済みかつ存在する場合)
  2. http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name アサーション (存在する場合)
  3. http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress アサーション (存在する場合)
  4. NameID 要素

GitHub Enterprise Server には、他の属性が存在する場合でも NameID 要素が必要です。 詳細については、「SAML 構成リファレンス」をご覧ください。

GitHub Enterprise Server は、IdP からの NameID と your GitHub Enterprise Server instance 上のユーザー名の間にマッピングを作成するため、NameID は永続的で一意であり、ユーザーのライフサイクルで変更される可能性はありません。

: IdP でユーザーの NameID が変更されない場合、ユーザーが your GitHub Enterprise Server instance にサインインするときにエラー メッセージが表示されます。 ユーザーのアクセス権を復元するには、ユーザー アカウントの NameID マッピングを更新する必要があります。 詳細については、「ユーザーの SAML NameID の更新」を参照してください。