注意:
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 でデータベース テーブルに直接アクセスできるようにします。 詳細については、「データベース接続の作成」をご参照ください。