Active DirectoryユーザーLDomain\LUserがあり、そのユーザーがAzure-Sql-DBに接続できるようにしたい。 MSが使用する構文はエラーをスローします。
T-SQL:
CREATE USER [LDomain\LUser] FROM EXTERNAL PROVIDER
エラー:
プリンシパル 'LDomain\LUser'が見つからなかったか、このプリンシパルタイプはサポートされていません。
ADユーザーを追加するためのスクリプトを探しているだけです-インターフェイスはありません。 ADユーザーがAzureに存在し、確認済みであることを知っていますが、Azure-Sql-DBがそれを認識していないか、このT-SQLが無効です-これはドキュメントにあります。
Azureサブスクリプションとフェデレーションされた外部のAzure Active Directoryインスタンスからユーザーをプロビジョニングするときは、「実際の」メールアドレスではなく、Azureサブスクリプション用に作成された基になる「ゲスト」メールアドレスを使用する必要があります。
つまり ここで言及されているMicrosoftシナリオ は、「ネイティブまたはフェデレーションドメインメンバーである他のAzure ADからインポートされたメンバー」として。
したがって、代わりに:
CREATE USER [[email protected]] FROM EXTERNAL PROVIDER
次の規則を使用する必要があります。これは、別のAzure Active Directoryからのゲスト/フェデレーションユーザーを格納するMicrosoftの方法です。
CREATE USER [your.user_example.com#EXT#@<yourAzureSubscriptionPrefix>.onmicrosoft.com] FROM EXTERNAL PROVIDER
あるいは、グループを使用すると、これがはるかに直感的で管理しやすくなります。
SqlUsersFromExternalDirectory
)を作成します。CREATE USER [SqlUsersFromExternalDirectory] FROM EXTERNAL PROVIDER
これは正常に機能し、外部ユーザーはサインインでき、管理者は権限などを付与できます。
Active Directoryの同期Start-ADSyncSyncCycle -PolicyType Initialを強制的に開始してみてください。 ADで作成されたユーザーは、Azure ADと同期する必要があります。