Skip to main content

現在、GitHub AE は限定的リリースです。

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

GitHub AE は、特定のルールに従って、Enterprise での各ユーザー アカウントのユーザー名を決定します。

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

GitHub AE は認証に SAML SSO を使用し、ユーザーが初めて ID プロバイダー (IdP) を介してサインインするときに、各ユーザーのユーザー名を自動的に作成します。

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

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

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

SAML 認証を構成すると、GitHub AE は IdP 上のユーザー アカウントの識別子を使用して、GitHub AE の対応するユーザー アカウントのユーザー名を決定します。 識別子にサポートされていない文字が含まれている場合、GitHub AE は次の規則に従ってユーザー名を正規化します。

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

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

  3. ドメイン アカウントから作成されるユーザー名は、\\ 区切りの後の正規化された文字から作成されます。

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

ユーザー名の正規化の例

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

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

GitHub AE は、優先順位の降順で並べられた 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 AE には、他の属性が存在する場合でも NameID 要素が必要です。 詳しくは、「SAML 構成リファレンス」を参照してください。

GitHub AE は、IdP からの NameID と ご自分のエンタープライズ 内のユーザー名の間にマッピングを作成するため、NameID は永続的で一意であり、ユーザーのライフサイクルで変更される可能性はありません。