ore.grant
およびore.revoke
関数を使用すると、Oracle R Enterpriseのデータストアへのアクセス権を付与したり、取り消すことができます。
ore.grant
およびore.revoke
関数では、データストアへのアクセスを制御できます。自分が所有するデータストアへの読取りアクセス権を、指定したユーザーに付与したり、アクセス権限を取り消すことができます。関数ore.save
、ore.load
、ore.datastore
およびore.datastoreSummary
には、データストアのアクセス権に関連する引数があります。
注意:
ore.create
を使用して永続データベース表およびそのプロキシore.frame
オブジェクトを作成し、付与可能なデータストアにプロキシore.frame
オブジェクトを保存した後、ore.grant
を使用してデータストアへの読取りアクセス権を付与した場合、アクセス権はore.frame
オブジェクトにのみ適用されます。読取りアクセス権は、永続データベース表には拡張されません。表自体への読取り権限を付与するには、適切なSQLコマンドを実行する必要があります。
例2-19 データストアへのアクセス権の付与および取消し
この例では、ローカルのRセッションからOracleデータベースにairqualityデータセットをプッシュしますが、これは、ore.frame
オブジェクトAIRQUALITY
として、また、同じ名前の一時データベース表として存在します。この例では次に、AIRQUALITY
オブジェクトをデータストアds3
に保存し、そのデータストアへのアクセス権を他のユーザーに付与できるように指定します。type = grantable
を指定して関数ore.datastore
を呼び出し、読取りアクセス権が付与されているすべてのデータストアを表示します。ds3
データストアの読取り権限をSCOTTに付与します。その後、type = grant
を指定してore.datastore
を呼び出し、読取りアクセス権が付与されているデータストアを表示します。SCOTTの読取り権限を取り消し、アクセス権が付与されているデータストアを再度表示します。
AIRQUALITY <- ore.push(airquality) ore.save(AIRQUALITY, name = "ds3", description = "My datastore 3", grantable = TRUE) ore.datastore(type = "grantable") ore.datastore(type = "grant") ore.grant("ds3", type = "datastore", user = "SCOTT") ore.datastore(type = "grant") ore.revoke("ds3", type = "datastore", user = "SCOTT") ore.datastore(type = "grant")例2-19のリスト
R> AIRQUALITY <- ore.push(airquality) R> ore.save(AIRQUALITY, name = "ds3", + description = "My datastore 3", grantable = TRUE) R> ore.datastore(type = "grantable") datastore.name object.count size creation.date description 1 ds3 1 1451 2015-11-30 18:48:25 My datastore 3 R> ore.datastore(type = "grant") [1] datastore.name grantee <0 rows> (or 0-length row.names) R> ore.grant("ds3", type = "datastore", user = "SCOTT") R> ore.datastore(type = "grant") datastore.name grantee 1 ds3 SCOTT R> ore.revoke("ds3", type = "datastore", user = "SCOTT") R> ore.datastore(type = "grant") [1] datastore.name grantee <0 rows> (or 0-length row.names)