1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft Entra IDのユーザー名規則について

Last updated at Posted at 2025-09-06

みなさんこんばんわ。

Microsoft Entra IDでユーザーを作成していて気付いたことがあるので記事にします。

Microsoft公式からの詳細はこちらです。
https://learn.microsoft.com/ja-jp/entra/identity/hybrid/connect/plan-connect-userprincipalname

@の直前に.が使えない

image.png
こんな感じですね。
test.と命名すると怒られます。

@の前に@が使えない

image.png
こっちも分かりやすいですね。
@がアカウント名とドメインの区切り文字となっているので、アカウント名に@があるとどこが区切り文字化わからなくなるからですね。

.が連続だとダメ

t..estという名前を付けてみました。
この場合だと、
image.png
ユーザー作成画面では何も出てこないのです。
image.png
確認画面でも何も出てこないので作成ボタンも押せます。
しかしボタンを押してみると
image.png
エラーが出ます。
エラーの内容はリソース'User'のプロパティ'mailNickname'に無効な値が指定されました。と出ています。
この文言の内容はどのパラメーターかというと
image.png
この赤枠部分でした。
しかしこのメール ニックネームなるパラメーター、プロパティ画面からは設定できません。
image.png

image.png

image.png
このようにプロパティ画面全部見直しても見当たりませんでした。

アカウント作成の最初の画面
image.png
赤枠内のユーザープリンシパルネームから受け継ぐのチェックを外せばメールニックネームを個別で設定変更ができました。
image.png
個別で設定するとやはり基本のページでコケるようになりますね。
ユーザープリンシパルネーム(UPN)でコケています。

.が二つ続くこともあまりないと思いますが、気を付けましょう。

なぜ.が連続で2つ使うユーザー名が作成できないか

これはどうもSMTPの仕様の影響を受けているようです。
SMTPに関するRFC 5321内のセクション4.1.2 Command Argument SyntaxにあるLocal-partという個所で定義されています。
抜粋すると

Local-part = Dot-string / Quoted-string
MAY be case-sensitive
Dot-string = Atom *("." Atom)
Atom = 1*atext

この部分ですね。
この部分もABNF(拡張BNF)としてRFC 5234で定義されているのですがABNFまで話を広げてしまうと範囲が広くなりすぎるのでこの抜粋部分だけに絞ってみます。
抜粋部分を見てもらうとわかると思いますが、下から順に要素が入れ子になっていますので一番下から見ていきます。

Atom=1*atext

Atom=1*atext
ですが、これはatextを1回以上並べるという意味です。
atextとは具体的に言うと
abcdefghijklmnopqrstuvwxyz0123456789!#$%&'*+=/?^_`{}|~.
となります。
これらの文字、特に記号に関しては驚きますが、例えば

michael+jackson

michael=jackson

というメールアドレスの@より前の部分がSMTPのRFCとしては許容されている、ということですね。
(もちろんMicrosoft Entra IDではこれらの命名は禁止です。)
次はその上の行です。

Dot-string=Atom *("." Atom)

Dot-string=Atom *("." Atom)
こちらもABNFに従って分解してみると
Dot-StringとはAtom(1*atext)が必ず最初(頭文字)に利用され、その次に.Atom(1*atext)をゼロ回以上繰り返すという意味になります。
この定義だと例えば

文字列 有効/無効
a 有効
b 有効
ab 有効
abc 有効
a.bc 有効
a.b.c 有効
a..bc 無効
.abc 無効
abc. 無効

となります。
ここで.の連続利用と最初の文字に.、最後の文字に.が無効、と定義されていました。

まとめ

Microsoft Entra IDのユーザー名に.を二回連続で使ったり、.から始まる、.で終わる命名は使えない

所感

とても勉強になりました。
最近案件でRFCを読むことが増えたので、やはり先人達の偉大な知恵は良く考え抜かれているな、と感心しきりです。
私も少しでも世間のお役に立てるように頑張ろうと思いました。

本日はここまで。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?