web-dev-qa-db-ja.com

Azure-SQL-DBのActive Directoryユーザーを追加する

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が無効です-これはドキュメントにあります。

2
WhyAShortage

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

あるいは、グループを使用すると、これがはるかに直感的で管理しやすくなります。

  1. AzureサブスクリプションのデフォルトのAzure Active Directoryにグループ(たとえば、SqlUsersFromExternalDirectory)を作成します。
  2. SQLウェアハウスまたはDBにアクセスする外部ユーザーをグループに追加します。
  3. ターゲットデータベースに外部ユーザーとしてグループを追加する

CREATE USER [SqlUsersFromExternalDirectory] FROM EXTERNAL PROVIDER

これは正常に機能し、外部ユーザーはサインインでき、管理者は権限などを付与できます。

3
Murray Foxcroft

Active Directoryの同期Start-ADSyncSyncCycle -PolicyType Initialを強制的に開始してみてください。 ADで作成されたユーザーは、Azure ADと同期する必要があります。

0
medero