必要なデータベース権限

Insights in ArcGIS Enterprise
Insights desktop
注意:

Insights in ArcGIS Enterprise および Insights desktop では、データベース接続はサポートされます。

ArcGIS Insights でのデータ操作には、次の 2 種類があります。

  • リレーショナル データベースのコンテンツに接続して閲覧する (データ キャッシュなし)
  • リレーショナル データベースのコンテンツに接続して閲覧する (データ キャッシュあり)

データ キャッシュを有効化してリレーショナル データベースのコンテンツに接続して参照する場合は、Insights でテンポラリ テーブルをデータベース内に作成して管理することができます。

リレーショナル データベースのコンテンツに接続して参照し、必要に応じて Insights でデータ キャッシュを実行できるようにするために、最低限必要となる権限を次の表に示します。

注意:

接続は読み取り専用です。 Insights では、データベース内にデータを作成したり、データベース内のデータを編集したりすることができません。

データ キャッシュの実行に必要なデータベース権限がない場合、データは配置されたホスト データ ストアにコピーされます。

Google BigQuery

BigQuery では、ロールを介してユーザーに権限が適用されます。 BigQuery へのデータベース接続を作成するユーザーには、基本ロールの権限 (編集者、所有者、閲覧者) またはカスタム ロールの同等の権限を付与する必要があります。

Microsoft SQL Server

操作のタイプ必要な権限目的

データ キャッシュなし

CONNECT

この権限でユーザーはデータベースに接続することができます。

データベースの CONNECT 権限は、デフォルトでパブリック データベース ロールに割り当てられます。 この権限をパブリックから削除する場合は、データベースの CONNECT 権限を明示的に特定のロールやログインに割り当てる必要があります。

他のユーザーのテーブルに対する SELECT

データ参照者には、表示および検索する必要のある特定のテーブルに対する SELECT 権限が必要です。

データベースのすべてのテーブルの読み取りを許可する場合は、ユーザーを db_datareader データベース ロールに割り当てることができます。それ以外の場合は、SELECT を特定のテーブルおよびビューに付与します。

データ キャッシュあり

注意:

データ キャッシュを行う接続には、データ キャッシュを実行しない場合の接続に必要な権限も必要です。

スキーマに関する ALTER

ALTER 権限がある場合は、Insights でユーザーのスキーマ内にインデックスを作成し、ユーザーのスキーマ内でテンポラリ テーブルを管理することができます。

CREATE TABLE

CREATE TABLE 権限がある場合は、Insights で一時テーブルまたはビューをユーザーのスキーマ内に作成することができます。

挿入

INSERT 権限により、ユーザーはデータベース内のテーブルに行を挿入できます。

更新

UPDATE 権限により、ユーザーはデータベース内のテーブルに UPDATE ステートメントを使用できます。

次の SQL コードは、SQL Server データベースに関する権限の付与方法の例を示しています。 データベース管理者はこれらの例をカスタマイズすることで、組織のデータベース ユーザーに権限を付与できます。

読み取り/書き込みユーザーへの権限付与:

use <databaseName>;
GO

GRANT CREATE TABLE TO <userName>;
GRANT ALTER ON SCHEMA::dbo TO <userName>;

EXEC sp_addrolemember N'db_datareader', N'<userName>';
EXEC sp_addrolemember N'db_datawriter', N'<userName>';
GO

データベース レベルで読み取り専用ユーザーに権限を付与:

use <databaseName>;
GO

EXEC sp_addrolemember N'db_datareader', N'<userName>';
GO

特定のテーブルに対する SELECT 権限を読み取り専用ユーザーに付与:

use <databaseName>;
GO

GRANT SELECT ON OBJECT::<schema>.<tableName1> TO <userName>;
GRANT SELECT ON OBJECT::<schema>.<tableName2> TO <userName>;

Oracle

操作のタイプ必要な権限目的

データ キャッシュなし

CONNECT ロールまたは CREATE SESSION

CONNECT ロールまたは CREATE SESSION により、ユーザーはデータベースに接続することができます。

Oracle 10g リリース 2 (10.2) 以降では、CONNECT ロールは CREATE SESSION 権限のみを持ちます。

他のユーザーのテーブルに対する SELECT

データ参照者には、表示および検索する必要のある特定のテーブルに対する SELECT 権限が必要です。

データ キャッシュあり

注意:

データ キャッシュを行う接続には、データ キャッシュを実行しない場合の接続に必要な権限も必要です。

CREATE TABLE*

CREATE TABLE 権限がある場合は、Insights で一時テーブルをユーザーのスキーマ内に作成することができます。

*コマンド ALTER USER <username> QUOTA <size> ON <tablespace> を使用して表領域内で適切な QUOTA をユーザーに割り当てます。

CREATE SEQUENCE

CREATE SEQUENCE 権限がある場合は、Insights で空間インデックスを作成できます。

次の SQL コードは、Oracle データベースに関する権限の付与方法の例を示しています。 データベース管理者はこれらの例をカスタマイズすることで、組織のデータベース ユーザーに権限を付与できます。

読み取り/書き込みユーザーへの権限付与:

