sql >> データベース >  >> RDS >> Sqlserver

SQLServerでテーブルレベルのアクセス許可を付与する

    SQL Server Management Studioを起動し、「sa」の役割が付与されている資格情報に接続します。

    セキュリティを展開します 、ログインを右クリックします 新規ログインを選択します 。

    説明的なログイン名を入力します 、SQLServer認証を選択します 、および安全なパスワードを入力します。ページの下部で、Chartioが接続するデータベースをデフォルトデータベースとして選択します。 。

    ユーザーマッピングを選択します タブで、目的のデータベースの横にあるチェックボックスをオンにし、[公開]のみが選択されていることを確認して、[ OK]をクリックします。 。

    新しいクエリをクリックします ボタンをクリックして、Chartioに接続しているデータベースを選択します。

    次のクエリをクエリウィンドウに貼り付けて実行します。 「chartio_read_only」を、作成したユーザーの実際のユーザー名に置き換えます。

    SELECT 'GRANT SELECT ON "' + TABLE_SCHEMA + '"."' + TABLE_NAME + '" TO "chartio_read_only"' FROM information_schema.tables
    

    クエリ結果を選択してクエリウィンドウにコピーします。

    「chartio_read_onlyユーザー」にアクセスを許可したくないテーブルまたはビューを削除します。この例では、機密情報が含まれているため、InvoiceテーブルとInvoiceLineテーブルを削除しました。

    GRANT SELECT ON "dbo"."Customer" TO "chartio_read_only"
    GRANT SELECT ON "dbo"."Employee" TO "chartio_read_only"
    GRANT SELECT ON "dbo"."Genre" TO "chartio_read_only"
    GRANT SELECT ON "dbo"."MediaType" TO "chartio_read_only"
    GRANT SELECT ON "dbo"."Playlist" TO "chartio_read_only"
    GRANT SELECT ON "dbo"."PlaylistTrack" TO "chartio_read_only"
    GRANT SELECT ON "dbo"."Track" TO "chartio_read_only"
    GRANT SELECT ON "dbo"."Album" TO "chartio_read_only"
    GRANT SELECT ON "dbo"."Artist" TO "chartio_read_only"
    

    クエリを実行します。

    次に、dboスキーマでビュー定義を付与する必要があります。以下のクエリをコピーして、SQLServerで実行します。ユーザー名を以前に作成したユーザー名に置き換えます。

    GRANT VIEW DEFINITION ON SCHEMA :: dbo TO chartio_read_only
    

    これで、これらのクレデンシャルを使用して、指定したテーブルのみに対する読み取り専用権限でChartioをデータベースに接続できます。


    1. SQL Serverで主キーを取得する11の方法(T-SQLの例)

    2. SQLServerエラー-COMコンポーネントの呼び出しからHRESULTE_FAILが返されました

    3. sys.dm_os_host_info動的管理ビューを使用してSQLServerでオペレーティングシステムのバージョン情報を返す

    4. ユーザー@'localhost'のデータベース''へのアクセスが拒否されました