0

こんにちは私はAzure SQL ServerでAzureアクティブディレクトリ認証を設定しました。 は、その後、私は次のように使用して、SQLデータベースに含まれているDBユーザを追加した作成したユーザーAzure SQLデータベースv12 AD認証、一部のユーザーがログインできない

CREATE USER [[email protected]] FROM EXTERNAL PROVIDER; 

割り当てられた次の権限

EXEC sp_addrolemember 'db_datareader', '[email protected]'; 
GO 
EXEC sp_addrolemember 'db_datawriter', '[email protected]'; 
GO 
GRANT EXECUTE ON SCHEMA :: dbo TO [[email protected]]; 
GO 
GRANT ALTER ON SCHEMA :: dbo TO [[email protected]]; 

GRANT CREATE TABLE TO [[email protected]]; 
GRANT SELECT,DELETE,UPDATE,INSERT TO [[email protected]]; 
GRANT VIEW ANY COLUMN MASTER KEY DEFINITION to [[email protected]]; 
GRANT VIEW ANY COLUMN ENCRYPTION KEY DEFINITION to [[email protected]]; 

一部のユーザーがログインしてアクセスすることができます

問い合わせますDBが、ユーザーのログインに失敗したというエラーメッセージが表示されるユーザーもいます。 さらに多くのアクセス許可を提供する必要がありますか?

+0

データベースにアクセスできないユーザータイプは何ですか?すべてのユーザーに同じ権限を与えますか? –

+0

はい、同じ権限とユーザータイプを付与されたすべてのユーザーはメンバーです。誰にアクセスできるかは、UserタイプもMemberとして持つことができます。 – narendramacha

答えて

0

デフォルトでは、特定のデータベースを指定していないAzure SQLに接続すると、masterデータベースにログインしようとします。 AADはグループベースのメンバーシップを使用するため、ユーザーがマスターデータベースにアクセスできるグループの一部であれば、ユーザーはログインできます。ログインが拒否されたユーザーは、通常、マスター権限を付与されておらず、特定のデータベースが接続文字列に指定されていないため、拒否されます。

SSMSを使用して接続するには、[データベースエンジンに接続]ダイアログで[オプション]ボタンをクリックし、[接続プロパティ]タブを選択し、[データベースに接続]ドロップダウンでデータベース名を指定します。仮想データベースサーバー上のデータベースの一覧を読むには、ユーザーがマスターにアクセスできない場合があります。

データベースの「概要」の下にあるAzure Portalから、テクノロジースタックの接続文字列を取得できます。

これが役に立ちます。

関連する問題