Azure Active Directory ポータルを使用してカスタム ドメイン名を追加する
【参考】https://docs.microsoft.com/ja-jp/azure/active-directory/fundamentals/add-custom-domain
Microsoft Azureで【 Azure Active Directory 】を使用しデフォルトのxxxxx.onmicrosoft.comから、自分が契約しているドメイン「kuhen.net」を【カスタムドメイン名】項目から追加し「プライマリ」として切り替えてみた。
現在使用している Azure【SQL Database】の認証で 「SQLパスワード認証」の他に → Azure Active Directory(Azure AD)パスワード認証も追加して使用したかったからである。
自分のドメインを「プライマリ」にするには、ドメイン追加のボタンを押した後、Azureの画面に表示された、DNSレコード追加用の「TXT」データ内容を、自分のドメインの(レンタルサーバ等の)DNS管理画面で手動追加する。
Azure AD が表示したキーワードと同じキーワードをDNSレコードに書き込めるのは
→そのドメインの【所有者(管理者)】だけだから。というよくある認証方法。
これで kuhen.net ドメインをプライマリとして追加出来た。
Azure ポータル画面の Azure Active Directory で新規ユーザーを追加する
追加するユーザー: foo@kuhen.net
ユーザーを作成すると、仮パスワードが登録されるので必ず仮パスワードはメモしておくこと。
作成したfoo@kuhen.netで→ Azureポータルにログインし、仮パスワードを入力後、本パスワードを設定しサインアウト。
次にパソコンから SQL Server Management Studio (SSMS) を起動し
Azure SQL Database の管理権限ユーザーでログインする。
【SSMSダウンロード先】https://docs.microsoft.com/ja-jp/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-2017
【参考】https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-manage-logins
Azure SQL Database に、一般ユーザー(db_owner権限を付加)を追加するには
ユーザを作成したいデータベース名に移動してマウス右→新しいクエリ
CREATE USER [foo@kuhen.net] FROM EXTERNAL PROVIDER;
ALTER ROLE db_owner ADD MEMBER [foo@kuhen.net] ;
SELECT * FROM sys.sql_logins;
SELECT * FROM sys.databases;
上記4行(作成と確認)を実行する。
もちろん foo@kuhen.net の部分は自分の作成したいユーザー名@ドメイン名に置き換えること
SQLデータベース → 使用するデータベース → 接続文字列 → ADO.NET (Active Directory パスワード認証)
でC#から使う接続文字を確認する。
デフォルトで接続は暗号化がONになっている。
それとファイアーウオールの設定で「接続許可IP」に自分の使用するIP指定しとかないと接続出来ないのでご注意を。
■ハマッタこと
Azure ADで作成したユーザーは、パスワードが合っていても「failed」になります。SQL Server Management Studio (SSMS) からデーターベースの中には入れないが「データーベース」には与えられた権限でアクセスできます。
最初は「なんで入れないんだろう?」と四苦八苦しました。
■組織のパスワード有効期限ポリシーを設定(ご注意:パスワードを「無期限」に設定する時は自己責任で)
https://docs.microsoft.com/ja-jp/microsoft-365/admin/manage/set-password-expiration-policy?view=o365-worldwide
■最後に
他のサイトに投稿した記事(1年より前の情報)に手を加えてQiitaに投稿しました。
プログラムの知識や能力は「趣味レベル」な老人ですので何か間違いがあればご指摘ください。
以上