비고:
데이터베이스 연결은 Insights in ArcGIS Enterprise 및 Insights desktop에서 지원됩니다.
ArcGIS Insights에는 다음과 같은 두 가지 유형의 데이터 작업이 있습니다.
- 데이터 캐시를 사용하지 않고 관계형 데이터베이스의 콘텐츠에 연결하고 검색하기
- 데이터 캐시를 사용하여 관계형 데이터베이스의 콘텐츠에 연결하고 검색하기
데이터 캐시를 사용하여 관계형 데이터베이스의 콘텐츠에 연결 후 콘텐츠 찾기를 이용하면 Insights에서 데이터베이스의 임시 테이블을 생성하고 관리할 수 있습니다.
다음 테이블에는 관계형 데이터베이스에 연결하여 그 내용을 찾아보고 필요에 따라 Insights에서 데이터 캐시를 수행하는 데 필요한 최소 필수 권한이 나와 있습니다.
비고:
연결은 읽기 전용입니다. Insights에서는 데이터베이스의 데이터를 생성하거나 편집할 수 없습니다.
데이터 캐시를 수행하는 데 필요한 데이터베이스 권한이 없는 경우 배포의 호스팅 데이터 저장소에 데이터가 복사됩니다.
Google BigQuery
BigQuery에서 권한은 역할을 통해 사용자에게 적용됩니다. BigQuery에 데이터베이스 연결을 생성하는 사용자는 Basic 역할(Editor, Owner 또는 Viewer)의 권한 또는 Custom 역할에서 동등한 권한이 있어야 합니다.
Microsoft SQL Server
작업 유형 | 필요한 권한 | 목적 |
---|---|---|
데이터 캐시 사용 안 함 | CONNECT | 이 권한이 있는 사용자는 데이터베이스에 연결할 수 있습니다. 데이터베이스에 대한 CONNECT 권한은 기본 설정에 따라 공개 데이터베이스 역할에 부여됩니다. 이 권한을 공개 데이터베이스 역할에서 취소하는 경우에는 데이터베이스에 대한 CONNECT 권한을 특정 역할 및/또는 로그인에 분명하게 부여해야 합니다. |
다른 사용자의 테이블에 대한 SELECT | Data Viewer는 조회하고 쿼리하려는 특정 테이블에 대한 선택 권한이 필요합니다. 데이터베이스의 모든 테이블 읽기가 허용되는 경우 db_datareader 데이터베이스 역할에 사용자를 할당할 수 있습니다. 그렇지 않은 경우에는 특정 테이블과 뷰에 대한 SELECT를 부여합니다. | |
데이터 캐시 사용 비고:데이터 캐시를 사용하여 연결하려면 데이터 캐시를 사용하지 않고 연결하는 것에 대한 권한도 필요합니다. | 스키마에 대한 ALTER | ALTER 권한이 있으면 Insights에서 색인을 생성하고 사용자 스키마에서 임시 테이블을 관리할 수 있습니다. |
CREATE TABLE | CREATE TABLE 권한이 있으면 Insights에서 사용자 스키마의 임시 테이블이나 뷰를 생성할 수 있습니다. | |
INSERT | INSERT 권한이 있는 사용자는 데이터베이스의 테이블에 행을 삽입할 수 있습니다. | |
UPDATE | 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 SESSIONS 권한이 있는 사용자는 데이터베이스에 연결할 수 있습니다. Oracle 10g Release 2(10.2)부터 CONNECT 역할은 CREATE SESSION 권한만 갖습니다. |
다른 사용자의 테이블에 대한 SELECT | Data viewer는 특정 테이블에 대한 조회 및 쿼리를 위해 SELECT 권한이 필요합니다. | |
데이터 캐시 사용 비고:데이터 캐시를 사용하여 연결하려면 데이터 캐시를 사용하지 않고 연결하는 것에 대한 권한도 필요합니다. | CREATE TABLE* | CREATE TABLE 권한이 있으면 Insights에서 사용자 스키마에서 임시 테이블을 생성할 수 있습니다. *ALTER USER <username> QUOTA <size> ON <tablespace> 명령을 사용하여 적절한 할당량을 테이블스페이스의 사용자에게 할당합니다. |
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 | Data Viewer 사용자는 사용자 테이블을 포함하여 특정 스키마에 대한 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> | Data viewer는 특정 테이블에 대한 조회 및 쿼리를 위해 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에서 직접 데이터베이스 테이블에 접근할 수 있도록 데이터베이스에 연결을 생성하는 것입니다. 자세한 내용은 데이터베이스 연결 생성을 참고하세요.