GRANT CONNECT TO <userName>; 
GRANT CREATE TABLE TO <userName>; 
ALTER USER <userName> QUOTA <size> ON USERS; 
GRANT CREATE SEQUENCE TO <userName>;

読み取り専用ユーザーへの権限付与:

GRANT CONNECT TO <userName>; 
GRANT SELECT ON <schema>.<tableName> TO <userName>;

PostgreSQL

操作のタイプ必要な権限目的

データ キャッシュなし

データベースに対する CONNECT

この権限でユーザーはデータベースに接続することができます。

データベースに対する CONNECT 権限を特定のデータベース ログインに付与します。

ユーザーのスキーマに対する USAGE またはユーザーのテーブルに対する SELECT

データ参照者は、ユーザー テーブルを含む特定のスキーマに対する USAGE 権限が必要です。 または、表示および検索する特定のユーザー テーブルまたはビューに対する SELECT 権限が必要です。

特定のテーブルおよびビューに対する SELECT を付与します。

データ キャッシュあり

注意:

データ キャッシュを行う接続には、データ キャッシュを実行しない場合の接続に必要な権限も必要です。

スキーマに関する CREATE

CREATE 権限がある場合は、Insights でユーザーのスキーマ内にインデックスを作成してテンポラリ テーブルを管理することができます。

次の SQL コードは、PostgreSQL データベースに関する権限の付与方法の例を示しています。 データベース管理者はこれらの例をカスタマイズすることで、組織のデータベース ユーザーに権限を付与できます。

読み取り/書き込みユーザーへの権限付与:

GRANT CONNECT ON DATABASE <databaseName> TO <userName>;
GRANT USAGE ON SCHEMA <schemaName>TO <userName>;
GRANT CREATE ON SCHEMA <schemaName> TO <userName>;

読み取り専用ユーザーへの権限付与:

GRANT CONNECT ON DATABASE <databaseName> TO <userName>;
GRANT USAGE ON SCHEMA <schemaName>TO <userName>;   -- Give the access to all tables in the schema
GRANT SELECT ON <tableName> TO <userName>;  -- Or give the access to a specific table

SAP HANA

操作のタイプ必要な権限目的

データ キャッシュなし

SELECT ON sys.st_geometry_columns および sys.st_spatial_reference_systems

これらの権限は、空間処理用の ST_GEOMETRY メタデータを読み取る場合に必要です。

SELECT ON <table1>,<table2>, <tablen>

データ参照者には、表示および検索する必要のある特定のテーブルに対する SELECT 権限が必要です。

データ キャッシュあり

注意:

データ キャッシュを行う接続には、データ キャッシュを実行しない場合の接続に必要な権限も必要です。

CREATE TABLE

DROP TABLE

代わりに、ユーザーを HANA 標準ユーザーにする必要があります。

Insights を使用して、テーブルを独自のスキーマ内に作成したり、テーブルを独自のスキーマから削除したり、データを挿入したりすることができます。

次の SQL コードは、SAP HANA データベースに関する権限の付与方法の例を示しています。 データベース管理者はこれらの例をカスタマイズすることで、組織のデータベース ユーザーに権限を付与できます。

標準の読み取り/書き込みユーザーには、Insights を使用するのに必要なすべての権限が付与されます。

非標準ユーザー:

GRANT SELECT ON SCHEMA <schemaName> to <userName>;   -- executed by the schema owner 

GRANT SELECT ON sys.st_geometry_columns TO <userName>;   -- executed by SYSTEM account
GRANT SELECT ON sys.st_spatial_reference_systems TO <userName>;

Snowflake

Snowflake では、ロールを介してユーザーに権限が適用されます。 Snowflake へのデータベース接続を作成するユーザーのロールには、次の権限が含まれている必要があります。

必要な権限目的

<データベース> に対する USAGE

データベース内のテーブルにアクセスする場合に必要です。 データベースに対する USAGE は、データベース接続を作成するユーザーに付与する必要があります。

<スキーマ> に対する USAGE

スキーマからテーブルにアクセスする場合に必要です。

デフォルトのスキーマは PUBLIC です。

<テーブル> に対する SELECT

テーブルからデータを参照および検索する場合に必要です。 データベース接続で使用されるテーブルごとに SELECT を付与する必要があります。

<ウェアハウス> に対する USAGE

指定のウェアハウスでクエリを実行する場合に必要です。

次の SQL コードは、Snowflake データベースに関する権限の付与方法の例を示しています。 データベース管理者はこれらの例をカスタマイズすることで、組織のデータベース ユーザーに権限を付与できます。

データベース内のすべてのテーブルに対する権限を付与:

grant USAGE on DATABASE <databaseName> to role <roleName>;
grant USAGE on SCHEMA <schemaName> to role <roleName>;
grant SELECT ON ALL TABLES IN DATABASE <databaseName> to role <roleName>;
grant USAGE on WAREHOUSE <warehouseName> to role <roleName>;

次の手順

これで、データベース権限の確認と更新が終了しました。必要な場合は、次に、データベースへの接続を作成して、Insights でデータベース テーブルに直接アクセスできるようにします。 詳細については、「データベース接続の作成」をご参照ください。