外部認証を使用するユーザー名について
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 は次の規則に従ってユーザー名を正規化します。
-
GitHub Enterprise Server は、アカウントのユーザー名に含まれている非英数字をダッシュに変換します。 たとえば、
mona.the.octocat
というユーザー名はmona-the-octocat
に正規化されます。 変換されたユーザ名の先� �及び末尾はダッシュであってはならないことに注意してく� さい。 2つの連続するダッシュを含めることもできません。 -
メール アドレスから作成されたユーザー名は、
@
文字の前の正規化された文字から作成されます。 -
ドメイン アカウントから作成されるユーザー名は、
\\
区切りの後の正規化された文字から作成されます。 -
複数のアカウントが変換後に同じ GitHub Enterprise Server のユーザー名になる� �合、最初のユーザー アカウント� けが作成されます。 同じユーザ名のそれ以降のユーザは、サインインできません。
ユーザー名の正規化の例
プロバイダーの識別子 | GitHub で正規化されたユーザー名 | 結果 |
---|---|---|
The.Octocat | the-octocat | このユーザ名の作成は成功します。 |
!The.Octocat | -the-octocat | このユーザ名はダッシュで始まるので作成されません。 |
The.Octocat! | the-octocat- | このユーザ名はダッシュで終わるので作成されません。 |
The!!Octocat | the--octocat | このユーザ名には連続する2つのダッシュが含まれるので作成されません。 |
The!Octocat | the-octocat | このユーザ名は作成されません。 変換されたユーザ名は正当ですが、すでに存在しています。 |
The.Octocat@example.com | the-octocat | このユーザ名は作成されません。 変換されたユーザ名は正当ですが、すでに存在しています。 |
internal\\The.Octocat | the-octocat | このユーザ名は作成されません。 変換されたユーザ名は正当ですが、すでに存在しています。 |
mona.lisa.the.octocat.from.github.united.states@example.com | mona-lisa-the-octocat-from-github-united-states | このユーザー名は、39 文字の制限を超えているため、作成されません。 |
SAML を使用したユーザー名の正規化について
your GitHub Enterprise Server instance に対して SAML 認証を構成した� �合、GitHub Enterprise Server は、優先� �位の降� �で並べられた SAML 応答の次のアサーションの 1 つによって、各ユーザーのユーザー名を決定します。
- カスタ�
username
属性 (定義済みかつ存在する� �合) http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
アサーション (存在する� �合)http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
アサーション (存在する� �合)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
の更新」を参照してく� さい。