

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 데이터 세트 작업
<a name="working-with-datasets"></a>

데이터 세트는 Quick Sight 분석의 기반이며 분석 및 대시보드를 지원하는 준비되고 구조화된 데이터 소스 역할을 합니다. 데이터 소스에서 데이터 세트를 생성한 후에는 수명 주기 동안 데이터 세트를 효과적으로 관리하여 안정적이고 안전하며 협업적인 분석을 보장해야 합니다.

이 섹션에서는 데이터 세트 편집 및 버전 관리부터 팀원과 데이터 세트 공유 및 보안 제어 구현에 이르기까지 전체 데이터 세트 관리 워크플로를 다룹니다. 협업 분석을 지원하면서 데이터 세트 무결성을 유지하고, 데이터 세트에 의존하는 분석을 추적하고, 행 수준 및 열 수준 보안을 구현하여 민감한 정보를 보호하는 방법을 알아봅니다. 팀 사용을 위한 데이터 세트를 준비하든, 분석 문제를 해결하든, 데이터 거버넌스 정책을 구현하든, 이러한 주제는 Quick Sight에서 효과적인 데이터 세트 관리를 위한 필수 지식을 제공합니다.

**Topics**
+ [데이터 세트 생성](creating-data-sets.md)
+ [데이터 세트 편집](edit-a-data-set.md)
+ [데이터 세트를 이전에 게시된 버전으로 되돌리기](dataset-versioning.md)
+ [데이터 세트 복제](duplicate-a-data-set.md)
+ [데이터 세트 공유](sharing-data-sets.md)
+ [데이터 세트를 사용하는 대시보드 및 분석 추적](track-analytics-that-use-dataset.md)
+ [Amazon Quick에서 데이터 세트 파라미터 사용](dataset-parameters.md)
+ [Amazon Quick에서 행 수준 보안 사용](row-level-security.md)
+ [열 수준 보안을 사용하여 데이터세트에 대한 액세스 제한](restrict-access-to-a-data-set-using-column-level-security.md)
+ [Amazon Quick에서 IAM 역할로 쿼리 실행](datasource-run-as-role.md)
+ [데이터 세트 삭제](delete-a-data-set.md)
+ [분석에 데이터 세트 추가](adding-a-data-set-to-an-analysis.md)

# 데이터 세트 생성
<a name="creating-data-sets"></a>

 Amazon Quick의 새 데이터 소스 또는 기존 데이터 소스에서 데이터 세트를 생성할 수 있습니다. 다양한 데이터베이스 데이터 소스를 사용하여 Amazon Quick에 데이터를 제공할 수 있습니다. 여기에는 Amazon RDS 인스턴스와 Amazon Redshift 클러스터가 포함됩니다. 또한 조직, Amazon EC2 또는 유사한 환경의 MariaDB, Microsoft SQL Server, MySQL, Oracle 및 PostgreSQL 인스턴스도 포함됩니다.

**Topics**
+ [새 데이터 소스를 사용하여 데이터 세트 생성](creating-data-sets-new.md)
+ [기존 데이터 소스를 사용하여 데이터 세트 생성](create-a-data-set-existing.md)
+ [Amazon Quick에서 기존 데이터 세트를 사용하여 데이터 세트 생성](create-a-dataset-existing-dataset.md)

# 새 데이터 소스를 사용하여 데이터 세트 생성
<a name="creating-data-sets-new"></a>

Amazon RDS, Amazon Redshift 또는 Amazon EC2와 같은 AWS 서비스를 기반으로 데이터 세트를 생성하는 경우 해당 소스의 데이터를 사용할 때 데이터 전송 요금이 적용될 수 있습니다. 이러한 요금은 해당 AWS 리소스가 Amazon Quick 계정에 대해 AWS 리전 선택한 홈에 있는지 여부에 따라 달라질 수도 있습니다. 요금에 대한 자세한 내용은 해당 서비스에 대한 요금 페이지를 참조하십시오.

새 데이터베이스 데이터 세트를 생성하는 경우 테이블을 한 개만 선택하거나, 여러 테이블을 조인하거나, SQL 쿼리를 만들어 원하는 데이터를 검색할 수 있습니다. 또한 데이터 세트가 직접 쿼리를 사용하거나 [SPICE](spice.md)에 데이터를 저장할지 여부를 변경할 수도 있습니다.

**데이터세트 생성**

1. 데이터 세트를 생성하려면 **데이터 페이지에서 새 데이터 세트를** 선택합니다. **** 그런 다음 기존 데이터 세트 또는 데이터 소스를 기반으로 데이터 세트를 생성하거나 새 데이터 소스에 연결해 해당 데이터 소스를 기반으로 데이터 세트를 생성할 수 있습니다.

1. 데이터 소스에 연결 정보를 제공합니다.
   + 로컬 텍스트 또는 Microsoft Excel 파일의 경우 간단하게 파일 위치를 식별하여 파일을 업로드할 수 있습니다.
   + Amazon S3의 경우 사용하려는 파일 또는 버킷을 식별하는 매니페스트와 대상 파일에 대한 가져오기 설정을 제공해야 합니다.
   + Amazon Athena의 경우 AWS 계정에 대한 모든 Athena 데이터베이스가 반환됩니다. 추가 자격 증명은 필요하지 않습니다.
   + Salesforce의 경우 연결에 사용할 자격 증명을 제공합니다.
   + Amazon Redshift, Amazon RDS, Amazon EC2 또는 기타 데이터베이스 데이터 소스의 경우 데이터를 호스팅하는 서버 및 데이터베이스에 대한 정보를 제공합니다. 또한 해당 데이터베이스 인스턴스에 대해 유효한 보안 인증 정보를 제공합니다.

# 데이터베이스에서 데이터 세트 생성
<a name="create-a-database-data-set"></a>

다음 절차는 데이터베이스 데이터 소스에 연결하고 데이터 세트를 생성하는 방법을 안내합니다. Amazon Quick 계정이 자동 검색한 AWS 데이터 소스에서 데이터 세트를 생성하려면를 사용합니다[자동 검색된 Amazon Redshift 클러스터 또는 Amazon RDS 인스턴스에서 데이터 세트 생성](#create-a-data-set-autodiscovered). 다른 데이터베이스 데이터 소스에서 데이터 세트를 생성하려면 [자동으로 검색되지 않은 데이터베이스를 사용하여 데이터 세트 생성](#create-a-data-set-database)을(를) 사용하십시오.

## 자동 검색된 Amazon Redshift 클러스터 또는 Amazon RDS 인스턴스에서 데이터 세트 생성
<a name="create-a-data-set-autodiscovered"></a>

자동 검색된 AWS 데이터 소스에 연결하려면 다음 절차에 따르십시오.

**자동 검색된 AWS 데이터 소스에 대한 연결을 생성하려면**

1. 대상 테이블 또는 쿼리가 데이터 소스 할당량을 초과하지 않도록 [데이터 소스 할당량](data-source-limits.md)을(를) 확인합니다.

1. 사용하려는 데이터베이스 자격 증명이 [필수 권한](required-permissions.md)에 설명된 대로 적절한 권한이 있는지 확인합니다.

1. 의 지침에 따라 Amazon Quick Access용 클러스터 또는 인스턴스를 구성했는지 확인합니다[네트워크 및 데이터베이스 구성 요구 사항](configure-access.md).

1. Amazon 빠른 시작 페이지에서 **데이터를** 선택합니다.

1. **생성을 ** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. 연결하려는 AWS 서비스에 따라 **RDS** 또는 **Redshift 자동 검색** 아이콘을 선택합니다.

1. 다음과 같이 데이터 원본의 연결 정보를 입력합니다.
   + **Data source name(데이터 소스 이름)**에 데이터 소스의 이름을 입력합니다.
   + **인스턴스 ID**에서 연결할 인스턴스 또는 클러스터의 이름을 선택합니다.
   + [**Database name**]은 [**Instance ID**] 클러스터 또는 인스턴스에 대한 기본 데이터베이스를 표시합니다. 해당 클러스터 또는 인스턴스에서 다른 데이터베이스를 사용하려면 해당 이름을 입력합니다.
   + **사용자 이름**에 다음을 수행할 수 있는 권한이 있는 사용자 계정의 사용자 이름을 입력합니다.
     + 대상 데이터베이스에 액세스합니다.
     + 사용하려는 해당 데이터베이스의 테이블을 읽습니다(`SELECT` 문 수행).
   + **암호**에 입력한 계정의 암호를 입력합니다.

1. [**Validate connection**]을 선택하여 연결 정보가 올바른지 확인합니다.

1. 연결이 확인되면 [**Create data source**]를 선택합니다. 그렇지 않은 경우 연결 정보를 수정하고 다시 확인합니다.
**참고**  
Amazon Quick은 Secure Sockets Layer(SSL)를 사용하여 Amazon RDS 인스턴스 및 Amazon Redshift 클러스터에 대한 연결을 자동으로 보호합니다. 이 기능을 활성화하는 데 어떤 조치도 필요하지 않습니다.

1. 다음 중 하나를 선택합니다.
   + **사용자 지정 SQL**

     다음 화면에서 **사용자 지정 SQL 사용** 옵션으로 쿼리 작성을 선택합니다. 이렇게 하면 쿼리 이름과 SQL을 입력할 수 있는 **Enter custom SQL query(사용자 지정 SQL 쿼리 입력)**라는 이름의 화면이 열립니다. 최상의 결과를 얻으려면 SQL 편집기에 쿼리를 작성한 다음 이 창에 붙여 넣습니다. 이름과 쿼리를 입력한 후 **데이터 편집/미리 보기**나 **쿼리 확인**을 선택할 수 있습니다. **데이터 편집/미리 보기**를 선택하면 즉시 데이터를 준비할 수 있습니다. **쿼리 확인**을 선택하면 SQL에 오류가 없는지 확인할 수 있습니다.
   + **테이블 선택**

     특정 테이블에 연결하려면, **스키마: 테이블 세트 포함**에서 **선택**을 선택한 다음 스키마를 선택합니다. 데이터베이스에 단일 스키마만 있는 몇몇 경우, 해당 스키마가 자동으로 선택되고 스키마 선택 옵션이 표시되지 않습니다.

     분석을 만들기 전에 데이터를 준비하려면 [**Edit/Preview data**]를 선택하여 데이터 준비를 엽니다. 테이블을 더 많이 조인하려면 이 옵션을 사용합니다.

     그렇지 않으면 테이블을 선택한 다음 **선택**을 선택합니다.

1. 다음 옵션 중 하나를 선택하세요.
   + 분석을 생성하기 전에 데이터를 준비합니다. 이렇게 하려면 **Edit/Preview data(데이터 편집/미리 보기)**를 선택하여 선택한 테이블에 대한 데이터 준비를 엽니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.
   + 테이블 데이터를 있는 그대로 사용하여 데이터 세트 및 분석을 생성하고 성능 향상을 위해 데이터 세트 데이터를 SPICE(으)로 가져옵니다(권장). 이렇게 하려면 테이블 크기와 SPICE 표시기를 확인하여 충분한 용량이 있는지 확인합니다.

     SPICE 용량이 충분하면 더 빠른 분석을 위해 SPICE로 가져오기를 선택한 다음 시각화를 사용하여 분석을 생성합니다.
**참고**  
SPICE를 사용하고 싶지만 공간이 부족한 경우 **데이터 편집/미리 보기**를 선택합니다. 데이터 준비 시 데이터 세트에서 필드를 제거하여 크기를 줄일 수 있습니다. 필터를 적용하거나 반환되는 행 또는 열 수를 줄이는 SQL 쿼리를 작성할 수도 있습니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.
   + 테이블 데이터를 있는 그대로 사용하여 데이터 세트 및 분석을 생성하고 데이터베이스에서 직접 데이터를 쿼리할 수 있도록 하려면, **데이터 직접 쿼리** 옵션을 선택합니다. 그런 다음 **Visualize(시각화)**를 선택하여 분석을 생성합니다.

## 자동으로 검색되지 않은 데이터베이스를 사용하여 데이터 세트 생성
<a name="create-a-data-set-database"></a>

자동으로 검색된 Amazon Redshift 클러스터 또는 Amazon RDS 인스턴스 이외의 다른 데이터베이스에 연결하려면 다음 절차에 따르십시오. 이러한 데이터베이스에는 Amazon Redshift 클러스터와 다른에 AWS 리전 있거나 다른 AWS 계정과 연결된 Amazon RDS 인스턴스가 포함됩니다. 또한 온프레미스, Amazon EC2 또는 다른 액세스 가능한 환경의 MariaDB, Microsoft SQL Server, MySQL, Oracle 및 PostgreSQL 인스턴스도 포함됩니다.

**자동 검색된 Amazon Redshift 클러스터 또는 RDS 인스턴스가 아닌 데이터베이스에 대한 연결 생성하기**

1. 대상 테이블 또는 쿼리가 데이터 소스 할당량을 초과하지 않도록 [데이터 소스 할당량](data-source-limits.md)을(를) 확인합니다.

1. 사용하려는 데이터베이스 자격 증명이 [필수 권한](required-permissions.md)에 설명된 대로 적절한 권한이 있는지 확인합니다.

1. 의 지침에 따라 Amazon Quick Access용 클러스터 또는 인스턴스를 구성했는지 확인합니다[네트워크 및 데이터베이스 구성 요구 사항](configure-access.md).

1. Amazon 빠른 시작 페이지에서 **데이터 관리를** 선택합니다.

1. **생성을 ** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. 다른의 Amazon **Redshift 클러스터에 연결하거나 다른 계정과 연결하려면 Redshift 수동** 연결 아이콘을 선택합니다. AWS 리전 AWS 또는 해당 데이터베이스 관리 시스템 아이콘을 선택하여 Amazon Aurora, MariaDB, Microsoft SQL Server, MySQL, Oracle 또는 PostgreSQL의 인스턴스에 연결합니다.

1. 다음과 같이 데이터 원본의 연결 정보를 입력합니다.
   + **Data source name(데이터 소스 이름)**에 데이터 소스의 이름을 입력합니다.
   + **Database server(데이터베이스 서버)**에 다음 값 중 하나를 입력합니다.
     + Amazon Redshift 클러스터 또는 Amazon RDS 인스턴스의 경우, 포트 번호 없이 클러스터 또는 인스턴스의 엔드포인트를 입력합니다. 예를 들어, 엔드포인트 값이 `clustername.1234abcd.us-west-2.redshift.amazonaws.com:1234`인 경우 `clustername.1234abcd.us-west-2.redshift.amazonaws.com`을(를) 입력합니다. AWS 콘솔의 클러스터 또는 인스턴스 세부 정보 페이지의 **엔드포인트** 필드에서 엔드포인트 값을 가져올 수 있습니다.
     + MariaDB, Microsoft SQL Server, MySQL, Oracle 또는 PostgreSQL의 Amazon EC2 인스턴스에는 퍼블릭 DNS 주소를 입력합니다. Amazon EC2 콘솔의 인스턴스 세부 정보 창의 **퍼블릭 DNS** 필드에서 퍼블릭 DNS 값을 가져올 수 있습니다.
     + MariaDB, Microsoft SQL Server, MySQL, Oracle 또는 PostgreSQL의 비 Amazon EC2 인스턴스에는 데이터베이스 서버의 호스트 이름 또는 퍼블릭 IP 주소를 입력합니다. 안전한 연결을 위해 Secure Sockets Layer(SSL)을 사용하는 경우(권장), SSL 인증서에 필요한 정보와 일치하는 호스트 이름을 입력해야 할 수 있습니다. 수락되는 인증서 목록은 [Amazon Quick SSL 및 CA 인증서](configure-access.md#ca-certificates) 단원을 참조하십시오.
   + **포트**에 클러스터 또는 인스턴스가 연결에 사용하는 포트를 입력합니다.
   + **데이터베이스 이름**에 사용할 데이터베이스의 이름을 입력합니다.
   + **사용자 이름**에 다음을 수행할 수 있는 권한이 있는 사용자 계정의 사용자 이름을 입력합니다.
     + 대상 데이터베이스에 액세스합니다.
     + 사용하려는 해당 데이터베이스의 테이블을 읽습니다(`SELECT` 문 수행).
   + **암호**에 입력한 계정과 연결된 암호를 입력합니다.

1. (선택 사항) Amazon Redshift 클러스터 이외에 다른 것에 연결 중이거나 보안 연결을 원하지 않는 경우 **SSL 활성화**를 선택 취소해야 합니다. 하지만, 비보안 연결은 변조될 가능성이 있으므로 *이 항목을 선택한 상태로 두는 것이 좋습니다*.

   대상 인스턴스가 SSL을 사용하는 방법에 대한 자세한 내용은 대상 데이터베이스 관리 시스템에 대한 문서를 참조하십시오. Amazon Quick은 자체 서명된 SSL 인증서를 유효한 것으로 수락하지 않습니다. 수락되는 인증서 목록은 [Amazon Quick SSL 및 CA 인증서](configure-access.md#ca-certificates) 단원을 참조하십시오.

   Amazon Quick은 SSL을 사용하여 Amazon Redshift 클러스터에 대한 연결을 자동으로 보호합니다. 이 기능을 활성화하는 데 어떤 조치도 필요하지 않습니다.

   Presto 및 Apache Spark와 같은 일부 데이터베이스는 Amazon Quick이 연결하기 전에 추가 요구 사항을 충족해야 합니다. 자세한 내용은 [Presto를 사용하여 데이터 소스 생성](create-a-data-source-presto.md) 또는 [Apache Spark를 사용하여 데이터 소스 생성](create-a-data-source-spark.md) 단원을 참조하십시오.

1. (선택 사항) [**Validate connection**]을 선택하여 연결 정보가 올바른지 확인합니다.

1. 연결이 확인되면 [**Create data source**]를 선택합니다. 그렇지 않은 경우 연결 정보를 수정하고 다시 확인합니다.

1. 다음 중 하나를 선택합니다.
   + **사용자 지정 SQL**

     다음 화면에서 **사용자 지정 SQL 사용** 옵션으로 쿼리 작성을 선택합니다. 이렇게 하면 쿼리 이름과 SQL을 입력할 수 있는 **Enter custom SQL query(사용자 지정 SQL 쿼리 입력)**라는 이름의 화면이 열립니다. 최상의 결과를 얻으려면 SQL 편집기에 쿼리를 작성한 다음 이 창에 붙여 넣습니다. 이름과 쿼리를 입력한 후 **데이터 편집/미리 보기**나 **쿼리 확인**을 선택할 수 있습니다. **데이터 편집/미리 보기**를 선택하면 즉시 데이터를 준비할 수 있습니다. **쿼리 확인**을 선택하면 SQL에 오류가 없는지 확인할 수 있습니다.
   + **테이블 선택**

     특정 테이블에 연결하려면, **스키마: 테이블 세트 포함**에서 **선택**을 선택한 다음 스키마를 선택합니다. 데이터베이스에 단일 스키마만 있는 몇몇 경우, 해당 스키마가 자동으로 선택되고 스키마 선택 옵션이 표시되지 않습니다.

     분석을 만들기 전에 데이터를 준비하려면 [**Edit/Preview data**]를 선택하여 데이터 준비를 엽니다. 테이블을 더 많이 조인하려면 이 옵션을 사용합니다.

     그렇지 않으면 테이블을 선택한 다음 **선택**을 선택합니다.

1. 다음 옵션 중 하나를 선택하세요.
   + 분석을 생성하기 전에 데이터를 준비합니다. 이렇게 하려면 **Edit/Preview data(데이터 편집/미리 보기)**를 선택하여 선택한 테이블에 대한 데이터 준비를 엽니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.
   + 테이블 데이터를 있는 그대로 사용하여 데이터 세트 및 분석을 생성하고 성능 향상을 위해 데이터 세트 데이터를 SPICE(으)로 가져옵니다(권장). 이렇게 하려면 테이블 크기와 SPICE 표시기를 확인하여 충분한 공간이 있는지 확인합니다.

     SPICE 용량이 충분하면 더 빠른 분석을 위해 SPICE로 가져오기를 선택한 다음 시각화를 사용하여 분석을 생성합니다.
**참고**  
SPICE를 사용하고 싶지만 공간이 부족한 경우 **데이터 편집/미리 보기**를 선택합니다. 데이터 준비 시 데이터 세트에서 필드를 제거하여 크기를 줄일 수 있습니다. 필터를 적용하거나 반환되는 행 또는 열 수를 줄이는 SQL 쿼리를 작성할 수도 있습니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.
   + 테이블 데이터를 있는 그대로 사용하여 데이터 세트 및 분석을 생성하고 데이터베이스에서 직접 데이터를 쿼리합니다. 이렇게 하려면 **Directly query your data(데이터 직접 쿼리)** 옵션을 선택합니다. 그런 다음 **Visualize(시각화)**를 선택하여 분석을 생성합니다.

# 기존 데이터 소스를 사용하여 데이터 세트 생성
<a name="create-a-data-set-existing"></a>

Salesforce, AWS 데이터 스토어 또는 기타 데이터베이스 데이터 소스에 처음 연결한 후 Amazon Quick은 연결 정보를 저장합니다. **데이터 세트 생성** 페이지의 **기존 데이터 소스에서 생성** 섹션에 데이터 소스가 추가됩니다. 이러한 기존 데이터 소스를 사용하여 연결 정보를 다시 지정하지 않고 새 데이터 세트를 생성할 수 있습니다.

## 기존 Amazon S3 데이터 소스를 사용하여 데이터 세트 생성
<a name="create-a-data-set-existing-s3"></a>

기존 Amazon S3 데이터 소스를 사용하여 데이터 세트를 생성하려면 다음 절차에 따르십시오.

**기존 S3 데이터 소스를 사용하여 데이터 세트 생성하기**

1. Amazon 빠른 시작 페이지에서 **데이터를** 선택합니다.

1. **생성을** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. 사용할 Amazon S3 데이터 소스를 선택합니다.

1. 데이터 세트를 만들기 전에 데이터를 준비하려면 **데이터 편집/미리 보기**를 선택합니다. 데이터를 있는 그대로 사용하여 분석을 생성하려면 **Visualize(시각화)**를 선택합니다.

## 기존 Amazon Athena 데이터 소스를 사용하여 데이터 세트 생성
<a name="create-a-data-set-existing-athena"></a>

기존 Amazon Athena 데이터 소스를 사용하여 데이터 세트를 생성하려면 다음 절차를 따르십시오.

**기존 Athena 연결 프로필에서 데이터 세트 생성하기**

1. Amazon 빠른 시작 페이지에서 **데이터를** 선택합니다.

1. **생성을 ** 선택한 다음 **새 데이터 세트를** 선택합니다.

   사용하려는 기존 데이터 소스의 연결 프로필 아이콘을 선택합니다. 연결 프로필에는 데이터 소스 아이콘과 연결을 만든 사람이 제공한 이름이 레이블로 표시됩니다.

1. **데이터 세트 생성**을 선택합니다.

   Amazon Quick은 Athena 작업 그룹만을 기반으로이 데이터 소스에 대한 연결 프로파일을 생성합니다. 데이터베이스와 테이블은 저장되지 않습니다.

1. **테이블 선택** 화면에서 다음 중 하나를 수행하십시오.
   + SQL 쿼리를 작성하려면 **사용자 지정 SQL 사용**을 선택합니다.
   + 데이터베이스와 테이블을 선택하려면 먼저 데이터베이스 목록에서 **데이터베이스**를 선택합니다. 그런 다음, 데이터베이스에 대해 나타나는 목록에서 테이블을 선택합니다.

## 기존 Salesforce 데이터 소스를 사용하여 데이터 세트 생성
<a name="create-a-data-set-existing-salesforce"></a>

기존 Salesforce 데이터 소스를 사용하여 데이터 세트를 생성하려면 다음 절차에 따르십시오.

**기존 Salesforce 데이터 소스를 사용하여 데이터 세트를 생성하기**

1. Amazon 빠른 시작 페이지에서 **데이터를** 선택합니다.

1. **생성을 ** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. 사용할 Salesforce 데이터 소스를 선택합니다.

1. [**Create Data Set**]를 선택합니다.

1. 다음 중 하나를 선택합니다.
   + **사용자 지정 SQL**

     다음 화면에서 **사용자 지정 SQL 사용** 옵션으로 쿼리 작성을 선택합니다. 이렇게 하면 쿼리 이름과 SQL을 입력할 수 있는 **Enter custom SQL query(사용자 지정 SQL 쿼리 입력)**라는 이름의 화면이 열립니다. 최상의 결과를 얻으려면 SQL 편집기에 쿼리를 작성한 다음 이 창에 붙여 넣습니다. 이름과 쿼리를 입력한 후 **데이터 편집/미리 보기**나 **쿼리 확인**을 선택할 수 있습니다. **데이터 편집/미리 보기**를 선택하면 즉시 데이터를 준비할 수 있습니다. **쿼리 확인**을 선택하면 SQL에 오류가 없는지 확인할 수 있습니다.
   + **테이블 선택**

     특정 테이블에 연결하려면 **데이터 요소: 데이터 포함**에서 **선택**을 선택한 다음 **보고** 또는 **객체**를 선택합니다.

     분석을 만들기 전에 데이터를 준비하려면 [**Edit/Preview data**]를 선택하여 데이터 준비를 엽니다. 테이블을 더 많이 조인하려면 이 옵션을 사용합니다.

     그렇지 않으면 테이블을 선택한 다음 **선택**을 선택합니다.

1. 다음 화면에서 다음 옵션 중 하나를 선택합니다.
   + 데이터를 원본 그대로 사용하여 데이터 세트와 분석을 만들려면 **시각화**를 선택합니다.
**참고**  
[SPICE](spice.md) 용량이 부족한 경우 [**Edit/Preview data**]를 선택합니다. 데이터 준비 중에 데이터 세트에서 필드를 지워 크기를 줄이거나, 반환되는 행의 수를 줄이는 필터를 적용할 수 있습니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.
   + 분석을 만들기 전에 데이터를 준비하려면 [**Edit/Preview data**]를 선택하여, 선택한 보고서나 객체의 데이터 준비를 엽니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.

## 기존 데이터베이스 데이터 소스를 사용하여 데이터 세트 생성
<a name="create-a-data-set-existing-database"></a>

기존 데이터베이스 데이터 소스를 사용하여 데이터 세트를 생성하려면 다음 절차에 따르십시오.

**기존 데이터베이스 데이터 소스를 사용하여 데이터 세트 생성하기**

1. Amazon 빠른 시작 페이지에서 **데이터를** 선택합니다.

1. **생성을** 선택한 다음 **새 데이터 세트를** 선택합니다.

1. 사용할 데이터베이스 데이터 소스를 선택한 다음 **데이터 세트 생성을** 선택합니다.

1. 다음 중 하나를 선택합니다.
   + **사용자 지정 SQL**

     다음 화면에서 **사용자 지정 SQL 사용** 옵션으로 쿼리 작성을 선택합니다. 이렇게 하면 쿼리 이름과 SQL을 입력할 수 있는 **Enter custom SQL query(사용자 지정 SQL 쿼리 입력)**라는 이름의 화면이 열립니다. 최상의 결과를 얻으려면 SQL 편집기에 쿼리를 작성한 다음 이 창에 붙여 넣습니다. 이름과 쿼리를 입력한 후 **데이터 편집/미리 보기**나 **쿼리 확인**을 선택할 수 있습니다. **데이터 편집/미리 보기**를 선택하면 즉시 데이터를 준비할 수 있습니다. **쿼리 확인**을 선택하면 SQL에 오류가 없는지 확인할 수 있습니다.
   + **테이블 선택**

     특정 테이블에 연결하려면, **스키마: 테이블 세트 포함**에서 **선택**을 선택한 다음 스키마를 선택합니다. 데이터베이스에 단일 스키마만 있는 몇몇 경우, 해당 스키마가 자동으로 선택되고 스키마 선택 옵션이 표시되지 않습니다.

     분석을 만들기 전에 데이터를 준비하려면 [**Edit/Preview data**]를 선택하여 데이터 준비를 엽니다. 테이블을 더 많이 조인하려면 이 옵션을 사용합니다.

     그렇지 않으면 테이블을 선택한 다음 **선택**을 선택합니다.

1. 다음 옵션 중 하나를 선택하세요.
   + 분석을 생성하기 전에 데이터를 준비합니다. 이렇게 하려면 **Edit/Preview data(데이터 편집/미리 보기)**를 선택하여 선택한 테이블에 대한 데이터 준비를 엽니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.
   + 테이블 데이터를 있는 그대로 사용하여 데이터 세트 및 분석을 생성하고 성능 향상을 위해 데이터 세트 데이터를 [SPICE](spice.md)(으)로 가져옵니다(권장). 이렇게 하려면 SPICE 표시기를 확인하여 충분한 공간이 있는지 확인합니다.

     SPICE 용량이 충분하면 더 빠른 분석을 위해 SPICE로 가져오기를 선택한 다음 시각화를 사용하여 분석을 생성합니다.
**참고**  
SPICE를 사용하고 싶지만 공간이 부족한 경우 **데이터 편집/미리 보기**를 선택합니다. 데이터 준비 시 데이터 세트에서 필드를 제거하여 크기를 줄일 수 있습니다. 필터를 적용하거나 반환되는 행 또는 열 수를 줄이는 SQL 쿼리를 작성할 수도 있습니다. 데이터 준비에 대한 자세한 내용은 [데이터 세트 준비 예제](preparing-data-sets.md) 단원을 참조하십시오.
   + 테이블 데이터를 있는 그대로 사용하여 데이터 세트 및 분석을 생성하고 데이터베이스에서 직접 데이터를 쿼리합니다. 이렇게 하려면 **Directly query your data(데이터 직접 쿼리)** 옵션을 선택합니다. 그런 다음 **Visualize(시각화)**를 선택하여 분석을 생성합니다.

# Amazon Quick에서 기존 데이터 세트를 사용하여 데이터 세트 생성
<a name="create-a-dataset-existing-dataset"></a>

Amazon Quick에서 데이터 세트를 생성한 후 이를 소스로 사용하여 추가 데이터 세트를 생성할 수 있습니다. 이렇게 하면 상위 데이터 세트에 포함된 모든 데이터 준비(예: 조인 또는 계산된 필드)가 보관됩니다. 새 데이터 조인 및 데이터 필터링과 같은 추가 준비를 새 하위 데이터 세트의 데이터에 추가할 수 있습니다. 또한 하위 데이터 세트에 대한 자체 데이터 새로 고침 일정을 설정하고 이를 사용하는 대시보드 및 분석을 추적할 수 있습니다.

RLS 규칙이 소스로 활성화된 데이터 세트를 사용하여 만든 하위 데이터 세트는 상위 데이터 세트의 RLS 규칙을 상속합니다. 더 큰 상위 데이터 세트에서 하위 데이터 세트를 만드는 사용자는 상위 데이터 세트에서 액세스할 수 있는 데이터만 볼 수 있습니다. 그런 다음 상속된 RLS 규칙 외에도 새 하위 데이터 세트에 더 많은 RLS 규칙을 추가하여 새 데이터 세트에 있는 데이터에 액세스할 수 있는 사용자를 추가로 관리할 수 있습니다. Direct Query에서 RLS 규칙을 활성화한 데이터 세트에서만 하위 데이터 세트를 만들 수 있습니다.

기존 Quick 데이터 세트에서 데이터 세트를 생성하면 다음과 같은 이점이 있습니다.
+ **데이터 세트의 중앙 관리** - 데이터 엔지니어는 조직 내 여러 팀의 요구에 맞게 쉽게 확장할 수 있습니다. 이를 위해 조직의 주요 데이터 모델을 설명하는 몇 가지 범용 데이터 세트를 개발하고 유지 관리할 수 있습니다.
+ **데이터 소스 관리 감소** - 비즈니스 분석가(BAs)는 데이터베이스 액세스를 요청하고, 데이터베이스 자격 증명을 관리하고, 올바른 테이블을 찾고, 빠른 데이터 새로 고침 일정을 관리하는 데 많은 시간과 노력을 소비하는 경우가 많습니다. 기존 데이터 세트를 기반으로 새 데이터 세트를 구축하면 BA가 데이터베이스의 원시 데이터로 처음부터 시작할 필요가 없습니다. 큐레이션된 데이터로 시작할 수 있습니다.
+ **사전 정의된 주요 지표** - 데이터 엔지니어는 기존 데이터 세트에서 데이터 세트를 생성하여 회사의 여러 조직 전반에서 중요한 데이터 정의를 중앙에서 정의하고 유지할 수 있습니다. 매출 성장과 순 한계 수익률을 예로 들 수 있습니다. 이 기능을 사용하면 데이터 엔지니어가 해당 정의의 변경 내용을 배포할 수도 있습니다. 이 접근 방식을 통해 비즈니스 분석가는 올바른 데이터를 보다 빠르고 안정적으로 시각화하는 작업을 시작할 수 있습니다.
+ **데이터를 사용자 지정하는 유연성** - 기존 데이터 세트에서 데이터 세트를 생성함으로써 비즈니스 분석가는 자신의 비즈니스 요구 사항에 맞게 데이터 세트를 보다 유연하게 사용자 지정할 수 있습니다. 이를 통해 다른 팀의 데이터가 손상될 염려를 피할 수 있습니다.

예를 들어 데이터 엔지니어 5명으로 구성된 전자 상거래 중앙 팀의 일원이라고 가정해 보겠습니다. 팀과 함께 데이터베이스의 판매, 주문, 취소 및 반품 데이터에 액세스할 수 있습니다. 스키마를 통해 다른 차원 테이블 18개를 조인하여 빠른 데이터 세트를 생성했습니다. 팀에서 만든 주요 지표는 계산된 필드인 주문 제품 판매(OPS)입니다. 정의는 다음과 같습니다. OPS = 제품 수량 x 가격.

귀사의 팀은 8개국의 10개 팀에 소속된 100명 이상의 비즈니스 분석가에게 서비스를 제공합니다. 이들은 쿠폰 팀, 아웃바운드 마케팅 팀, 모바일 플랫폼 팀, 추천 팀입니다. 이 모든 팀은 OPS 지표를 기반으로 자체 비즈니스 라인을 분석합니다.

수백 개의 연결되지 않은 데이터 세트를 수동으로 만들고 유지 관리하는 대신, 팀은 데이터 세트를 재사용하여 조직 전체의 팀을 위한 여러 수준의 데이터 세트를 만듭니다. 이렇게 하면 데이터 관리가 중앙 집중화되고 각 팀이 각자의 필요에 맞게 데이터를 사용자 지정할 수 있습니다. 이와 동시에 지표 정의 업데이트와 같은 데이터 업데이트가 동기화되고 행 수준 및 열 수준의 보안이 유지됩니다. 예를 들어, 조직의 개별 팀이 중앙화된 데이터 세트를 사용할 수 있습니다. 그런 다음 팀별 데이터와 결합하여 새 데이터세트를 만들고 그 위에 분석을 구축할 수 있습니다.

주요 OPS 지표를 사용하는 것 외에도 조직의 다른 팀은 사용자가 만든 중앙 집중식 데이터 세트의 열 메타데이터를 재사용할 수 있습니다. 예를 들어 데이터 엔지니어링 팀은 이름, 설명, 데이터 유형 및 폴더와 같은 메타데이터를 중앙 집중식 데이터 세트에 정의할 수 있습니다. 이후의 모든 팀에서 이 데이터를 사용할 수 있습니다.

**참고**  
Amazon Quick은 단일 데이터 세트에서 최대 2개의 추가 데이터 세트 수준 생성을 지원합니다.  
예를 들어 상위 데이터 세트에서 하위 데이터 세트를 생성한 다음 총 3개의 데이터 세트 수준에 대한 최하위 데이터 세트를 생성할 수 있습니다.

## 기존 데이터 세트에서 데이터 세트 생성
<a name="create-a-dataset-existing-dataset-how-to"></a>

기존 데이터 세트에서 데이터 세트를 생성하려면 다음 절차를 따르십시오.

**기존 데이터 세트에서 데이터 세트 생성하기**

1. 빠른 시작 페이지의 왼쪽 창에서 **데이터를** 선택합니다.

1. **생성을** 선택한 다음 새 데이터 세트를 생성하는 데 사용할 데이터 세트를 선택합니다.

1. 해당 데이터 세트에 대해 열리는 페이지에서 **분석에 사용**의 드롭다운 메뉴를 선택한 다음 **데이터 세트에서 사용**을 선택합니다.

   데이터 준비 페이지가 열리고 계산된 필드, 조인, 보안 설정을 비롯한 상위 데이터 세트의 모든 항목이 미리 로드됩니다.

1. 표시되는 데이터 준비 페이지에서 왼쪽 하단의 **쿼리 모드**에서 데이터 세트에 원본 상위 데이터 세트의 변경 사항 및 업데이트를 가져오는 방법을 선택합니다. 다음과 같은 옵션을 선택할 수 있습니다.
   + **직접 쿼리** - 기본 쿼리 모드입니다. 이 옵션을 선택하면 관련 데이터 세트, 분석 또는 대시보드를 열 때 이 데이터 세트의 데이터가 자동으로 새로 고쳐집니다. 단, 다음 제한 사항이 적용됩니다.
     + 상위 데이터 세트에서 직접 쿼리를 허용하는 경우 하위 데이터 세트에서 직접 쿼리 모드를 사용할 수 있습니다.
     + 조인에 상위 데이터 세트가 여러 개 있는 경우 모든 부모가 동일한 기본 데이터 소스에서 가져온 경우에만 하위 데이터 세트에 대한 직접 쿼리 모드를 선택할 수 있습니다. 동일한 Amazon Redshift 연결을 예로 들 수 있습니다.
     + 단일 SPICE 상위 데이터 세트에 대해 직접 쿼리가 지원됩니다. 조인의 여러 SPICE 상위 데이터 세트에는 지원되지 않습니다.
   + **SPICE** - 이 옵션을 선택하면 새 데이터 세트가 상위 데이터 세트와 동기화되도록 일정을 설정할 수 있습니다. 데이터 세트의 SPICE 새로 고침 일정 만들기에 대한 자세한 내용은 [SPICE 데이터 새로 고침](refreshing-imported-data.md)을(를) 참조하십시오.

1. (선택 사항) 분석을 위해 데이터를 준비합니다. 데이터 준비에 대한 자세한 내용은 [Amazon Quick Sight에서 데이터 준비](preparing-data.md)을(를) 참조하십시오.

1. (선택 사항) 행 수준 또는 열 수준 보안(RLS/CLS)을 설정하여 데이터 세트에 대한 액세스를 제한합니다. ELS 설정에 대한 자세한 내용은 [사용자 기반 규칙과 함께 행 수준 보안을 사용하여 데이터세트 액세스 제한사용자 기반 규칙 사용](restrict-access-to-a-data-set-using-row-level-security.md)을(를) 참조하십시오. CLS 설정에 대한 자세한 내용은 [열 수준 보안을 사용하여 데이터세트에 대한 액세스 제한](restrict-access-to-a-data-set-using-column-level-security.md)을(를) 참조하십시오.
**참고**  
하위 데이터 세트에만 RLS/CLS를 설정할 수 있습니다. 상위 데이터 세트의 RLS/CLS는 지원되지 않습니다.

1. 작업을 마치면 **저장 및 게시**를 선택하여 변경 내용을 저장하고 새 하위 데이터 세트를 게시합니다. 또는 **게시 및 시각화**를 선택하여 새 하위 데이터 세트를 게시하고 데이터 시각화를 시작합니다.

# 다른 사람이 데이터 세트에서 새 데이터 세트를 만들지 못하도록 제한하기
<a name="restrict-create-dataset"></a>

Amazon Quick에서 데이터 세트를 생성할 때 다른 사용자가 이를 다른 데이터 세트의 소스로 사용하지 못하도록 할 수 있습니다. 다른 사람이 이 데이터를 사용하여 데이터세트를 생성할 수 있는지 여부를 지정할 수 있습니다. 또는 직접 쿼리 데이터 세트 또는 SPICE 데이터 세트와 같이 다른 사람이 내 데이터 세트에서 만들 수 있거나 만들 수 없는 데이터 세트의 유형을 지정할 수 있습니다.

다음 절차를 사용하여 다른 사람이 데이터 세트에서 새 데이터 세트를 만들지 못하도록 제한하는 방법을 알아보세요.

**다른 사람이 데이터 세트에서 새 데이터 세트를 만드는 것을 제한하기**

1. 빠른 시작 페이지의 왼쪽 창에서 **데이터를** 선택합니다.

1. **생성을** 선택한 다음 새 데이터 세트 생성을 제한할 데이터 세트를 선택합니다.

1. 해당 데이터 세트에 대해 열리는 페이지에서 **데이터 세트 편집**을 선택합니다.

1. 표시되는 데이터 준비 페이지에서 오른쪽 상단의 **관리**를 선택한 다음 **속성**을 선택합니다.

1. 표시되는 **데이터 세트 속성** 창에서 다음 옵션 중 하나를 선택합니다.
   + 다른 사용자가 이 데이터 세트로 새 데이터 세트를 만들지 못하도록 제한하려면 **이 데이터 세트에서 새 데이터 세트를 만들 수 있도록 허용**을 끄세요.

     새 데이터 세트를 만들 수 있는 경우 토글이 파란색으로 표시됩니다. 새 데이터 세트를 만들 수 없는 경우 회색으로 표시됩니다.
   + 다른 사람이 직접 쿼리 데이터 세트를 만들지 못하도록 제한하려면 **직접 쿼리 허용**을 선택 해제하세요.
   + 다른 사람이 데이터 세트 SPICE 사본을 만들지 못하도록 제한하려면 **SPICE 사본 허용**을 선택 해제하세요.

     SPICE 데이터 세트에 관한 자세한 내용은 [SPICE로 데이터 가져오기](spice.md)을(를) 참조하십시오.

1. 창을 닫습니다.

# 데이터 세트 편집
<a name="edit-a-data-set"></a>

기존 데이터 세트를 편집하여 데이터 준비를 수행할 수 있습니다. Quick Sight 데이터 준비 기능에 대한 자세한 내용은 섹션을 참조하세요[Amazon Quick Sight에서 데이터 준비](preparing-data.md).

**데이터 세트** 페이지 또는 분석 페이지에서 편집할 데이터 세트를 열 수 있습니다. 두 위치 중 한 곳에서 데이터 세트를 편집하면 해당 데이터 세트를 사용하는 모든 분석에서도 수정됩니다.

## 데이터세트를 편집할 때 고려해야 할 사항
<a name="change-a-data-set"></a>

두 가지 상황에서 데이터 세트 변경으로 문제가 발생할 수 있습니다. 하나는 데이터 세트를 의도적으로 편집하는 경우입니다. 다른 하나는 데이터 소스가 너무 많이 변경되어 이를 기반으로 하는 분석에 영향을 주는 경우입니다.

**중요**  
프로덕션을 사용 중인 분석이 계속 올바르게 작동하려면 보호되어야 합니다.

데이터 변경을 처리해야 하는 경우 다음 내용을 숙지하십시오.
+ 데이터 소스, 데이터 세트, 이를 기반으로 하는 시각적 객체를 문서화합니다. 문서에는 스크린샷, 사용한 필드, 필드 모음의 배치, 필터, 정렬, 계산, 색상, 형식 등이 포함되어야 합니다. 시각적 객체를 다시 생성해야 하는 모든 것을 기록합니다. 데이터 세트 관리 옵션에서 데이터 세트를 사용하는 Quick Sight 리소스를 추적할 수도 있습니다. 자세한 내용은 [데이터 세트를 사용하는 대시보드 및 분석 추적](track-analytics-that-use-dataset.md) 단원을 참조하십시오.
+ 데이터 세트를 편집할 때, 기존 시각적 객체를 손상시키지 않도록 변경하십시오. 예를 들어, 시각적 객체에서 사용 중인 열을 제거하지 마십시오. 특정 열을 제거해야만 한다면, 그 자리를 대신할 열을 계산해 만듭니다. 대체 열의 이름과 데이터 형식은 원본과 동일해야 합니다.
+ 원본 데이터베이스에서 데이터 소스이나 데이터 세트가 변경된 경우, 앞서 설명한 대로 변경 내용에 맞게 시각적 객체를 수정해야 합니다. 또는 원본 데이터베이스를 수정할 수도 있습니다. 예를 들어 원본 테이블(문서)의 보기를 만들 수 있습니다. 이 경우, 테이블이 변경되면 열(속성)을 포함하거나 제외하도록 보기를 조정하고, 데이터 형식을 변경하고, Null 값을 채우는 작업 등을 수행할 수 있습니다. 또는 데이터 세트가 느린 SQL 쿼리를 기반으로 하는 경우, 쿼리 결과를 보관할 테이블을 만들 수 있습니다.

  데이터의 소스를 충분히 조정할 수 없는 경우 분석 문서를 기반으로 한 시각적 객체를 다시 생성합니다.
+ 데이터 소스에 더 이상 액세스할 수 없는 경우 소스를 기반으로 한 분석은 비게 됩니다. 이전에 만든 시각적 객체는 계속 존재하지만, 표시할 데이터가 있을 때까지는 표시되지 않습니다. 관리자가 권한을 변경한 경우 이러한 결과가 발생할 수 있습니다.
+ 시각적 객체가 기반으로 하는 데이터 세트를 제거하는 경우 문서에서 이를 다시 생성해야 할 수 있습니다. 시각적 객체를 편집하고, 함께 사용할 새 데이터 세트를 선택할 수 있습니다. 이전 파일을 대체할 새 파일을 지속적으로 생성해야 하는 경우 지속적으로 사용 가능한 위치에 데이터를 저장합니다. 예를 들어 Amazon S3에 .csv 파일을 저장하고 시각적 객체에 사용할 S3 데이터 세트를 생성할 수 있습니다. S3에 저장된 파일 액세스에 대한 자세한 내용은 [Amazon S3 파일을 사용하여 데이터 세트 생성](create-a-data-set-s3.md) 단원을 참조하십시오.

  또는 데이터를 테이블로 가져오고 쿼리를 시각적 객체의 기반으로 삼을 수 있습니다. 이러한 방법으로 데이터 구조에 포함된 데이터가 변경되더라도 데이터 구조는 변경되지 않습니다.
+ 데이터 관리를 중앙 집중화하려면 다른 사람들이 자체 데이터 세트를 만드는 데 사용할 수 있는 범용 다목적 데이터 세트를 만드는 것을 고려해 보십시오. 자세한 내용은 [Amazon Quick에서 기존 데이터 세트를 사용하여 데이터 세트 생성](create-a-dataset-existing-dataset.md) 단원을 참조하십시오.

## 데이터 세트 페이지에서 데이터 세트 편집
<a name="edit-a-data-set-data"></a>

1. 빠른 시작 페이지에서 왼쪽의 **데이터를** 선택합니다.

1. 열리는 **데이터** 페이지에서 편집하려는 데이터 세트를 선택한 다음 오른쪽 상단의 **데이터 세트 편집**을 선택합니다.

   데이터 준비 페이지가 열립니다. 데이터 세트에 적용할 수 있는 편집 유형에 대한 자세한 내용은 [Amazon Quick Sight에서 데이터 준비](preparing-data.md)을(를) 참조하십시오.

## 분석에서 데이터 세트 편집
<a name="edit-a-data-set-analysis"></a>

분석 페이지에서 데이터 세트를 편집하려면 다음 절차에 따르십시오.

**분석 페이지에서 데이터 세트 편집하기**

1. 분석에서 **필드 목록** 창 맨 위의 연필 모양 편집 아이콘을 선택합니다.

1. 표시되는 **이 분석의 데이터 세트** 페이지에서 편집하려는 데이터 세트의 오른쪽에 있는 세 개의 점을 선택한 다음 **편집**을 선택합니다.

   데이터 세트는 데이터 준비 페이지에서 열립니다. 데이터 세트를 편집할 수 있는 유형에 대한 자세한 내용은 [Amazon Quick Sight에서 데이터 준비](preparing-data.md)을(를) 참조하십시오.

# 데이터 세트를 이전에 게시된 버전으로 되돌리기
<a name="dataset-versioning"></a>

Amazon Quick Sight에서 데이터 세트에 대한 변경 사항을 저장하고 게시하면 새 버전의 데이터 세트가 생성됩니다. 언제든지 해당 데이터 세트의 이전에 게시된 모든 버전의 목록을 볼 수 있습니다. 또한 해당 기록에서 특정 버전을 미리 보거나 필요한 경우 데이터 세트를 이전 버전으로 되돌릴 수도 있습니다.

데이터 세트 버전 관리에는 다음과 같은 제한이 적용됩니다.
+ 게시 기록에는 데이터 세트의 최신 1,000개 버전만 표시되며 관리할 수 있습니다.
+ 게시된 버전이 1,000개를 초과하면 가장 오래된 버전이 게시 기록에서 자동으로 제거되며 데이터 세트를 더 이상 해당 버전으로 되돌릴 수 없습니다.

데이터 세트를 이전에 게시된 버전으로 되돌리려면 다음 절차를 따르세요.

**데이터 세트를 이전에 게시된 버전으로 되돌리기**

1. 빠른 시작 페이지에서 **데이터를** 선택합니다.

1. **데이터** 페이지에서 데이터 세트를 선택한 다음 오른쪽 상단의 **데이터 세트 편집**을 선택합니다.

   데이터 세트 편집에 대한 자세한 내용은 [데이터 세트 편집](edit-a-data-set.md)을(를) 참조하십시오.

1. 표시되는 데이터 세트 준비 페이지에서 오른쪽 상단의 파란색 도구 모음에서 **관리** 아이콘을 선택한 다음 **게시 기록**을 선택합니다.

   이전에 게시된 버전 목록이 오른쪽에 표시됩니다.

1. **게시 기록** 창에서 원하는 버전을 찾은 다음 **되돌리기**를 선택합니다.

   되돌리기 전에 버전을 미리 보려면 **미리 보기**를 선택합니다.

   데이터 세트를 되돌리고 확인 메시지가 나타납니다. **게시 기록** 창도 업데이트되어 데이터 세트의 활성 버전을 표시합니다.

## 버전 되돌리기 문제 해결
<a name="dataset-versioning-troubleshooting"></a>

다음과 같은 이유로 데이터 세트를 특정 버전으로 되돌릴 수 없는 경우가 있습니다.
+ 데이터 세트에는 삭제된 데이터 소스가 하나 이상 사용됩니다.

  이 오류가 발생하는 경우 데이터 세트를 이전 버전으로 되돌릴 수 없습니다.
+ 되돌리면 계산된 필드가 유효하지 않게 됩니다.

  이 오류가 발생하는 경우 계산된 필드를 편집하거나 제거한 다음 데이터 세트를 저장할 수 있습니다. 이렇게 하면 새로운 버전의 데이터 세트가 생성됩니다.
+ 데이터 소스에서 하나 이상의 열이 누락되었습니다.

  이 오류가 발생하면 Quick Sight는 버전 간의 차이를 조정하기 위해 미리 보기에 데이터 소스의 최신 스키마를 표시합니다. 스키마 미리 보기에 표시된 계산 필드, 필드 이름, 필드 유형 및 필터 변경 사항은 되돌리려는 버전의 것입니다. 이 조정된 스키마를 데이터 세트의 새 버전으로 저장할 수 있습니다. 또는 게시 기록의 최상위(최신) 버전에서 **미리보기**를 선택하여 활성(최신) 버전으로 돌아갈 수 있습니다.

# 데이터 세트 복제
<a name="duplicate-a-data-set"></a>

기존 데이터 세트를 복사해 새 이름으로 사본을 저장할 수 있습니다. 새 데이터 세트는 완전히 별개인 사본입니다.

데이터 세트를 소유하고 있고 데이터 소스에 대한 권한을 가지고 있다는 두 가지 조건이 모두 참이면 **데이터 세트 복제** 옵션을 사용할 수 있습니다.

**데이터 세트 복제하기**

1. 빠른 시작 페이지에서 왼쪽의 **데이터를** 선택합니다.

1. 복제할 데이터 세트를 선택합니다.

1. 열리는 데이터 세트 세부 정보 페이지에서 **데이터 세트 편집** 드롭다운을 선택한 다음 **복제를** 선택합니다.

1. 표시되는 데이터 세트 복제 페이지에서 복제된 데이터 세트에 이름을 지정한 다음 **복제**를 선택합니다.

   복제된 데이터 세트의 세부 정보 페이지가 열립니다. 이 페이지에서 데이터 세트를 편집하고 새로 고침 일정을 설정하는 등의 작업을 수행할 수 있습니다.

# 데이터 세트 공유
<a name="sharing-data-sets"></a>

다른 Quick Sight 사용자 및 그룹에 데이터 세트를 공유하여 데이터 세트에 대한 액세스 권한을 부여할 수 있습니다. 그런 다음 해당 사용자가 데이터 세트에서 분석을 생성할 수 있습니다. 사용자를 공동 소유자로 지정한 경우 사용자가 데이터 세트를 새로 고치거나, 편집하거나, 삭제하거나, 다시 공유할 수도 있습니다.

## 데이터 세트 공유
<a name="share-a-data-set"></a>

데이터 세트에 대한 소유자 권한이 있는 경우, 다음 절차에 따라 공유할 수 있습니다.

**데이터 세트 공유하기**

1. 빠른 시작 페이지에서 왼쪽의 **데이터를** 선택합니다.

1. **데이터** 페이지에서 공유하려는 데이터 세트를 선택합니다.

1. 표시되는 데이터 세트 세부정보 페이지에서 **권한** 탭을 선택한 다음 **사용자 및 그룹 추가**를 선택합니다.

1. 이 데이터 세트를 공유할 사용자 또는 그룹을 입력한 다음 **추가**를 선택합니다. 동일한 Quick 계정에 속한 사용자만 초대할 수 있습니다.

   데이터 세트를 공유할 모든 사람에 대한 정보를 입력할 때까지 이 단계를 반복하십시오.

1. **권한** 열에서 데이터 세트에 대한 권한을 부여하려는 각 사용자 또는 그룹의 역할을 선택합니다.

   사용자가 데이터 세트에서 분석 및 데이터 세트를 생성하도록 허용하려면 **뷰어**를 선택합니다. 사용자가 위의 작업 외에도 데이터 세트를 새로 고치고, 편집하고, 삭제하고, 다시 공유할 수 있도록 하려면 **소유자**를 선택합니다.

   사용자는 데이터 세트 링크가 포함된 이메일을 수신합니다. 그룹은 초대 이메일을 받지 않습니다.

# 데이터 세트가 공유되는 사용자의 권한 보기 및 편집
<a name="view-users-data-set"></a>

데이터 세트에 대한 소유자 권한이 있는 경우, 다음 절차에 따라 데이터 세트에 대한 사용자 액세스 권한을 보거나, 편집하거나, 변경할 수 있습니다.

**소유자 권한이 있는 경우 데이터 세트에 대한 사용자 접근 권한을 보거나 수정하거나 변경합니다**

1. 빠른 시작 페이지에서 왼쪽의 **데이터를** 선택합니다.

1. **데이터** 페이지에서 공유하려는 데이터 세트를 선택합니다.

1. 표시되는 데이터 세트 세부정보 페이지에서 **권한** 탭을 선택합니다.

   데이터 세트에 액세스할 수 있는 모든 사용자 및 그룹의 목록이 표시됩니다.

1. (선택 사항) 사용자 또는 그룹의 권한 역할을 변경하려면 사용자 또는 그룹의 **권한** 열에서 드롭다운 메뉴를 선택합니다. 그런 다음 **뷰어** 또는 **소유자**를 선택합니다.

# 데이터 세트에 대한 액세스 권한 취소
<a name="revoke-access-to-a-data-set"></a>

데이터 세트에 대한 소유자 권한이 있는 경우, 다음 절차에 따라 데이터 세트에 대한 사용자 액세스 권한을 취소할 수 있습니다.

**데이터 세트에 대한 소유자 권한이 있는 경우 데이터 세트에 대한 사용자 접근 권한을 취소하기**

1. 빠른 시작 페이지에서 왼쪽의 **데이터를** 선택합니다.

1. **데이터** 페이지에서 공유하려는 데이터 세트를 선택합니다.

1. 표시되는 데이터 세트 세부정보 페이지에서 **권한** 탭을 선택합니다.

   데이터 세트에 액세스할 수 있는 모든 사용자 및 그룹의 목록이 표시됩니다.

1. 해당 사용자의 **작업** 또는 그룹 열에서 **액세스 복구**를 선택합니다.

# 데이터 세트를 사용하는 대시보드 및 분석 추적
<a name="track-analytics-that-use-dataset"></a>

Quick Sight에서 데이터 세트를 생성할 때 해당 데이터 세트를 사용하는 대시보드 및 분석을 추적할 수 있습니다. 이 접근 방식은 데이터 세트를 변경할 때 어떤 리소스가 영향을 받는지 확인하거나 데이터 세트를 삭제하려는 경우에 유용합니다.

다음 절차를 사용하여 어떤 대시보드와 분석에서 데이터 세트를 사용하는지 확인하세요.

**데이터 세트를 사용하는 리소스를 추적하기**

1. 빠른 시작 페이지의 왼쪽 창에서 **데이터를** 선택합니다.

1. **데이터** 페이지에서 리소스를 추적할 데이터 세트를 선택합니다.

1. 해당 데이터 세트에 대해 열리는 페이지에서 **데이터 세트 편집**을 선택합니다.

1. 표시되는 데이터 준비 페이지에서 오른쪽 상단의 **관리**를 선택한 다음 **사용량**을 선택합니다.

1. 해당 데이터 세트를 사용하는 대시보드와 분석이 표시되는 창에 나열됩니다.

# Amazon Quick에서 데이터 세트 파라미터 사용
<a name="dataset-parameters"></a>

Amazon Quick에서 작성자는 직접 쿼리에서 데이터 세트 파라미터를 사용하여 데이터 세트를 동적으로 사용자 지정하고 재사용 가능한 로직을 데이터 세트에 적용할 수 있습니다. 데이터 세트 파라미터는 데이터세트 수준에서 생성된 파라미터입니다. 이 데이터는 제어, 계산된 필드, 필터, 액션, URL, 제목, 설명을 통해 분석 파라미터에서 사용됩니다. 분석 파라미터에 대한 자세한 내용은 [Amazon Quick의 파라미터](parameters-in-quicksight.md)을(를) 참조하십시오. 다음 목록은 데이터 세트 파라미터로 수행할 수 있는 세 가지 작업을 설명합니다.
+  **직접 쿼리의 사용자 지정 SQL** - 데이터 세트 소유자는 직접 쿼리 데이터세트의 사용자 지정 SQL에 데이터 세트 파라미터를 삽입할 수 있습니다. 이러한 파라미터가 빠른 분석의 필터 컨트롤에 적용되면 사용자는 사용자 지정 데이터를 더 빠르고 효율적으로 필터링할 수 있습니다.
+ **반복 가능한 변수** — 데이터 세트 페이지의 여러 위치에 나타나는 정적 값을 사용자 지정 데이터 세트 파라미터를 사용하여 한 번의 작업으로 수정할 수 있습니다.
+ **계산된 필드를 데이터 세트로 이동** - 빠른 작성자는 분석의 파라미터가 있는 계산된 필드를 복사하여 데이터 세트 수준으로 마이그레이션할 수 있습니다. 이를 통해 분석 수준의 계산된 필드가 실수로 수정되는 것을 방지하고 계산된 필드를 여러 분석에서 공유할 수 있습니다.

경우에 따라 데이터 세트 파라미터를 사용하면 복잡한 사용자 지정 SQL이 필요한 직접 쿼리 데이터 세트에 대한 필터 제어 성능이 향상되고 데이터 세트 수준에서 비즈니스 로직이 단순화됩니다.

**Topics**
+ [데이터세트 파라미터 제한](#dataset-parameters-limitations)
+ [Amazon Quick에서 데이터 세트 파라미터 생성](dataset-parameters-SQL.md)
+ [데이터세트 파라미터를 사용자 지정 SQL에 삽입](dataset-parameters-insert-parameter.md)
+ [데이터세트 파라미터를 계산된 필드에 추가](dataset-parameters-calculated-fields.md)
+ [데이터세트를 필터에 추가](dataset-parameters-dataset-filters.md)
+ [빠른 분석에서 데이터 세트 파라미터 사용](dataset-parameters-analysis.md)
+ [데이터 세트 파라미터의 고급 사용 사례](dataset-parameters-advanced-options.md)

## 데이터세트 파라미터 제한
<a name="dataset-parameters-limitations"></a>

이 섹션에서는 Amazon Quick에서 데이터 세트 파라미터를 사용할 때 발생할 수 있는 알려진 제한 사항을 다룹니다.
+ 대시보드 리더가 이메일 보고서를 예약할 때 선택한 컨트롤이 이메일에 첨부된 보고서에 포함된 데이터 세트 파라미터에 전파되지 않습니다. 그 대신 파라미터의 기본값이 사용됩니다.
+ SPICE에 저장된 데이터 세트의 사용자 지정 SQL에는 데이터 세트 파라미터를 삽입할 수 없습니다.
+ 동적 기본값은 데이터 세트를 사용하는 분석의 분석 페이지에서만 구성할 수 있습니다. 데이터 세트 수준에서는 동적 기본값을 구성할 수 없습니다.
+ 데이터 세트 파라미터에 매핑되는 분석 파라미터의 다중값 컨트롤에서는 **모두 선택** 옵션이 지원되지 않습니다.
+ 데이터 세트 파라미터에는 계단식 제어가 지원되지 않습니다.
+ 데이터 세트가 직접 쿼리를 사용하는 경우 데이터 세트 필터에서만 데이터 세트 파라미터를 사용할 수 있습니다.
+ 사용자 지정 SQL 쿼리에서는 128개의 데이터세트 파라미터만 사용할 수 있습니다.

# Amazon Quick에서 데이터 세트 파라미터 생성
<a name="dataset-parameters-SQL"></a>

다음 절차를 사용하여 데이터 세트 파라미터 사용을 시작하십시오.

**새 파라미터 생성하기**

1. 빠른 시작 페이지에서 왼쪽의 **데이터를** 선택하고 변경하려는 데이터 세트 옆에 있는 줄임표(점 3개)를 선택한 다음 **편집**을 선택합니다.

1. 표시되는 **데이터 세트** 페이지에서 왼쪽의 **파라미터**를 선택한 다음 (\$1) 아이콘을 선택하여 새 데이터 세트 파라미터를 생성합니다.

1. 표시되는 **새 파라미터 생성** 팝업의 **이름** 상자에 파라미터 이름을 입력합니다.

1. **데이터 유형** 드롭다운에서 원하는 파라미터 데이터 유형을 선택합니다. `String`, `Integer`, `Number` 및 `Datetime` 데이터 형식은 지원되지 않습니다. 파라미터를 생성한 후에는 이 옵션을 변경할 수 없습니다.

1. **기본값**에는 파라미터에 포함하려는 기본값을 입력합니다.
**참고**  
데이터 세트 파라미터를 분석 파라미터에 매핑할 때 다른 기본값을 선택할 수 있습니다. 이 경우 여기에 구성된 기본값이 새 기본값으로 재정의됩니다.

1. **값**의 경우 파라미터에 포함하려는 값 유형을 선택합니다. **단일 값** 파라미터는 단일 선택 드롭다운, 텍스트 필드 및 목록 컨트롤을 지원합니다. **다중 값** 파라미터는 다중 선택 드롭다운 제어를 지원합니다. 파라미터를 생성한 후에는 이 옵션을 변경할 수 없습니다.

1. 새로운 파라미터 구성을 모두 마쳤으면 **생성**을 선택하여 파라미터를 생성합니다.

# 데이터세트 파라미터를 사용자 지정 SQL에 삽입
<a name="dataset-parameters-insert-parameter"></a>

SQL 문에서 `<<$parameter_name>>`을(를) 참조하여 직접 쿼리 모드에서 데이터 세트의 사용자 지정 SQL에 데이터 세트 파라미터를 삽입할 수 있습니다. 런타임 시 대시보드 사용자는 데이터 세트 파라미터와 연결된 필터 제어 값을 입력할 수 있습니다. 그러면 값이 SQL 쿼리로 전파된 후 대시보드 시각적 객체에서 결과를 확인할 수 있습니다. 파라미터를 사용하여 `where` 조항에 대한 고객 입력을 기반으로 기본 필터를 만들 수 있습니다. `case when` 또는 `if else`절을 추가하여 파라미터 입력에 따라 SQL 쿼리의 로직을 동적으로 변경할 수 있습니다.

예를 들어 최종 사용자의 리전 이름을 기준으로 데이터를 필터링하는 `WHERE`절을 사용자 지정 SQL에 추가한다고 가정해 보겠습니다. 이 경우 `RegionName`(이)라고 하는 다음과 같은 단일 값 파라미터를 생성합니다.

```
SELECT *
FROM transactions
WHERE region = <<$RegionName>>
```

사용자가 파라미터에 여러 값을 제공하도록 할 수도 있습니다.

```
SELECT *
FROM transactions
WHERE region in (<<$RegionNames>>)
```

다음의 좀 더 복잡한 예제에서 데이터 세트 작성자는 대시보드 필터 제어에서 선택할 수 있는 사용자의 이름과 성을 기준으로 두 개의 데이터 세트 파라미터를 두 번 참조합니다.

```
SELECT Region, Country, OrderDate, Sales
FROM transactions
WHERE region=
(Case
WHEN <<$UserFIRSTNAME>> In 
    (select firstname from user where region='region1') 
    and <<$UserLASTNAME>> In 
    (select lastname from user where region='region1') 
    THEN 'region1'
WHEN <<$UserFIRSTNAME>> In 
    (select firstname from user where region='region2') 
    and <<$UserLASTNAME>> In 
    (select lastname from user where region='region2') 
    THEN 'region2'
ELSE 'region3'
END)
```

또한 `SELECT` 절의 파라미터를 사용하여 사용자 입력으로 데이터 세트에 새 열을 만들 수 있습니다.

```
SELECT Region, Country, date, 
    (case 
    WHEN <<$RegionName>>='EU'
    THEN sum(sales) * 0.93   --convert US dollar to euro
    WHEN <<$RegionName>>='CAN'
    THEN sum(sales) * 0.78   --convert US dollar to Canadian Dollar
    ELSE sum(sales) -- US dollar
    END
    ) as "Sales"
FROM transactions
WHERE region = <<$RegionName>>
```

사용자 지정 SQL 쿼리를 만들거나 데이터 세트 파라미터를 추가하기 전에 기존 쿼리를 수정하려면 [SQL을 사용하여 데이터 사용자 지정](adding-a-SQL-query.md)을(를) 참조하십시오.

데이터 세트 파라미터와 함께 사용자 지정 SQL을 적용하면 `<<$parameter_name>>`이(가) 자리 표시자 값으로 사용됩니다. 사용자가 컨트롤에서 파라미터 값 중 하나를 선택하면 Quick은 자리 표시자를 사용자가 대시보드에서 선택한 값으로 바꿉니다.

다음 예제에서 사용자는 데이터를 상태별로 필터링하는 새로운 사용자 지정 SQL 쿼리를 입력합니다.

```
select * from all_flights
where origin_state_abr = <<$State>>
```

파라미터의 기본값이 SQL 쿼리에 적용되고 결과가 **미리 보기 창**에 표시됩니다.

# 데이터세트 파라미터를 계산된 필드에 추가
<a name="dataset-parameters-calculated-fields"></a>

`${parameter_name}` 형식을 사용하여 계산된 필드 표현식에 데이터 세트 파라미터를 추가할 수도 있습니다.

계산을 생성할 때 **파라미터 목록** 아래 파라미터 목록의 기존 파라미터에서 선택할 수 있습니다. 다중 값 파라미터를 포함하는 계산된 필드를 함께 생성할 수 없습니다.

계산된 필드에 대한 자세한 내용은 계산된 [Amazon Quick의 파라미터와 함께 계산된 필드 사용](parameters-calculated-fields.md)을(를) 참조하십시오.

# 데이터세트를 필터에 추가
<a name="dataset-parameters-dataset-filters"></a>

직접 쿼리 모드의 데이터 세트의 경우 데이터 세트 작성자는 사용자 지정 SQL 없이 필터에서 데이터세트 파라미터를 사용할 수 있습니다. 데이터 세트가 SPICE에 있는 경우 데이터 세트 파라미터를 필터에 추가할 수 없습니다.

**데이터 세트 파라미터를 필터에 추가하기**

1. 필터를 생성하려는 데이터 세트의 데이터 세트를 엽니다. 왼쪽에서 **필터**를 선택한 다음 **필터 추가**를 선택합니다.

1. 필터에 적용할 이름을 입력하고 드롭다운에서 필터링할 필드를 선택합니다.

1. 새 필터를 만든 후 **필터** 패널에서 필터로 이동하여 필터 옆의 줄임표(점 3개)를 선택한 다음 **편집**을 선택합니다.

1. **필터 유형**에 대해 **필터 사용자 지정**을 선택합니다.

1. **필터 조건**에서 원하는 조건을 선택합니다.

1. **파라미터 사용** 상자를 선택하고 필터에서 사용할 데이터 세트 파리미터를 선택합니다.

1. 변경을 마치면 **적용**을 선택합니다.

# 빠른 분석에서 데이터 세트 파라미터 사용
<a name="dataset-parameters-analysis"></a>

데이터 세트 파라미터를 생성한 후 분석에 데이터 세트를 추가한 후 데이터 세트 파라미터를 새 분석 파라미터 또는 기존 분석 파라미터에 매핑합니다. 데이터 세트 파라미터를 분석 파라미터에 매핑한 후 필터, 컨트롤 및 기타 분석 파라미터 기능과 함께 사용할 수 있습니다.

파라미터가 속한 데이터 세트를 사용하는 분석의 **파라미터** 패널에서 데이터 세트 파라미터를 관리할 수 있습니다. **파라미터** 창의 **데이터 세트 파라미터** 섹션에서 매핑되지 않은 데이터 세트 파라미터(기본값)만 표시하도록 선택할 수 있습니다. 또는 **보기** 드롭다운에서 **모두**를 선택하여 매핑된 데이터 세트 파라미터와 매핑되지 않은 데이터 세트 파라미터를 모두 표시하도록 선택할 수도 있습니다.

## 새로운 빠른 분석에서 데이터 세트 파라미터 매핑
<a name="dataset-parameters-map-to-analysis"></a>

파라미터가 포함된 데이터 세트에서 새 분석을 생성할 때는 데이터 세트 파라미터를 분석에 매핑해야 사용할 수 있습니다. 파라미터가 포함된 데이터 세트를 분석에 추가할 때도 마찬가지입니다. 분석의 파라미터 창에서 분석의 매핑되지 않은 모든 **파라미터**를 볼 수 있습니다. 또는 분석을 만들거나 데이터 세트를 추가할 때 페이지 오른쪽 상단에 나타나는 알림 메시지에서 **보기**를 선택할 수도 있습니다.

**데이터 세트 파라미터를 분석 파라미터에 매핑하기**

1. [Quick 콘솔](https://quicksight.aws.amazon.com/)을 엽니다.

1. 변경하려는 분석을 선택합니다.

1. **파라미터** 아이콘을 선택하여 **파라미터** 창을 엽니다.

1. 매핑하려는 데이터 세트 파라미터 옆의 줄임표(점 3개)를 선택하고 **맵 파라미터**를 선택한 다음 데이터 세트 파라미터를 매핑하려는 분석 파라미터를 선택합니다.

   분석에 분석 파라미터가 없는 경우 **파라미터 매핑** 및 **새로 만들기**를 선택하여 생성 시 데이터셋 파라미터에 자동으로 매핑되는 분석 파라미터를 만들 수 있습니다.

   1. (선택 사항) 표시되는 **새 파라미터 생성** 팝업에서 **이름**에 새 분석 파라미터의 이름을 입력합니다.

   1. (선택 사항) **정적 기본값**에서 파라미터에 적용할 정적 기본값을 선택합니다.

   1. (선택 사항) **동적 기본값** 설정을 선택하여 새 파라미터의 동적 기본값을 설정합니다.

   1. **매핑된 데이터 세트 파라미터** 테이블에 새 분석 파라미터에 매핑하려는 데이터 세트 파라미터가 표시됩니다. **데이터 세트 파라미터 추가** 드롭다운을 선택한 다음 매핑하려는 파라미터를 선택하여 이 분석 파라미터에 다른 데이터 세트 파라미터를 추가할 수 있습니다. 제거하려는 데이터 세트 파라미터 옆에 있는 **제거** 버튼을 선택하여 데이터 세트 파라미터를 매핑 해제할 수 있습니다.

   분석 파라미터 생성에 대한 자세한 내용은 [Amazon Quick에서 파라미터 설정](parameters-set-up.md)을(를) 참조하십시오.

데이터 세트 파라미터를 분석 파라미터에 매핑하는 경우 분석 파라미터는 분석에 사용되는 모든 데이터 세트 파라미터를 나타냅니다.

**파라미터 편집** 창에서 데이터세트 파라미터를 분석 파라미터에 매핑하거나 매핑 해제할 수도 있습니다. **파라미터 편집** 창을 열려면 파라미터 창으로 이동하여 변경하려는 분석 **파라미터** 옆의 줄임표(점 3개)를 선택한 다음 **파라미터 편집**을 선택합니다. **데이터 세트 파라미터 추가** 드롭다운을 선택한 다음 매핑하려는 파라미터를 선택하여 이 분석 파라미터에 다른 데이터 세트 파라미터를 추가할 수 있습니다. 제거하려는 데이터 세트 파라미터 옆에 있는 **제거** 버튼을 선택하여 데이터 세트 파라미터를 매핑 해제할 수 있습니다. **모두 제거**를 선택하여 매핑된 데이터 세트 파라미터를 모두 제거할 수도 있습니다. 변경을 마치면 **업데이트**를 선택합니다.

분석 파라미터를 삭제하면 모든 데이터 세트 파라미터가 분석에서 매핑되지 않고 **파라미터** 창의 **매핑되지 않음** 섹션에 나타납니다. 데이터 세트 파라미터를 한 번에 하나의 분석 파라미터에만 매핑할 수 있습니다. 데이터 세트 파라미터를 다른 분석 파라미터에 매핑하려면 데이터 세트 파라미터를 매핑 해제한 다음 새 분석 파라미터에 매핑하세요.

## 매핑된 분석 파라미터에 필터 컨트롤 추가
<a name="dataset-parameters-analysis-filter-control"></a>

데이터 세트 파라미터를 Quick의 분석 파라미터에 매핑한 후 필터, 작업, 계산된 필드, 제목, 설명 및 URLs.

**매핑된 파라미터에 컨트롤 추가하기**

1. 분석 페이지의 **파라미터** 창에서 원하는 매핑된 분석 파라미터 옆의 줄임표(점 3개)를 선택한 다음 **제어 추가**를 선택합니다.

1. 표시되는 **제어 추가** 창에서 원하는 **이름**을 입력하고 제어에 사용할 **스타일**을 선택합니다. 단일 값 컨트롤의 경우,`Dropdown`, `List`, `Text field` 중에서 선택합니다. 다중값 컨트롤의 경우 `Dropdown`을(를) 선택하십시오.

1. **추가**를 선택하여 컨트롤을 생성합니다.

# 데이터 세트 파라미터의 고급 사용 사례
<a name="dataset-parameters-advanced-options"></a>

이 섹션에서는 데이터 세트 파라미터 및 드롭다운 컨트롤을 사용하는 고급 옵션과 사용 사례를 다룹니다. 다음 안내를 사용하여 데이터 세트 파라미터로 동적 드롭다운 값을 만들 수 있습니다.

## 데이터 세트 파라미터와 함께 다중값 컨트롤 사용하기
<a name="dataset-parameters-dropdown"></a>

데이터 세트의 사용자 지정 SQL에 삽입된 데이터 세트 파라미터를 사용하면 데이터 세트 파라미터가 일반적으로 특정 열의 값을 기준으로 데이터를 필터링합니다. 드롭다운 컨트롤을 만들고 파라미터를 값으로 할당하면 파라미터가 필터링한 값만 드롭다운에 표시됩니다. 다음 절차는 데이터 세트 파라미터에 매핑되고 필터링되지 않은 모든 값을 표시하는 컨트롤을 만드는 방법을 보여줍니다.

**드롭다운 콘트롤에 할당된 모든 값을 채우기**

1. SPICE에서 새 단일 열 데이터 세트를 생성하거나 소스 데이터 세트의 모든 고유 값을 포함하는 다이렉트 쿼리를 생성합니다. 예를 들어 원본 데이터 세트가 다음과 같은 사용자 지정 SQL을 사용한다고 가정해 보겠습니다.

   ```
   select * from all_flights
           where origin_state_abr = <<$State>>
   ```

   고유한 원본 상태가 모두 포함된 단일 열 테이블을 만들려면 다음 사용자 지정 SQL을 새 데이터 세트에 적용하십시오.

   ```
   SELECT distinct origin_state_abr FROM all_flights
           order by origin_state_abr asc
   ```

   SQL 표현식은 모든 고유 상태를 알파벳 순서로 반환합니다. 새 데이터 세트에는 데이터 세트 파라미터가 없습니다.

1. 새 데이터 세트의 **이름**을 입력한 다음 데이터 세트를 저장하고 게시합니다. 이 예시에서는 `State Codes`(이)라는 새 데이터 세트를 호출합니다.

1. 원본 데이터 세트가 포함된 분석을 열고 분석에 새 데이터 세트를 추가합니다. 기존 분석에 데이터 세트를 추가하는 방법에 대한 자세한 내용은 [분석에 데이터 세트 추가](adding-a-data-set-to-an-analysis.md)을(를) 참조하십시오.

1. **컨트롤** 창으로 이동하여 편집하려는 드롭다운 컨트롤을 찾습니다. 컨트롤 옆의 줄임표(점 3개)를 선택한 다음 **편집**을 선택합니다.

1. 왼쪽에 나타나는 **포맷 제어**에서 **값** 섹션의 **데이터 세트 필드에 연결**을 선택합니다.

1. 나타나는 **데이터 세트** 드롭다운에서 생성한 새 데이터 세트를 선택합니다. 이 예시에서는 `State Codes` 데이터 세트를 선택합니다.

1. 표시되는 **필드** 드롭다운에서 적절한 필드를 선택합니다. 이 예에서는 `origin_state_abr` 필드가 선택됩니다.

컨트롤을 새 데이터 세트에 연결한 후에는 모든 고유 값이 컨트롤의 드롭다운에 나타납니다. 여기에는 데이터 세트 파라미터로 필터링된 값이 포함됩니다.

## 모두 선택 옵션과 함께 컨트롤 사용
<a name="dataset-parameters-controls-select-all"></a>

기본적으로 하나 이상의 데이터 세트 파라미터를 분석 파라미터에 매핑하고 컨트롤에 추가하면 `Select all` 옵션을 사용할 수 없습니다. 다음 절차는 이전 섹션의 동일한 예제 시나리오를 사용하는 해결 방법을 보여줍니다.

**참고**  
이 안내는 직접 쿼리로 로드할 수 있을 만큼 작은 데이터 세트를 대상으로 합니다. 데이터셋이 크고 `Select All` 옵션을 사용하려는 경우 해당 데이터 세트를 SPICE에 로드하는 것이 좋습니다. 하지만 데이터 세트 파라미터와 함께 `Select All` 옵션을 사용하려는 경우 이 안내를 통해 그 방법을 설명합니다.

먼저 다음과 같은 `States`(이)라는 다중값 파라미터가 포함된 사용자 지정 SQL이 포함된 직접적인 쿼리 데이터 세트가 있다고 가정해 보겠습니다.

```
select * from all_flights
where origin_state_abr in (<<$States>>)
```

**데이터 세트 파라미터를 사용하는 컨트롤에서 모두 선택 옵션을 사용하기**

1. 분석의 **파라미터** 창에서 사용할 데이터 세트 파라미터를 찾은 다음 파라미터 옆의 줄임표(점 3개)에서 **편집**을 선택합니다.

1. 표시되는 **파라미터 편집** 창에서 **정적 다중 기본값** 섹션에 새 기본값을 입력합니다. 이 예에서는 기본값이 ` All States`입니다. 참고로 이 예제에서는 선행 공백 문자를 사용하므로 디폴트 값이 컨트롤의 첫 번째 항목으로 표시됩니다.

1. 파라미터를 업데이트하려면 **업데이트**를 선택합니다.

1. 분석별 분석에서 사용 중인 데이터 세트 파라미터가 포함된 데이터 세트로 이동합니다. 새 정적 다중 기본값에 대한 기본 사용 사례를 포함하도록 데이터 세트의 사용자 지정 SQL을 수정합니다. ` All States` 예제를 사용하면 SQL 표현식이 다음과 같이 나타납니다.

   ```
   select * from public.all_flights
   where
       ' All States' in (<<$States>>) or
       origin_state_abr in (<<$States>>)
   ```

   사용자가 컨트롤에서 ` All States`을(를) 선택하면 새 SQL 표현식은 모든 고유 레코드를 반환합니다. 사용자가 콘트롤에서 다른 값을 선택하면 쿼리는 데이터 세트 파라미터로 필터링된 값을 반환합니다.

### 모두 선택 및 다중값 옵션이 있는 컨트롤 사용
<a name="dataset-parameters-controls-multi-select-all"></a>

이전 `Select all` 절차를 앞에서 설명한 다중값 제어 방법과 결합하여 사용자가 선택할 수 있는 여러 `Select all` 값 외에 값을 포함하는 드롭다운 컨트롤을 만들 수 있습니다. 이 연습에서는 이전 절차를 따랐고, 데이터 세트 파라미터를 분석 파라미터에 매핑하는 방법을 알고 있으며, 분석에서 컨트롤을 만들 수 있다고 가정합니다. 분석 파라미터 매핑에 대한 자세한 내용은 [새로운 빠른 분석에서 데이터 세트 파라미터 매핑](dataset-parameters-analysis.md#dataset-parameters-map-to-analysis)을(를) 참조하십시오. 데이터 세트 파라미터를 사용하는 분석에서 컨트롤을 만드는 방법에 대한 자세한 내용은 [매핑된 분석 파라미터에 필터 컨트롤 추가](dataset-parameters-analysis.md#dataset-parameters-analysis-filter-control)을(를) 참조하십시오.

**모두 선택 옵션과 매핑된 데이터 세트 파라미터를 사용하여 컨트롤에 여러 값 추가하기**

1. `Select all` 사용자 지정 SQL 식을 사용하여 원본 데이터 세트와 원본 데이터 세트에 있는 필터링된 열의 가능한 모든 값을 포함하는 두 번째 데이터 세트가 있는 분석을 엽니다.

1. 이전에 만든 보조 데이터 세트로 이동하여 필터링된 열의 모든 값을 반환합니다. 이전에 구성한 `Select all` 옵션을 쿼리에 추가하는 사용자 지정 SQL 식을 추가합니다. 다음 예시에서는 데이터셋의 반환된 값 목록 맨 위에 ` All States` 레코드를 추가합니다.

   ```
   (Select ' All States' as origin_state_abr)
       Union All
       (SELECT distinct origin_state_abr FROM all_flights
       order by origin_state_abr asc)
   ```

1. 데이터 세트가 속한 분석으로 돌아가서 사용 중인 데이터 세트 파라미터를 이전 절차의 3단계에서 만든 분석 파라미터에 매핑하세요. 분석 파라미터 및 데이터 파라미터 이름은 같을 수 있습니다. 이 예에서는 `States`(이)라는 분석 파라미터를 호출합니다.

1. 새 필터 컨트롤을 만들거나 기존 필터 컨트롤을 편집하고 **모두 숨기기**를 선택하여 다중값 컨트롤에 나타나는 비활성화된 **모두 선택** 옵션을 숨깁니다.

컨트롤을 만들고 나면 사용자는 동일한 컨트롤을 사용하여 데이터 세트에서 필터링된 열의 모든 값 또는 여러 값을 선택할 수 있습니다.

# Amazon Quick에서 행 수준 보안 사용
<a name="row-level-security"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 

Amazon Quick의 엔터프라이즈 에디션에서는 데이터 세트에 행 수준 보안(RLS)을 구성하여 데이터 세트에 대한 액세스를 제한할 수 있습니다. 데이터 세트를 공유하기 전이나 이후에 이를 수행할 수 있습니다. RLS와 데이터 세트를 데이터 세트 소유자와 공유해도 여전히 모든 데이터를 볼 수 있습니다. 하지만 독자와 공유하면 독자는 권한 데이터 세트 규칙에 의해 제한된 데이터만 볼 수 있습니다.

또한 Quick의 등록되지 않은 사용자를 위해 애플리케이션에 Amazon Quick 대시보드를 포함할 때 행 수준 보안(RLS)을 사용하여 태그로 데이터를 필터링/제한할 수 있습니다. 태그는 애플리케이션의 세션을 식별하는 사용자 지정 문자열입니다. 태그를 사용하여 데이터 세트에 대한 RLS 제어를 구현할 수 있습니다. 데이터 세트에서 RLS 기반 제한을 구성하여 Quick은 사용자 자격 증명/세션에 연결된 세션 태그를 기반으로 데이터를 필터링합니다.

사용자 이름이나 그룹 기반 규칙, 태그 기반 규칙 또는 둘 다를 사용하여 데이터 세트에 대한 액세스를 제한할 수 있습니다.

Quick에서 프로비저닝(등록)된 사용자 또는 그룹의 데이터를 보호하려면 사용자 기반 규칙을 선택합니다. 이렇게 하려면 데이터에 액세스하는 각 사용자 또는 그룹에 대해 열별로 설정된 규칙이 포함된 권한 데이터 세트를 선택하세요. 규칙에 명시된 사용자 또는 그룹만 데이터에 접근할 수 있습니다.

임베디드 대시보드를 사용하고 Quick에서 프로비저닝되지 않은 사용자(등록되지 않은 사용자)의 데이터를 보호하려는 경우에만 태그 기반 규칙을 선택합니다. 이렇게 하려면 열에 태그를 정의하여 데이터를 보호하세요. 대시보드를 임베딩할 때는 값을 태그에 전달해야 합니다.

**Topics**
+ [사용자 기반 규칙과 함께 행 수준 보안을 사용하여 데이터세트 액세스 제한](restrict-access-to-a-data-set-using-row-level-security.md)
+ [익명의 사용자를 위해 대시보드를 임베딩할 때 사용자 기반 규칙과 함께 행 수준 보안을 사용하여 데이터세트 액세스 제한](quicksight-dev-rls-tags.md)

# 사용자 기반 규칙과 함께 행 수준 보안을 사용하여 데이터세트 액세스 제한
<a name="restrict-access-to-a-data-set-using-row-level-security"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 

Amazon Quick의 엔터프라이즈 에디션에서는 데이터 세트에 행 수준 보안(RLS)을 구성하여 데이터 세트에 대한 액세스를 제한할 수 있습니다. 데이터 세트를 공유하기 전이나 이후에 이를 수행할 수 있습니다. RLS와 데이터 세트를 데이터 세트 소유자와 공유해도 여전히 모든 데이터를 볼 수 있습니다. 하지만 독자와 공유하면 독자는 권한 데이터 세트 규칙에 의해 제한된 데이터만 볼 수 있습니다. 행 수준 보안을 추가하여 액세스를 추가로 제어할 수 있습니다.

**참고**  
SPICE 데이터 세트를 행 수준 보안에 적용할 경우, 데이터 세트의 각 필드에 최대 2,047개의 유니코드 문자를 포함할 수 있습니다. 이 할당량을 초과하는 필드는 수집 중에 잘립니다. SPICE 데이터 할당량에 대한 자세한 내용은 [가져온 데이터에 대한 SPICE 할당량](data-source-limits.md#spice-limits) 섹션을 참조하세요.

이렇게 하려면 사용자 또는 그룹 식별을 위한 하나의 열이 있는 쿼리 또는 파일을 생성합니다. `UserName` 및 `GroupName`를 사용하거나 또는 `UserARN` 및를 사용할 수 있습니다`GroupARN`. 이를 해당 사용자 또는 그룹에 대해 규칙을 추가하는 것으로 간주할 수 있습니다. 그 다음에는 액세스 권한을 부여하거나 제한하고자 하는 각 필드의 쿼리 또는 파일에 열을 추가할 수 있습니다. 추가한 각 사용자 또는 그룹 이름에서 각 필드의 값을 추가합니다. NULL(값이 없음)을 사용하면 모든 값을 나타낼 수 있습니다. 데이터 세트 규칙의 예시를 보려면 [행 수준 보안에 대한 데이터 세트 규칙 생성](#create-data-set-rules-for-row-level-security) 단원을 참조하세요.

데이터 세트 규칙을 적용하려면, 데이터 세트에 대한 권한 데이터 세트로서의 규칙을 추가합니다. 다음 사항에 유의하세요.
+ 권한 데이터 세트에는 중복 값이 포함되어서는 안 됩니다. 규칙을 적용하는 방법을 평가할 때 중복 값이 무시됩니다.
+ 지정된 각 사용자 또는 그룹은 데이터 세트 규칙의 필드 값과 일치하는 행만 볼 수 있습니다.
+ 사용자 또는 그룹에게 규칙을 추가하고 기타 모든 열에는 값이 없는 상태(NULL)로 두면 사용자 또는 그룹에게 모든 데이터에 대한 액세스 권한을 허용하는 것입니다.
+ 사용자 또는 그룹에게 규칙을 추가하지 않는 경우 그 사용자 또는 그룹은 데이터를 전혀 볼 수 없습니다.
+ 사용자별로 적용되는 전체 규칙 레코드 세트는 999개를 초과하지 않아야 합니다. 이 한도는 사용자 이름에 직접 할당된 총 규칙 수와 그룹 이름을 통해 사용자에게 할당된 모든 규칙에 적용됩니다.
+ 필드에 쉼표(,)가 포함된 경우 Amazon Quick은 쉼표로 구분된 각 단어를 필터의 개별 값으로 취급합니다. 예를 들어 `('AWS', 'INC')`에서 `AWS,INC`은(는) `AWS` 및 `INC`(이)라는 두 개의 문자열로 간주됩니다. `AWS,INC`을 필터링하려면 권한 데이터 세트에서 문자열을 큰따옴표로 묶으세요.

  제한된 데이터 세트가 SPICE 데이터 세트인 경우, 사용자당 적용되는 필터 값 수는 각 제한 필드에 192,000개를 초과할 수 없습니다. 이는 사용자 이름에 직접 할당된 총 필터 값 수와, 그룹 이름을 통해 사용자에게 할당된 모든 필터 값에 적용됩니다.

  제한된 데이터 세트가 다이렉트 쿼리 데이터 세트인 경우, 사용자당 적용되는 필터 값 수는 데이터 소스에 따라 다릅니다.

  필터 값 제한을 초과하면 시각적 렌더링이 실패할 수 있습니다. 필터 목록을 줄일 수 있도록 제한된 데이터 세트에 열을 추가하여 원래 제한 열을 기준으로 행을 그룹으로 나누는 것이 좋습니다.

Amazon Quick은 공백을 리터럴 값으로 취급합니다. 제한하려는 필드에 공백이 있는 경우, 데이터 세트 규칙이 해당 행에 적용됩니다. Amazon Quick은 NULLs과 공백(빈 문자열 "")을 모두 "값 없음"으로 취급합니다. NULL은 빈 필드 값입니다.

데이터 세트의 데이터 소스에 따라 권한 테이블에 액세스할 직접 쿼리를 구성할 수 있습니다. 안에 공백이 있는 용어는 따옴표로 구분해서는 안 됩니다. 직접 쿼리를 사용하는 경우 원래 데이터 원본에서 쿼리를 손쉽게 변경할 수 있습니다.

또는 텍스트 파일 또는 스프레드시트에서 데이터 세트 규칙을 업로드할 수 있습니다. CSV(쉼표로 분리된 값) 파일을 사용하는 경우에는 해당 줄에 공백이 포함되어서는 안 됩니다. 안에 공백이 있는 용어는 따옴표로 구분해야 합니다. 파일 기반의 데이터 세트 규칙을 사용하는 경우 데이터 세트의 권한 설정에 있는 기존 규칙을 덮어쓰는 방식으로 변경 사항을 적용해야 합니다.

제한된 데이터 세트는 **데이터** 화면에서 **RESTRICTED**라는 단어로 표시됩니다.

RLS 규칙이 활성화된 상위 데이터 세트에서 만든 하위 데이터 세트에는 상위 데이터 세트와 동일한 RLS 규칙이 유지됩니다. 하위 데이터 세트에 RLS 규칙을 더 추가할 수 있지만, 데이터 세트가 상위 데이터 세트에서 상속하는 RLS 규칙을 제거할 수는 없습니다.

RLS 규칙이 활성화된 상위 데이터 세트에서 만든 하위 데이터 세트는 직접 쿼리로만 만들 수 있습니다. 상위 데이터 세트의 RLS 규칙을 상속하는 하위 데이터 세트는 SPICE에서 지원되지 않습니다.

행 수준 보안은 텍스트 데이터를 포함하는 필드에 대해서만 작동합니다(string, char, varchar 등). 날짜 또는 숫자 필드에 대해서는 작동하지 않습니다. 행 수준 보안(RLS)을 사용하는 데이터 세트에는 예외 항목 탐지가 지원되지 않습니다.

## 행 수준 보안에 대한 데이터 세트 규칙 생성
<a name="create-data-set-rules-for-row-level-security"></a>

다음 절차를 사용하여 권한 파일 또는 쿼리를 생성하여 데이터 세트 규칙으로 사용합니다.

**권한 파일 또는 쿼리를 생성하여 데이터 세트 규칙으로 사용**

1. 행 수준 보안을 위해 데이터 세트 규칙(권한)을 포함한 파일 또는 쿼리를 생성합니다.

   필드의 순서는 중요하지 않습니다. 하지만 모든 필드는 대소문자를 구분합니다. 필드 이름 및 값과 정확히 일치해야 합니다.

   구조는 다음 중 하나와 같은 모습이어야 합니다. 사용자 또는 그룹을 식별하는 하나 이상의 필드가 있어야 합니다. 둘 다 포함할 수 있지만 한 개만 필요하며 한 번에 하나만 사용됩니다. 사용자 또는 그룹에 사용하는 필드에는 사용자가 선택한 이름을 지정할 수 있습니다.
**참고**  
그룹을 지정하는 경우 Amazon Quick 그룹 또는 Microsoft AD 그룹만 사용합니다.

   다음 예는 그룹이 있는 표를 보여줍니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/restrict-access-to-a-data-set-using-row-level-security.html)

   다음 예는 사용자 이름이 있는 테이블을 보여줍니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/restrict-access-to-a-data-set-using-row-level-security.html)

   다음 예는 사용자 및 그룹 Amazon 리소스 이름(ARN)이 포함된 표를 보여줍니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/restrict-access-to-a-data-set-using-row-level-security.html)

   .csv 파일을 사용하는 것을 사용하는 경우 구조는 다음 중 하나와 같은 모습이어야 합니다.

   ```
   UserName,SalesRegion,Segment
   AlejandroRosalez,EMEA,"Enterprise,SMB,Startup"
   MarthaRivera,US,Enterprise
   NikhilJayashankars,US,SMB
   PauloSantos,US,Startup
   SaanviSarkar,APAC,"SMB,Startup"
   sales-tps@example.com,"",""
   ZhangWei,APAC-Sales,"Enterprise,Startup"
   ```

   ```
   GroupName,SalesRegion,Segment
   EMEA-Sales,EMEA,"Enterprise,SMB,Startup"
   US-Sales,US,Enterprise
   US-Sales,US,SMB
   US-Sales,US,Startup
   APAC-Sales,APAC,"SMB,Startup"
   Corporate-Reporting,"",""
   APAC-Sales,APAC,"Enterprise,Startup"
   ```

   ```
   UserARN,GroupARN,SalesRegion
   arn:aws:quicksight:us-east-1:123456789012:user/Bob,arn:aws:quicksight:us-east-1:123456789012:group/group-1,APAC
   arn:aws:quicksight:us-east-1:123456789012:user/Sam,arn:aws:quicksight:us-east-1:123456789012:group/group-2,US
   ```

   다음은 SQL의 예입니다.

   ```
   /* for users*/
   	select User as UserName, SalesRegion, Segment
   	from tps-permissions;
   
   	/* for groups*/
   	select Group as GroupName, SalesRegion, Segment
   	from tps-permissions;
   ```

1. 데이터 세트 규칙에 대한 데이터 세트 생성 쉽게 찾을 수 있도록 **Permissions-Sales-Pipeline**과 같은 의미 있는 이름을 지정하십시오.

## 행 수준 보안에 대한 규칙 데이터세트 플래그 지정
<a name="rules-dataset-flagging-for-row-level-security"></a>

다음 절차를 사용하여 데이터세트를 규칙 데이터세트로 적절하게 플래그 지정합니다.

규칙 데이터세트는 행 수준 보안에 사용되는 권한 데이터세트를 일반 데이터세트와 구분하는 플래그입니다. 2025년 3월 31일 이전에 권한 데이터세트가 일반 데이터세트에 적용된 경우 **데이터세트** 랜딩 페이지에 규칙 데이터세트 플래그가 표시됩니다.

2025년 3월 31일까지 권한 데이터세트가 일반 데이터세트에 적용되지 않은 경우 일반 데이터세트로 분류됩니다. 규칙 데이터세트로 사용하려면 권한 데이터세트를 복제하고 데이터세트를 생성할 때 콘솔에서 규칙 데이터세트로 플래그를 지정합니다. 데이터 세트 편집을 선택하고 옵션에서 DUPLICATE AS RULES DATASET을 선택합니다.

규칙 데이터세트로 복제하려면 원래 데이터세트에서 다음 사항을 확인합니다. 1. 필수 사용자 메타데이터 또는 그룹 메타데이터 열을 포함합니다. 2. 문자열 유형 열만 포함합니다.

콘솔에서 새 규칙 데이터세트를 생성하려면 새 데이터세트 드롭다운에서 새 규칙 데이터세트를 선택합니다. 프로그래밍 방식으로 규칙 데이터세트를 생성할 때 [UseAs: RLS\$1RULES](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateDataSet.html#API_CreateDataSet_RequestSyntax) 파라미터를 추가합니다. 규칙 데이터세트를 생성하는 데만 사용되는 선택적 파라미터입니다. 콘솔을 통해 또는 프로그래밍 방식으로 데이터세트를 생성하고 규칙 데이터세트 또는 일반 데이터세트로 플래그를 지정한 후에는 변경할 수 없습니다.

데이터 세트가 규칙 데이터 세트로 플래그가 지정되면 Amazon Quick은 엄격한 SPICE 수집 규칙을 적용합니다. 데이터 무결성을 보장하기 위해 길이 제한을 초과하는 잘못된 행 또는 셀이 있는 경우 규칙 데이터세트에 대한 SPICE 수집이 실패합니다. 성공적인 수집을 다시 시작하려면 수집 문제를 해결해야 합니다. 엄격한 수집 규칙은 규칙 데이터세트에만 적용됩니다. 행을 건너뛰거나 문자열을 잘라내는 경우 일반 데이터세트에서 데이터세트 수집은 실패하지 않습니다.

## 행 수준 보안 적용
<a name="apply-row-level-security"></a>

파일 또는 쿼리를 권한에 대한 규칙이 포함된 데이터 세트로 사용하여 행 수준 보안(RLS)을 적용하려면 다음 절차를 따르십시오.

**파일 또는 쿼리를 사용하여 행 수준 보안 적용**

1. 새로운 데이터 세트로 규칙을 추가했음을 확인합니다. 추가했는데 데이터 세트 목록 아래에 보이지 않는 경우, 화면을 새로 고침하세요.

1. **데이터** 페이지에서 데이터 세트를 선택합니다.

1. 열리는 데이터 세트 세부 정보 페이지에서 **행 수준 보안**을 위해 **설정**을 선택합니다.

1. 열리는 **행 수준 보안 설정** 페이지에서 **사용자 기반 규칙**을 선택합니다.

1. 보이는 데이터 세트 목록에서 권한 데이터 세트를 선택합니다.

   권한 데이터 세트가 화면에 표시되지 않는 경우 데이터 세트로 돌아가서 페이지를 새로 고침하세요.

1. **권한 정책**에서 **데이터 세트에 대한 액세스 허용**을 선택합니다. 각 데이터 세트에는 하나의 활성 권한 데이터 세트만이 있습니다. 보조 권한 데이터 세트를 추가하려는 경우 기존 세트를 덮어씁니다.
**중요**  
일부 제한은 열 수준 보안으로 작업할 때 NULL 및 빈 문자열 값에 적용됩니다.  
제약 필드에 있는 데이터 세트에 NULL 값 또는 빈 문자열("")이 있는 경우 제한이 적용될 때 해당 행은 무시됩니다.
권한 데이터 세트 내부에서 NULL 값 및 빈 문자열은 동일하게 취급됩니다. 자세한 정보는 다음 표를 참조하세요.
민감한 정보가 실수로 노출되는 것을 방지하기 위해 Amazon Quick은 모든 사용자에게 액세스 권한을 부여하는 빈 RLS 규칙을 건너뜁니다. 행의 모든 열에 값이 없는 경우 빈 RLS 규칙이 발생합니다. 빠른 RLS는 NULL, 빈 문자열("") 또는 빈 쉼표로 구분된 문자열(예: ",,")을 값으로 취급하지 않습니다.  
빈 규칙을 건너뛰어도, 비어 있지 않은 다른 RLS 규칙이 계속 적용됩니다.
권한 데이터 세트에 빈 규칙만 있고 모든 규칙을 건너뛰면, 아무도 이 권한 데이터 세트로 제한된 데이터에 접근할 수 없습니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/restrict-access-to-a-data-set-using-row-level-security.html)

   데이터 세트 규칙에 의해 데이터 세트가 제한되지 않는 경우를 제외하고 대시보드를 공유하는 모든 사용자가 안에 있는 데이터를 볼 수 있습니다.

1. 변경 사항을 저장하려면 **데이터 세트 적용**을 선택합니다. 그런 다음 **데이터 세트 규칙을 저장할까요?** 페이지에서 **적용 및 활성화**를 선택합니다. 권한 변경 사항은 기존 사용자에 대해 즉시 적용됩니다.

1. (선택 사항) 권한을 제거하려면 데이터 세트에서 데이터 세트 규칙을 제거합니다.

   데이터 세트 규칙을 확실히 제거해야 합니다. 그런 다음 권한 데이터 세트를 선택하고 **데이터 세트 제거**를 선택합니다.

   권한을 덮어쓰려면 새 권한 데이터 세트를 선택하고 이를 적용합니다. 같은 데이터 세트 이름을 재사용할 수 있습니다. 하지만 이러한 권한을 활성화하려면 권한 화면에서 새 **권한**을 적용해야 합니다. SQL 쿼리는 동적으로 업데이트되므로 Amazon Quick 외부에서 관리할 수 있습니다. 쿼리의 경우 직접 쿼리 캐시가 자동으로 새로 고쳐지면 권한이 업데이트됩니다.

대상 데이터 세트에서 파일 기반 권한 데이터 세트를 제거하기 전에 이를 삭제한 경우, 제한된 사용자는 데이터 세트에 액세스할 수 없습니다. 데이터 세트가 이 상태인 경우 **RESTRICTED**으로 그대로 표시됩니다. 데이터 세트에 대한 **권한**을 볼 때 선택한 데이터 세트 규칙이 없음을 확인할 수 있습니다.

이를 수정하려면 새 데이터 세트 규칙을 지정합니다. 동일한 이름을 가진 데이터 세트를 생성하는 걸로는 수정할 수 없습니다. **권한** 화면에서 새 권한 데이터 세트를 선택해야 합니다. 이 제한 사항은 직접 SQL 쿼리에 적용되지 않습니다.

# 익명의 사용자를 위해 대시보드를 임베딩할 때 사용자 기반 규칙과 함께 행 수준 보안을 사용하여 데이터세트 액세스 제한
<a name="quicksight-dev-rls-tags"></a>


|  | 
| --- |
|  적용 대상: Enterprise Edition  | 


|  | 
| --- |
|    대상:  Amazon Quick Administrators 및 Amazon Quick 개발자  | 

Quick에서 프로비저닝(등록)되지 않은 사용자를 위해 Amazon Quick 대시보드를 애플리케이션에 포함할 때 행 수준 보안(RLS)을 사용하여 태그를 사용하여 데이터를 필터링/제한할 수 있습니다. 태그는 애플리케이션의 세션을 식별하는 사용자 지정 문자열입니다. 태그를 사용하여 데이터 세트에 대한 RLS 제어를 구현할 수 있습니다. 데이터 세트에서 RLS 기반 제한을 구성하여 Quick은 사용자 자격 증명/세션에 연결된 세션 태그를 기반으로 데이터를 필터링합니다.

예를 들어, 여러 소매업체를 위한 고객 대면 애플리케이션을 보유한 물류 회사를 예로 들어 보겠습니다. 이러한 소매업체의 수천 명의 사용자가 애플리케이션에 액세스하여 창고에서 주문이 배송되는 방식과 관련된 지표를 확인합니다.

Quick에서 수천 명의 사용자를 관리하고 싶지 않으므로 익명 임베딩을 사용하여 인증된 사용자와 승인된 사용자가 볼 수 있는 선택한 대시보드를 애플리케이션에 포함합니다. 하지만 소매업체에서는 자사 비즈니스용 데이터만 볼 수 있고 다른 업체는 볼 수 없도록 해야 합니다. 태그가 있는 RLS를 사용하여 고객이 자신과 관련된 데이터만 보게 할 수 있습니다.

이렇게 하려면 다음 단계를 완료합니다.

1. 데이터세트에 RLS 태그를 추가하세요.

1. `GenerateEmbedUrlForAnonymousUser` API 작업을 사용하여 런타임에 해당 태그에 값을 할당합니다.

   `GenerateEmbedUrlForAnonymousUser` API 작업을 사용하여 익명 사용자를 위한 대시보드를 내장하는 방법에 대한 자세한 내용은 [익명(미등록) 사용자를 위한 Amazon Quick Sight 대시보드 임베딩](embedded-analytics-dashboards-for-everyone.md) 단원을 참조하세요.

RLS를 태그와 함께 사용하려면, 먼저 다음 사항에 유의하세요.
+ 태그와 함께 RLS를 사용하는 것은 현재 익명 임베딩, 특히 `GenerateEmbedUrlForAnonymousUser` API 작업을 사용하는 임베디드 대시보드에만 지원됩니다.
+ `GenerateEmbedURLForRegisteredUser` API 작업 또는 이전`GetDashboardEmbedUrl` API 작업을 사용하는 임베디드 대시보드에서는 태그가 포함된 RLS를 사용할 수 없습니다.
+ RLS 태그는 AWS Identity and Access Management (IAM) 또는 빠른 자격 증명 유형에서 지원되지 않습니다.
+ SPICE 데이터 세트를 행 수준 보안에 적용할 경우, 데이터 세트의 각 필드에 최대 2,047개의 유니코드 문자를 포함할 수 있습니다. 이 할당량을 초과하는 필드는 수집 중에 잘립니다. SPICE 데이터 할당량에 대한 자세한 내용은 [가져온 데이터에 대한 SPICE 할당량](data-source-limits.md#spice-limits) 섹션을 참조하세요.

## 1단계: 데이터 세트에 RLS 태그 추가
<a name="quicksight-dev-rls-tags-add"></a>

Amazon Quick의 데이터 세트에 태그 기반 규칙을 추가할 수 있습니다. `CreateDataSet` 또는 `UpdateDataSet` API 작업을 호출하여 이러한 방식으로 태그 기반 규칙을 추가할 수도 있습니다. 자세한 내용은 [API를 사용하여 데이터 세트에 RLS 태그 추가](#quicksight-dev-rls-tags-add-api) 단원을 참조하십시오.

다음 절차에 따라 Quick의 데이터 세트에 RLS 태그를 추가합니다.

**데이터 세트에 RLS 태그 추가**

1. 빠른 시작 페이지에서 왼쪽의 **데이터를** 선택합니다.

1. RLS를 추가할 데이터 세트를 선택합니다.

1. 열리는 데이터 세트 세부 정보 페이지에서 **행 수준 보안**을 위해 **설정**을 선택합니다.

1. 열리는 **행 수준 보안 설정** 페이지에서 **태그 기반 규칙**을 선택합니다.

1. **열**에서 태그 규칙을 추가할 열을 선택합니다.

   예를 들어, 물류 회사의 경우 `retailer_id` 열이 사용됩니다.

   문자열 데이터 유형의 열만 나열됩니다.

1. **태그**에는 태그 키를 입력합니다. 원하는 태그 이름을 입력할 수 있습니다.

   예를 들어, 물류 회사의 경우 태그 키 `tag_retailer_id`이 사용됩니다. 이렇게 하면 애플리케이션에 액세스하는 소매업체에 따라 행 수준 보안이 설정됩니다.

1. (선택 사항) **구분 기호**의 경우, 목록에서 구분 기호를 선택하거나 직접 입력합니다.

   태그에 둘 이상의 값을 할당할 때 구분 기호를 사용하여 텍스트 문자열을 구분할 수 있습니다. 구분 기호 값은 최대 10자까지 입력할 수 있습니다.

1. (선택 사항) **모두 일치**의 경우, **\$1**를 선택하거나 직접 문자를 입력합니다.

   이 옵션은 데이터 세트에서 해당 열의 모든 값을 기준으로 필터링하려는 경우 사용할 모든 문자일 수 있습니다. 값을 하나씩 나열하는 대신 문자를 사용할 수 있습니다. 이 값을 지정하면 최소 1자 또는 최대 256자일 수 있습니다.

1. **추가**를 선택합니다.

   태그 규칙이 데이터 세트에 추가되고 하단에 나열되지만, 아직 적용되지는 않았습니다. 데이터 세트에 다른 태그 규칙을 추가하려면, 5\$19단계를 반복하세요. 태그 규칙을 수정하려면, 규칙 뒤에 있는 연필 아이콘을 선택하세요. 태그 규칙을 수정하려면, 규칙 뒤에 있는 아이콘을 선택하세요. 데이트 세트에 최대 50개의 태그를 추가할 수 있습니다.

1. 데이터 세트에 태그 규칙을 적용할 준비가 되면, **규칙 적용**을 선택합니다.

1. **태그 기반 보안을 켤까요?** 페이지가 열리면, **적용 및 활성화**를 선택합니다.

   이제 태그 기반 규칙이 활성화되었습니다. **행 수준 보안 설정** 페이지에서, 데이터 세트에 대한 태그 규칙을 켜거나 끌 수 있는 토글이 나타납니다.

   데이터 세트에 대한 모든 태그 기반 규칙을 끄려면 **태그 기반 규칙** 토글을 끈 다음 나타나는 텍스트 상자에 "확인"을 입력합니다.

   **데이터** 페이지에서 데이터 세트 행에 태그 규칙이 활성화되었음을 나타내는 잠금 아이콘이 나타납니다.

   [2단계: 런타임 시 RLS 태그에 값 할당](#quicksight-dev-rls-tags-assign-values)에 설명된 대로 이제 태그 규칙을 사용하여 런타임에 태그 값을 설정할 수 있습니다. 규칙은 활성 상태일 때만 빠른 리더에 영향을 줍니다.
**중요**  
데이터 세트에 태그가 할당되고 활성화된 후에는 대시보드를 작성할 때 빠른 작성자에게 데이터 세트의 데이터를 볼 수 있는 권한을 부여해야 합니다.  
빠른 작성자에게 데이터 세트의 데이터를 볼 수 있는 권한을 부여하려면 데이터 세트 규칙으로 사용할 권한 파일 또는 쿼리를 생성합니다. 자세한 내용은 [행 수준 보안에 대한 데이터 세트 규칙 생성](restrict-access-to-a-data-set-using-row-level-security.md#create-data-set-rules-for-row-level-security) 단원을 참조하십시오.

태그 기반 규칙을 생성하면, 태그 기반 규칙이 서로 어떻게 관련되는지 보여주는 새 **규칙 관리** 표가 나타납니다. **규칙 관리** 표에 나열된 규칙을 변경하려면 규칙 뒤에 있는 연필 아이콘을 선택합니다. 그런 다음 태그를 추가 또는 제거하고 **업데이트**를 선택합니다. 업데이트된 규칙을 데이터 세트에 적용하려면 **적용**을 선택합니다.

### (선택 사항) RLS 태그에 OR 조건 추가
<a name="quicksight-dev-rls-tags-or"></a>

태그 기반 규칙에 OR 조건을 추가하여 Quick Account 사용자에게 데이터가 표시되는 방식을 추가로 사용자 지정할 수도 있습니다. OR 조건을 태그 기반 규칙과 함께 사용하면 규칙에 정의된 하나 이상의 태그가 유효한 경우 빠른의 시각적 객체가 나타납니다.

**태그 기반 규칙에 OR 조건 추가**

1. **규칙 관리** 테이블에서 **OR 조건 추가**를 선택합니다.

1. 나타나는 **태그 선택** 드롭다운 목록에서 OR 조건을 만들려는 태그를 선택합니다. **규칙 관리** 테이블에 최대 50개의 OR 조건을 추가할 수 있습니다. 데이터 세트의 단일 열에 여러 태그를 추가할 수 있지만, 규칙에 열 태그가 하나 이상 포함되어야 합니다.

1. **업데이트**를 선택하여 규칙에 조건을 추가한 다음 **적용**을 선택하여 업데이트된 규칙을 데이터 세트에 적용합니다.

### API를 사용하여 데이터 세트에 RLS 태그 추가
<a name="quicksight-dev-rls-tags-add-api"></a>

또는`CreateDataSet` 또는 `UpdateDataSet` API 작업을 호출하여 데이터 세트에 태그 기반 행 수준 보안을 구성하고 활성화할 수도 있습니다. 다음 예제에서 방법을 알아보세요.

**중요**  
API 호출에서 세션 태그를 구성할 때  
세션 태그를 보안 자격 증명으로 취급합니다. 세션 태그를 최종 사용자 또는 클라이언트 측 코드에 노출하지 마십시오.
서버 측 제어를 구현합니다. 세션 태그는 최종 사용자가 수정할 수 있는 파라미터가 아닌 신뢰할 수 있는 백엔드 서비스에서만 설정해야 합니다.
열거로부터 세션 태그를 보호합니다. 한 테넌트의 사용자가 다른 테넌트에 속하는 sessionTag 값을 검색하거나 추측할 수 없는지 확인합니다.
아키텍처를 검토합니다. 다운스트림 고객 또는 파트너가 API를 직접 호출할 수 있는 경우 해당 당사자가 액세스해서는 안 되는 테넌트에 대한 sessionTag 값을 지정할 수 있는지 평가합니다.

------
#### [ CreateDataSet ]

다음은 태그가 있는 RLS를 사용하는 데이터 세트를 만드는 예시입니다. 앞서 설명한 물류 회사의 시나리오를 가정합니다. 태그는 `row-level-permission-tag-configuration` 요소에 정의되어 있습니다. 태그는 데이터를 보호하려는 열에 정의됩니다. 이 선택적 요소에 대한 자세한 내용은 Amazon Quick API 참조의 [RowLevelPermissionTagConfiguration](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RowLevelPermissionTagConfiguration.html)을 참조하세요. ** 

```
create-data-set
		--aws-account-id <value>
		--data-set-id <value>
		--name <value>
		--physical-table-map <value>
		[--logical-table-map <value>]
		--import-mode <value>
		[--column-groups <value>]
		[--field-folders <value>]
		[--permissions <value>]
		[--row-level-permission-data-set <value>]
		[--column-level-permission-rules <value>]
		[--tags <value>]
		[--cli-input-json <value>]
		[--generate-cli-skeleton <value>]
		[--row-level-permission-tag-configuration 
	'{
		"Status": "ENABLED",
		"TagRules": 
			[
				{
					"TagKey": "tag_retailer_id",
					"ColumnName": "retailer_id",
					"TagMultiValueDelimiter": ",",
					"MatchAllValue": "*"
				},
				{
					"TagKey": "tag_role",
					"ColumnName": "role"
				}
			],
		"TagRuleConfigurations":
			[
				tag_retailer_id
			],
			[
				tag_role
			]
	}'
]
```

이 예제의 태그는 요소의 `TagRules` 부분에 정의되어 있습니다. 이 예에서는 2개의 열을 기반으로 2개의 태그가 정의됩니다.
+ `tag_retailer_id` 태그 키는 `retailer_id` 열에 대해 정의합니다. 이 경우 물류회사는, 애플리케이션에 액세스하는 소매업체에 따라 행 수준 보안이 설정됩니다.
+ `tag_role` 태그 키는 `role` 열에 대해 정의합니다. 이 경우 물류 회사는, 특정 소매업체에서 애플리케이션에 액세스하는 사용자의 역할에 따라 행 수준 보안의 추가 계층이 설정됩니다. 한 예로 `store_supervisor` 또는 `manager`입니다.

각 태그에 대해 `TagMultiValueDelimiter` 및 `MatchAllValue`을(를) 정의할 수 있습니다. 이들은 선택 사항입니다.
+ `TagMultiValueDelimiter` - 이 옵션은 런타임에 값을 전달할 때 값을 구분하는 데 사용할 모든 문자열일 수 있습니다. 값은 최대 10자입니다. 이 경우 쉼표가 구분 기호 값으로 사용됩니다.
+ `MatchAllValue` - 이 옵션은 데이터 세트에서 해당 열의 모든 값을 기준으로 필터링하려는 경우 사용할 모든 문자일 수 있습니다. 값을 하나씩 나열하는 대신 문자를 사용할 수 있습니다. 지정하는 경우, 이 값은 최소 1자 또는 최대 256자일 수 있습니다. 이 경우 모두 일치 값으로 별표가 사용됩니다.

데이터 세트 열의 태그를 구성하는 동안 필수 속성 `Status`을(를) 사용하여 태그를 켜거나 끕니다. 태그 규칙을 활성화하려면 이 속성에 대해 `ENABLED` 값을 사용하세요. 태그 규칙을 켜서 [2단계: 런타임 시 RLS 태그에 값 할당](#quicksight-dev-rls-tags-assign-values)에 설명된 대로 런타임에 태그 값을 설정하는 데 사용할 수 있습니다.

다음은 이 응답 정의의 예입니다.

```
{
			"Status": 201,
			"Arn": "arn:aws:quicksight:us-west-2:11112222333:dataset/RLS-Dataset",
			"DataSetId": "RLS-Dataset",
			"RequestId": "aa4f3c00-b937-4175-859a-543f250f8bb2"
		}
```

------
#### [ UpdateDataSet ]

**UpdateDataset**

`UpdateDataSet` API 작업을 사용하여 기존 데이터 세트에 RLS 태그를 추가하거나 업데이트할 수 있습니다.

다음은 RLS 태그로 데이터 세트를 업데이트하는 예제입니다. 앞서 설명한 물류 회사의 시나리오를 가정합니다.

```
update-data-set
		--aws-account-id <value>
		--data-set-id <value>
		--name <value>
		--physical-table-map <value>
		[--logical-table-map <value>]
		--import-mode <value>
		[--column-groups <value>
		[--field-folders <value>]
		[--row-level-permission-data-set <value>]
		[--column-level-permission-rules <value>]
		[--cli-input-json <value>]
		[--generate-cli-skeleton <value>]
				[--row-level-permission-tag-configuration 
	'{
		"Status": "ENABLED",
		"TagRules": 
			[
				{
					"TagKey": "tag_retailer_id",
					"ColumnName": "retailer_id",
					"TagMultiValueDelimiter": ",",
					"MatchAllValue": "*"
				},
				{
					"TagKey": "tag_role",
					"ColumnName": "role"
				}
			],
		"TagRuleConfigurations":
			[
				tag_retailer_id
			],
			[
				tag_role
			]
	}'
]
```

다음은 이 응답 정의의 예입니다.

```
{
			"Status": 201,
			"Arn": "arn:aws:quicksight:us-west-2:11112222333:dataset/RLS-Dataset",
			"DataSetId": "RLS-Dataset",
			"RequestId": "aa4f3c00-b937-4175-859a-543f250f8bb2"
		}
```

------

**중요**  
데이터 세트에 태그가 할당되고 활성화된 후에는 대시보드를 작성할 때 빠른 작성자에게 데이터 세트의 데이터를 볼 수 있는 권한을 부여해야 합니다.  
빠른 작성자에게 데이터 세트의 데이터를 볼 수 있는 권한을 부여하려면 데이터 세트 규칙으로 사용할 권한 파일 또는 쿼리를 생성합니다. 자세한 내용은 [행 수준 보안에 대한 데이터 세트 규칙 생성](restrict-access-to-a-data-set-using-row-level-security.md#create-data-set-rules-for-row-level-security) 단원을 참조하십시오.

`RowLevelPermissionTagConfiguration` 요소에 대한 자세한 내용은 Amazon Quick API 참조의 [RowLevelPermissionTagConfiguration](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RowLevelPermissionTagConfiguration.html)을 참조하세요. ** 

## 2단계: 런타임 시 RLS 태그에 값 할당
<a name="quicksight-dev-rls-tags-assign-values"></a>

RLS용 태그는 익명 임베딩에만 사용할 수 있습니다. `GenerateEmbedUrlForAnonymousUser` API 작업을 사용하여 태그 값을 설정할 수 있습니다.

**중요**  
API 호출에서 세션 태그를 구성할 때  
세션 태그를 보안 자격 증명으로 취급합니다. 세션 태그를 최종 사용자 또는 클라이언트 측 코드에 노출하지 마십시오.
서버 측 제어를 구현합니다. 세션 태그는 최종 사용자가 수정할 수 있는 파라미터가 아닌 신뢰할 수 있는 백엔드 서비스에서만 설정해야 합니다.
열거로부터 세션 태그를 보호합니다. 한 테넌트의 사용자가 다른 테넌트에 속하는 sessionTag 값을 검색하거나 추측할 수 없는지 확인합니다.
아키텍처를 검토합니다. 다운스트림 고객 또는 파트너가 API를 직접 호출할 수 있는 경우 해당 당사자가 액세스해서는 안 되는 테넌트에 대한 sessionTag 값을 지정할 수 있는지 평가합니다.

다음 예시는 이전 단계에서 데이터 세트에 정의된 RLS 태그에 값을 할당하는 방법을 보여줍니다.

```
POST /accounts/AwsAccountId/embed-url/anonymous-user
	HTTP/1.1
	Content-type: application/json
	{
		“AwsAccountId”: “string”,
		“SessionLifetimeInMinutes”: integer,
		“Namespace”: “string”, // The namespace to which the anonymous end user virtually belongs
		“SessionTags”:  // Optional: Can be used for row-level security
			[
				{
					“Key”: “tag_retailer_id”,
					“Value”: “West,Central,South”
				}
				{
					“Key”: “tag_role”,
					“Value”: “shift_manager”
				}
			],
		“AuthorizedResourceArns”:
			[
				“string”
			],
		“ExperienceConfiguration”:
			{
				“Dashboard”:
					{
						“InitialDashboardId”: “string”
						// This is the initial dashboard ID the customer wants the user to land on. This ID goes in the output URL.
					}
			}
	}
```

다음은 이 응답 정의의 예입니다.

```
HTTP/1.1 Status
	Content-type: application/json

	{
	"EmbedUrl": "string",
	"RequestId": "string"
	}
```

Quick에 사용자를 등록하지 않는 RLS 지원은 `GenerateEmbedUrlForAnonymousUser` API 작업에서만 지원됩니다. 이 `SessionTags` 작업에서는, 데이터 세트 열과 관련된 태그의 값을 정의할 수 있습니다.

이 경우 다음과 같은 할당이 정의됩니다.
+ 값 `West`, `Central` 및 `South`은 런타임 시 `tag_retailer_id` 태그에 할당됩니다. 쉼표는 데이터 세트의 `TagMultipleValueDelimiter`에 정의된 구분 기호로 사용됩니다. 열의 호출 값을 사용하려면, 값을 태그를 만들 때 `MatchAllValue`로 정의한 \$1로 설정하면 됩니다.
+ `shift_manager` 값은 `tag_role` 태그에 할당됩니다.

생성된 URL을 사용하는 사용자는 `role` 열에 `shift_manager` 값이 있는 행만 볼 수 있습니다. 해당 사용자는 `retailer_id` 열에 있는 `West`, `Central`, 또는 `South` 값만 볼 수 있습니다.

`GenerateEmbedUrlForAnonymousUser` API 작업을 사용하여 익명 사용자를 위한 대시보드를 포함하는 방법에 대한 자세한 내용은 Amazon Quick API 참조의 [익명(미등록) 사용자를 위한 Amazon Quick Sight 대시보드 임베딩](embedded-analytics-dashboards-for-everyone.md)또는 [GenerateEmbedUrlForAnonymousUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForAnonymousUser.html)를 참조하세요. ** 

# 열 수준 보안을 사용하여 데이터세트에 대한 액세스 제한
<a name="restrict-access-to-a-data-set-using-column-level-security"></a>

Quick의 Enterprise Edition에서는 데이터 세트에 대한 열 수준 보안(CLS)을 구성하여 데이터 세트에 대한 액세스를 제한할 수 있습니다. CLS가 활성화된 데이터 세트 또는 분석의 옆에는 제한된 ![\[The lock icon for CLS.\]](http://docs.aws.amazon.com/ko_kr/quick/latest/userguide/images/cls-restricted-icon.png) 기호가 있습니다. 기본적으로 모든 사용자 및 그룹이 데이터에 액세스할 수 있습니다. CLS를 사용하면 데이터 세트의 특정 열에 대한 액세스를 관리할 수 있습니다.

액세스할 수 없는 CLS 제한이 있는 데이터셋이 포함된 분석 또는 대시보드를 사용하는 경우 제한된 필드를 사용하는 시각적 객체를 만들거나 보거나 편집할 수 없습니다. 대부분의 시각적 유형에서 액세스할 수 없는 제한된 열이 비주얼에 있는 경우 분석 또는 대시보드에서 해당 시각적 객체를 볼 수 없습니다.

테이블과 피벗 테이블은 다르게 동작합니다. 테이블 또는 피벗 테이블에서 **행** 또는 열 필드 모음의 제한된 **열**을 사용하는데 이러한 제한된 열에 액세스할 수 없는 경우 분석 또는 대시보드에서 시각적 객체를 볼 수 없습니다. 테이블 또는 피벗 테이블의 **값** 필드 모음에 제한된 열이 있는 경우 액세스할 수 있는 값만 포함된 분석 또는 대시보드에서 테이블을 볼 수 있습니다. 제한된 열의 값은 승인되지 않음으로 표시됩니다.

분석 또는 대시보드에서 열 수준 보안을 활성화하려면 관리자 액세스 권한이 필요합니다.

**CLS로 새 분석 생성하기**

1. 빠른 시작 페이지에서 **분석** 탭을 선택합니다.

1. 오른쪽 상단에서 **새 분석**을 선택합니다.

1. 데이터 세트를 선택하고 **열 수준 보안**을 선택합니다.

1. 제한하려는 열을 선택하고 **다음**을 선택합니다. 기본적으로 모든 그룹과 사용자는 모든 열에 접근할 수 있습니다.

1. 각 열에 접근할 수 있는 사용자를 선택한 다음 **적용**을 선택하여 변경 내용을 저장합니다.

**CLS에 대한 기존 분석 사용하기**

1. 빠른 시작 페이지에서 **데이터** 탭을 선택합니다.

1. 데이터 페이지에서 데이터 세트를 엽니다.

1. 열린 데이터세트 세부정보 페이지에서 **열 수준** 보안을 위해 **설정**을 선택합니다.

1. 제한하려는 열을 선택하고 **다음**을 선택합니다. 기본적으로 모든 그룹과 사용자는 모든 열에 접근할 수 있습니다.

1. 각 열에 접근할 수 있는 사용자를 선택한 다음 **적용**을 선택하여 변경 내용을 저장합니다.

**CLS를 통해 대시보드를 생성하기**

1. 빠른 탐색 창에서 **분석** 탭을 선택합니다.

1. 대시보드를 생성하려는 분석을 선택합니다.

1. 오른쪽 상단에서 **게시**를 선택합니다.

1. 다음 중 하나를 선택합니다.
   + 새 대시보드를 생성하려면 **새 대시보드 게시**를 선택한 다음 새 대시보드 이름을 입력합니다.
   + 기존 대시보드를 교체하려면 **기존 대시보드 교체**를 선택한 다음 목록에서 대시보드를 선택합니다.

   또한 **고급 게시 옵션**을 선택할 수 있습니다. 자세한 내용은 [대시보드 게시](creating-a-dashboard.md) 단원을 참조하십시오.

1. **대시보드 게시**를 선택합니다.

1. (선택 사항) 다음 중 하나를 수행하십시오.
   + 공유 없이 대시보드를 게시하려면 **사용자와 대시보드 공유** 화면의 상단 오른쪽에서 나타날 때 **x**를 선택합니다. 나중에 애플리케이션 표시줄에서 **공유**를 선택하여 대시보드를 공유할 수 있습니다.
   + 대시보드를 공유하려면 [Amazon Quick Sight 대시보드 공유](sharing-a-dashboard.md)의 절차를 따르세요.

# Amazon Quick에서 IAM 역할로 쿼리 실행
<a name="datasource-run-as-role"></a>

Amazon Athena, Amazon Redshift 또는 Amazon S3에 연결된 데이터 소스에 대한 광범위한 권한 대신 세분화된 액세스 정책을 사용하여 데이터 보안을 강화할 수 있습니다. 먼저 사용자 또는 API가 쿼리를 시작할 때 활성화할 권한이 있는 AWS Identity and Access Management (IAM) 역할을 생성합니다. 그런 다음 빠른 관리자 또는 개발자가 Athena 또는 Amazon S3 데이터 소스에 IAM 역할을 할당합니다. 역할이 지정되면 쿼리를 실행하는 모든 사용자 또는 API가 쿼리를 실행하는 데 필요한 정확한 권한을 갖게 됩니다.

다음은 데이터 보안을 강화하기 위해 run-as 역할을 구현하기 전에 고려해야 할 몇 가지 사항입니다.
+ 추가 보안이 어떻게 유리하게 작용하는지 설명합니다.
+ 빠른 관리자와 협력하여 데이터 소스에 역할을 추가하면 보안 목표 또는 요구 사항을 더 잘 충족하는 데 도움이 되는지 알아봅니다.
+ 데이터 소스의 수와 관련된 사람 및 애플리케이션의 수에 대해 팀에서 이러한 유형의 보안을 문서화하고 유지할 수 있는지 물어보십시오. 그렇지 않다면 그 부분은 누가 맡을 건가요?
+ 구조화된 조직에서는 운영, 개발 및 IT 지원 부서의 병렬 팀에 이해 관계자를 배치합니다. 경험, 조언, 계획을 지원할 의향이 있는지 물어보십시오.
+ 프로젝트를 시작하기 전에 데이터에 액세스해야 하는 사람들을 참여시키는 개념 증명을 고려해 보십시오.

Athena, Amazon Redshift 및 Amazon S3에서 실행 역할을 사용할 때는 다음과 같은 규칙이 적용됩니다.
+ 각 데이터 소스에는 연결된 RoleArn이 하나만 있을 수 있습니다. 일반적으로 데이터 세트와 시각적 객체에 액세스하는 데이터 소스의 소비자는 다양한 유형의 쿼리를 생성할 수 있습니다. 역할은 작동하는 쿼리와 작동하지 않는 쿼리의 경계를 설정합니다.
+ ARN은 이를 사용하는 빠른 인스턴스 AWS 계정 와 동일한의 IAM 역할에 해당해야 합니다.
+ IAM 역할에는 Quick이 역할을 수임할 수 있는 신뢰 관계가 있어야 합니다.
+ Quick의 APIs 호출하는 자격 증명은 역할을 전달할 권한이 있어야 `RoleArn` 속성을 업데이트할 수 있습니다. 역할 ARN을 생성하거나 업데이트할 때만 역할을 전달하면 됩니다. 권한은 나중에 재평가되지 않습니다. 마찬가지로 역할 ARN이 생략된 경우에는 권한이 필요하지 않습니다.
+ 역할 ARN이 생략된 경우 Athena 또는 Amazon S3 데이터 소스는 계정 전체 역할 및 범위 축소 정책을 사용합니다.
+ 역할 ARN이 있는 경우 계정 전체 역할과 범위 축소 정책이 모두 무시됩니다. Athena 데이터 소스스의 경우 Lake Formation 권한은 무시되지 않습니다.
+ Amazon S3 데이터 소스의 경우, 매니페스트 파일과 매니페스트 파일에 지정된 데이터 모두 IAM 역할을 사용하여 액세스할 수 있어야 합니다.
+ ARN 문자열은 데이터가 위치 AWS 계정 하고 쿼리 AWS 리전 되는 및의 기존 IAM 역할과 일치해야 합니다.

Quick은의 다른 서비스에 연결할 때 IAM 역할을 AWS사용합니다. 기본적으로 역할의이 덜 세분화된 버전은 사용하는 각 서비스에 대해 Quick에서 생성되며 역할은 AWS 계정 관리자가 관리합니다. 사용자 지정 권한 정책을 사용하여 IAM 역할 ARN을 추가하면 추가 보호가 필요한 데이터 소스의 더 광범위한 역할을 재정의합니다. 정책에 대한 자세한 내용은 IAM 사용 설명서의 [고객 관리형 정책 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_managed-policies.html)을 참조하십시오.

## Athena 데이터 소스를 사용하여 쿼리 실행
<a name="datasource-run-as-role-athena"></a>

API를 사용하여 ARN을 Athena 데이터 소스에 연결합니다. 이렇게 하려면 [AthenaParameters](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_AthenaParameters.html)의 [RoleArn](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RoleArn.html) 속성에 역할 ARN을 추가하십시오. 확인을 위해 **Athena 데이터 소스** 편집 대화 상자에서 역할 ARN을 볼 수 있습니다. 그러나 **역할 ARN**은 읽기 전용 필드입니다.

시작하려면 사용자 지정 IAM 역할이 필요합니다. 이 역할은 다음 예제에서 설명합니다.

다음 코드 예제는 학습 목적으로만 사용된다는 점에 유의하십시오 이 예제는 임시 개발 및 테스트 환경에서만 사용하고 프로덕션 환경에서는 사용하지 마십시오. 이 예제의 정책은 배포 가능한 정책에 포함되어야 하는 특정 리소스를 보호하지 않습니다. 또한 개발을 위한 경우에도 자체 AWS 계정 정보를 추가해야 합니다.

다음 명령은 간단한 새 역할을 생성하고 Quick에 권한을 부여하는 몇 가지 정책을 연결합니다.

```
aws iam create-role \
        --role-name TestAthenaRoleForQuickSight \
        --description "Test Athena Role For QuickSight" \
        --assume-role-policy-document '{
            "Version": "2012-10-17"		 	 	 ,
            "Statement": [
                {
                    "Effect": "Allow",
                    "Principal": {
                        "Service": "quicksight.amazonaws.com"
                    },
                    "Action": "sts:AssumeRole"
                }
            ]
        }'
```

각 데이터 소스에 사용할 IAM 역할을 식별하거나 생성한 후에는 attach-role-policy를 사용하여 정책을 연결합니다.

```
aws iam attach-role-policy \
        --role-name TestAthenaRoleForQuickSight \
        --policy-arn arn:aws:iam::222222222222:policy/service-role/AWSQuickSightS3Policy1

    aws iam attach-role-policy \
        --role-name TestAthenaRoleForQuickSight \
        --policy-arn arn:aws:iam::aws:policy/service-role/AWSQuicksightAthenaAccess1

    aws iam attach-role-policy \
        --role-name TestAthenaRoleForQuickSight \
        --policy-arn arn:aws:iam::aws:policy/AmazonS3Access1
```



권한을 확인한 후 새 역할을 생성하거나 기존 역할을 업데이트하여 빠른 데이터 소스에서 역할을 사용할 수 있습니다. 이러한 명령을 사용할 때는 AWS 계정 ID 및를 업데이트 AWS 리전 하여 자신의 ID와 일치시킵니다.

이 예제 코드 스니펫은 프로덕션 환경에서는 사용할 수 없다는 점을 기억하십시오. AWS 은(는) 프로덕션 사례에 대한 최소 권한 정책 세트를 식별하여 사용하는 것이 좋습니다.

```
aws quicksight create-data-source
        --aws-account-id 222222222222 \
        --region us-east-1 \
        --data-source-id "athena-with-custom-role" \
        --cli-input-json '{
            "Name": "Athena with a custom Role",
            "Type": "ATHENA",
            "data sourceParameters": {
                "AthenaParameters": {
                    "RoleArn": "arn:aws:iam::222222222222:role/TestAthenaRoleForQuickSight"
                }
            }
        }'
```

## Amazon Redshift 데이터 소스를 사용하여 쿼리 실행
<a name="datasource-run-as-role-redshift"></a>

Amazon Redshift 데이터를 실행 역할과 연결하여 세분화된 액세스 정책으로 데이터 보안을 강화합니다. 퍼블릭 네트워크 또는 VPC 연결을 사용하는 Amazon Redshift 데이터 소스에 대한 실행 역할을 생성할 수 있습니다. **Amazon Redshift 데이터 소스 편집** 대화 상자에서 사용하려는 연결 유형을 지정합니다. 실행형 역할은 Amazon Redshift Serverless 데이터 소스에서 지원되지 않습니다.

시작하려면 사용자 지정 IAM 역할이 필요합니다. 이 역할은 다음 예제에서 설명합니다. 다음 명령은 샘플 새 역할을 생성하고 Quick에 권한을 부여하는 정책을 연결합니다.

```
aws iam create-role \
--role-name TestRedshiftRoleForQuickSight \
--description "Test Redshift Role For QuickSight" \
--assume-role-policy-document '{
    "Version": "2012-10-17"		 	 	 ,
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "quicksight.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}'
```

각 데이터 소스에 사용할 IAM 역할을 식별하거나 생성한 후에는 `attach-role-policy`을(를) 사용하여 정책을 연결합니다. 사용하려는 역할에 `redshift:GetClusterCredentialsWithIAM` 권한이 연결된 경우 `DatabaseUser` 및 `DatabaseGroups`의 값은 선택 사항입니다.

```
aws iam attach-role-policy \
--role-name TestRedshiftRoleForQuickSight \
--policy-arn arn:aws:iam:111122223333:policy/service-role/AWSQuickSightRedshiftPolicy
    
        
aws iam create-policy --policy-name RedshiftGetClusterCredentialsPolicy1 \
--policy-document file://redshift-get-cluster-credentials-policy.json 


aws iam attach-role-policy \
--role-name TestRedshiftRoleForQuickSight \
--policy-arn arn:aws:iam:111122223333:policy/RedshiftGetClusterCredentialsPolicy1
// redshift-get-cluster-credentials-policy.json
{
    "Version": "2012-10-17"		 	 	 ,
    "Statement": [
        {
            "Sid": "RedshiftGetClusterCredentialsPolicy",
            "Effect": "Allow",
            "Action": [
                "redshift:GetClusterCredentials"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

위 예제에서는 `RoleARN`, `DatabaseUser` 및 `DatabaseGroups` IAM 파라미터를 사용하는 데이터 소스를 생성합니다. IAM `RoleARN` 파라미터를 통해서만 연결을 설정하려면 아래 예제와 같이 역할에 `redshift:GetClusterCredentialsWithIAM` 권한을 연결합니다.

```
aws iam attach-role-policy \ 
--role-name TestRedshiftRoleForQuickSight \ 
--policy-arn arn:aws:iam:111122223333:policy/RedshiftGetClusterCredentialsPolicy1 // redshift-get-cluster-credentials-policy.json {
    "Version": "2012-10-17"		 	 	 ,
    "Statement": [ 
        {
            "Sid": "RedshiftGetClusterCredentialsPolicy", 
            "Effect": "Allow", 
            "Action": [ "redshift:GetClusterCredentialsWithIAM" ],
            "Resource": [ "*" ]
        }
    ]
}"
```

권한을 확인한 후 새 역할을 생성하거나 기존 역할을 업데이트하여 빠른 데이터 소스에서 역할을 사용할 수 있습니다. 이러한 명령을 사용할 때는 AWS 계정 ID와 AWS 리전을 자신의 ID와 일치하도록 업데이트합니다.

```
aws quicksight create-data-source \
--region us-west-2 \
--endpoint https://quicksight.us-west-2.quicksight.aws.com/ \
--cli-input-json file://redshift-data-source-iam.json \
redshift-data-source-iam.json is shown as below
{
    "AwsAccountId": "AWSACCOUNTID",
    "DataSourceId": "DATSOURCEID",
    "Name": "Test redshift demo iam",
    "Type": "REDSHIFT",
    "DataSourceParameters": {
        "RedshiftParameters": {
            "Database": "integ",
            "Host": "redshiftdemocluster.us-west-2.redshift.amazonaws.com",
            "Port": 8192,
            "ClusterId": "redshiftdemocluster",
            "IAMParameters": {
                "RoleArn": "arn:aws:iam::222222222222:role/TestRedshiftRoleForQuickSight",
                "DatabaseUser": "user",
                "DatabaseGroups": ["admin_group", "guest_group", "guest_group_1"]
            }
        }
    },
    "Permissions": [
      {
        "Principal": "arn:aws:quicksight:us-east-1:AWSACCOUNTID:user/default/demoname",
        "Actions": [
          "quicksight:DescribeDataSource",
          "quicksight:DescribeDataSourcePermissions",
          "quicksight:PassDataSource",
          "quicksight:UpdateDataSource",
          "quicksight:DeleteDataSource",
          "quicksight:UpdateDataSourcePermissions"
        ]
      }
    ]
}
```

데이터 소스가 VPC 연결 유형을 사용하는 경우 다음 VPC 구성을 사용하십시오.

```
{
    "AwsAccountId": "AWSACCOUNTID",
    "DataSourceId": "DATSOURCEID",
    "Name": "Test redshift demo iam vpc",
    "Type": "REDSHIFT",
    "DataSourceParameters": {
        "RedshiftParameters": {
            "Database": "mydb",
            "Host": "vpcdemo.us-west-2.redshift.amazonaws.com",
            "Port": 8192,
            "ClusterId": "vpcdemo",
            "IAMParameters": {
                "RoleArn": "arn:aws:iam::222222222222:role/TestRedshiftRoleForQuickSight",
                "DatabaseUser": "user",
                "AutoCreateDatabaseUser": true
            }
        }
    },
    "VpcConnectionProperties": { 
      "VpcConnectionArn": "arn:aws:quicksight:us-west-2:222222222222:vpcConnection/VPC Name"
    },
    "Permissions": [
      {
        "Principal": "arn:aws:quicksight:us-east-1:222222222222:user/default/demoname",
        "Actions": [
          "quicksight:DescribeDataSource",
          "quicksight:DescribeDataSourcePermissions",
          "quicksight:PassDataSource",
          "quicksight:UpdateDataSource",
          "quicksight:DeleteDataSource",
          "quicksight:UpdateDataSourcePermissions"
        ]
      }
    ]
}
```

데이터 소스가 `redshift:GetClusterCredentialsWithIAM` 권한을 사용하고 `DatabaseUser` 또는 `DatabaseGroups` 파라미터를 사용하지 않는 경우 스키마의 일부 또는 모든 테이블에 대한 역할 액세스 권한을 부여합니다. 역할에 특정 테이블에 대한 `SELECT` 권한이 부여되었는지 확인하려면 Amazon Redshift Query Editor에 다음 명령을 입력합니다.

```
SELECT
u.usename,
t.schemaname||'.'||t.tablename,
has_table_privilege(u.usename,t.tablename,'select') AS user_has_select_permission
FROM
pg_user u
CROSS JOIN
pg_tables t
WHERE
u.usename = 'IAMR:RoleName'
AND t.tablename = tableName
```

Amazon Redshift Query Editor의 `SELECT` 작업에 대한 자세한 정보는 [선택](https://docs.aws.amazon.com/redshift/latest/dg/r_SELECT_synopsis.html)을 참조하세요.

역할에 `SELECT` 권한을 부여하려면 Amazon Redshift Query Editor에 다음 명령을 입력합니다.

```
GRANT SELECT ON { [ TABLE ] table_name [, ...] | ALL TABLES IN SCHEMA 
schema_name [, ...] } TO "IAMR:Rolename";
```

Amazon Redshift Query Editor의 `GRANT` 작업에 대한 자세한 정보는 [권한 부여](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html)를 참조하세요.

## Amazon S3 데이터 소스를 사용하여 쿼리 실행
<a name="datasource-run-as-role-s3"></a>

Amazon S3 데이터 소스에는 Quick이 데이터를 찾고 구문 분석하는 데 사용하는 매니페스트 파일이 포함되어 있습니다. Quick 콘솔을 통해 JSON 매니페스트 파일을 업로드하거나 S3 버킷의 JSON 파일을 가리키는 URL을 제공할 수 있습니다. URL을 제공하기로 선택한 경우 Amazon S3의 파일에 액세스할 수 있는 권한을 Quick에 부여해야 합니다. 빠른 관리 콘솔을 사용하여 매니페스트 파일 및 매니페스트 파일에서 참조하는 데이터에 대한 액세스를 제어합니다.

**RoleArn** 속성을 사용하면 계정 전체 역할을 재정의하는 사용자 지정 IAM 역할을 통해 매니페스트 파일 및 해당 파일이 참조하는 데이터에 대한 액세스 권한을 부여할 수 있습니다. API를 사용하여 Amazon S3 데이터 소스의 매니페스트 파일에 ARN을 연결합니다. 이렇게 하려면[S3Parameters](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_S3Parameters.html)의 [RoleArn](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RoleArn.html) 속성에 역할 ARN을 포함시키십시오. 확인을 위해 **S3 데이터 소스 편집** 대화 상자에서 역할 ARN을 볼 수 있습니다. 하지만 **Role ARN**은 다음 스크린샷과 같이 읽기 전용 필드입니다.

시작하려면 Amazon S3 매니페스트 파일을 생성하십시오. 그런 다음 새 Amazon S3 데이터 세트를 생성할 때 Amazon Quick에 업로드하거나 해당 파일을 데이터 파일이 포함된 Amazon S3 버킷에 배치할 수 있습니다. 다음 예제를 보고 매니페스트 파일이 어떤 모습일지 확인해 보십시오.

```
{
    "fileLocations": [
        {
            "URIPrefixes": [
                "s3://quicksightUser-run-as-role/data/"
            ]
        }
    ],
    "globalUploadSettings": {
        "format": "CSV",
        "delimiter": ",",
        "textqualifier": "'",
        "containsHeader": "true"
    }
}
```

매니페스트 파일을 만드는 방법에 대한 설명은 [Amazon S3 매니페스트 파일에 지원되는 형식](supported-manifest-file-format.md)을(를) 참조하십시오.

매니페스트 파일을 생성하여 Amazon S3 버킷에 추가하거나 Quick에 업로드한 후 IAM에서 `s3:GetObject` 액세스 권한을 부여하는 기존 역할을 생성하거나 업데이트합니다. 다음 예제에서는 AWS API를 사용하여 기존 IAM 역할을 업데이트하는 방법을 보여줍니다.

```
aws iam put-role-policy \
    --role-name QuickSightAccessToS3RunAsRoleBucket \
    --policy-name GrantS3RunAsRoleAccess \
    --policy-document '{
        "Version": "2012-10-17"		 	 	 ,
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "s3:ListBucket",
                "Resource": "arn:aws:s3:::s3-bucket-name"
            },
            {
                "Effect": "Allow",
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::s3-bucket-name/manifest.json"
            },
            {
                "Effect": "Allow",
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::s3-bucket-name/*"
            }
        ]
    }'
```

정책에서 `s3:GetObject` 액세스 권한을 부여한 후에는 Amazon S3 데이터 소스의 매니페스트 파일에 업데이트된 `put-role-policy`을(를) 적용하는 데이터 소스 생성을 시작할 수 있습니다.

```
aws quicksight create-data-source --aws-account-id 111222333444 --region us-west-2 --endpoint https://quicksight.us-west-2.quicksight.aws.com/ \
    --data-source-id "s3-run-as-role-demo-source" \
    --cli-input-json '{
        "Name": "S3 with a custom Role",
        "Type": "S3",
        "DataSourceParameters": {
            "S3Parameters": {
                "RoleArn": "arn:aws:iam::111222333444:role/QuickSightAccessRunAsRoleBucket",
                "ManifestFileLocation": {
                    "Bucket": "s3-bucket-name", 
                    "Key": "manifest.json"
                }
            }
        }
    }'
```

권한을 확인한 후 새 역할을 생성하거나 기존 역할을 업데이트하여 빠른 데이터 소스에서 역할을 사용할 수 있습니다. 이러한 명령을 사용할 때는 AWS 계정 ID와 AWS 리전 를 자신의 ID와 일치하도록 업데이트해야 합니다.

# 데이터 세트 삭제
<a name="delete-a-data-set"></a>

**중요**  
현재 데이터 세트 삭제는 되돌릴 수 없으며 결과적으로 작업이 영구적으로 손실될 수 있습니다. 삭제하면 종속 객체가 계단식으로 삭제되지 않습니다. 삭제된 데이터 세트를 동일한 데이터 세트로 바꾸더라도 종속 객체는 작동을 중지합니다.

데이터 세트를 삭제하기 전에 먼저 각 종속 분석 또는 대시보드가 새 데이터 세트를 가리키도록 하는 것이 좋습니다.

현재, 종속 시각적 객체가 여전히 존재하는 동안 데이터 세트를 삭제하면 해당 시각적 객체가 포함된 분석 및 대시보드는 새로운 메타데이터를 이해할 방법이 없습니다. 이러한 시각적 객체는 여전히 표시되지만 작동할 수 없습니다. 동일한 데이터 세트를 추가해도 이러한 시각적 객체를 복구할 수 없습니다.

이렇게 되는 이유는 데이터 세트에는 해당 데이터 세트에 종속되는 분석 및 대시보드에 필수적인 메타데이터가 포함되어 있기 때문입니다. 이 메타데이터는 각 데이터 세트에 대해 고유하게 생성됩니다. Quick Sight 엔진은 메타데이터를 읽을 수 있지만 사람이 읽을 수 없습니다(예: 필드 이름이 포함되지 않음). 따라서 데이터 세트를 똑같이 복제하더라도 메타데이터가 서로 다릅니다. 동일한 이름과 동일한 필드를 공유하는 여러 데이터 세트의 경우에도 각 데이터 세트의 메타데이터는 고유합니다.

**보안 암호를 삭제하기**

1. 계속 사용하려는 분석이나 대시보드에서 데이터 세트가 사용되고 있지 않는지 확인하십시오.

   **데이터** 페이지에서 더 이상 필요하지 않은 데이터 세트를 선택합니다. 그런 다음 오른쪽 상단에서 **데이터 세트 삭제**를 선택합니다.

1. 경고가 나타나는 경우 이 데이터 세트가 사용 중이면 모든 종속 분석과 대시보드를 추적하고 해당 분석과 대시보드가 다른 데이터 세트를 가리키도록 합니다. 이렇게 할 수 없는 경우 삭제하는 대신 다음 모범 사례를 하나 이상 시도해 봅니다.
   + 데이터 세트가 확실히 더 이상 사용되지 않도록 데이터 세트의 이름을 변경합니다.
   + 데이터 세트에 행이 없도록 데이터를 필터링합니다.
   + 데이터 세트에 대한 다른 모든 사람의 액세스 권한을 제거합니다.

   가능한 모든 수단을 사용하여 종속 객체의 소유자에게 이 데이터 세트가 더 이상 사용되지 않음을 알리는 것이 좋습니다. 또한 조치를 취할 수 있는 충분한 시간을 제공하는지 확인하십시오.

1. 데이터 세트가 삭제된 후 작동을 중지할 종속 객체가 없는지 확인한 후에 데이터 세트를 선택한 다음 **데이터 세트 삭제**를 선택합니다. 선택을 확인하거나 **Cancel(취소)**을 선택합니다.

**중요**  
현재 데이터 세트 삭제는 되돌릴 수 없으며 결과적으로 작업이 영구적으로 손실될 수 있습니다. 삭제하면 종속 객체가 계단식으로 삭제되지 않습니다. 삭제된 데이터 세트를 동일한 데이터 세트로 바꾸더라도 종속 객체는 작동을 중지합니다.

# 분석에 데이터 세트 추가
<a name="adding-a-data-set-to-an-analysis"></a>

분석을 생성한 후 분석에 데이터 세트를 추가할 수 있습니다. 그런 다음 해당 데이터 세트를 사용하여 시각적 객체를 추가할 수 있습니다.

분석에서 편집할 데이터 세트를 열고 필드를 추가 또는 제거하거나 데이터 준비 작업을 수행합니다. 데이터 세트를 제거하거나 바꿀 수도 있습니다.

**데이터** 창 상단에 현재 선택된 데이터세트가 표시됩니다. 이것이 바로 현재 선택된 시각적 객체에서 사용하는 데이터 세트입니다. 시각적 객체 하나당 데이터 세트 하나만 사용할 수 있습니다. 다른 시각적 객체를 선택하면 데이터 세트도 해당 시각적 객체에서 사용하는 것으로 바뀝니다.

선택된 데이터세트를 수동으로 변경하려면 **데이터** 창의 상단에 있는 데이터세트 목록을 선택한 다음 다른 데이터세트를 선택합니다. 그러면 현재 선택한 시각적 객체가 이 데이터 세트를 사용하지 않는 경우 해당 시각적 객체의 선택이 취소됩니다. 그런 다음, 선택한 데이터 세트를 사용하는 시각적 객체를 선택합니다. 또는 **시각화** 창에서 **추가**를 선택하여 선택된 데이터세트를 통해 새 시각화를 생성합니다.

추천되는 시각적 객체를 보기 위해 도구 모음에서 **제안됨**을 선택하면 현재 선택된 데이터 세트를 기준으로 시각적 객체가 표시됩니다.

현재 선택된 데이터 세트의 필터만 **필터** 창에 표시되며, 현재 선택된 데이터 세트에 대한 필터만 만들 수 있습니다.

**Topics**
+ [데이터 세트 변경](replacing-data-sets.md)
+ [분석에서 데이터 세트 제거](delete-a-data-set-from-an-analysis.md)

분석에 데이터 세트를 추가하거나 분석에 사용된 데이터 세트를 편집하려면 다음 절차에 따르십시오.

**분석에 데이터세트 추가**

1. 분석 페이지에서 **데이터** 창으로 이동하여 **데이터세트** 드롭다운을 확장합니다.

1. **데이터세트 추가**를 선택하여 데이터세트를 추가합니다. 또는 **데이터세트 관리**를 선택하여 데이터세트를 편집합니다. 데이터 세트 편집에 대한 자세한 내용은 [데이터 세트 편집](edit-a-data-set.md)을(를) 참조하십시오.

1. 데이터 세트의 목록이 나타납니다. 데이터 세트를 선택한 다음 **선택**을 선택합니다. 취소하려면 **취소**를 선택합니다.

# 데이터 세트 변경
<a name="replacing-data-sets"></a>

분석에서 데이터 세트를 추가, 편집, 교체 또는 제거할 수 있습니다. 이 섹션에서는 데이터 세트를 바꾸는 방법을 알아봅니다.

데이터 세트를 바꿀 때 시각적 객체를 원래 의도한 대로 유지하려면 비슷한 열을 가진 새 데이터 세트를 선택해야 합니다. 또한 데이터 세트를 바꾸면 분석에 대한 실행 취소 및 다시 실행 기록이 지워집니다. 즉, 애플리케이션 표시줄에서 실행 취소 및 다시 실행 버튼을 사용하여 변경 사항을 탐색할 수 없습니다. 따라서 데이터 세트를 변경하려는 경우 분석 디자인이 안정적이어야 합니다. 즉, 편집 중이아니어야 합니다.

**데이터 세트 교체하기**

1. 분석 페이지에서 **데이터** 창으로 이동하여 **데이터세트** 드롭다운을 확장합니다.

1. **데이터세트 관리**를 선택합니다.

1. 바꿀 데이터세트 옆에 있는 줄임표(...)를 선택한 다음 **바꾸기**를 선택합니다.

1. **대체 데이터 세트 선택** 페이지의 목록에서 데이터 세트를 선택한 다음 **선택**을 선택합니다.
**참고**  
데이터 세트를 바꾸면 이 분석에 대한 실행 취소 및 다시 실행 기록이 지워집니다.

데이터 세트가 새 데이터 세트로 교체됩니다. 필드 목록과 시각적 객체가 새 데이터 세트로 업데이트됩니다.

여기서 새 데이터 세트를 추가 또는 편집하거나 다른 데이터 세트로 바꿀 수 있습니다. **닫기**를 선택하여 종료합니다.

## 새 데이터 세트가 일치하지 않는 경우
<a name="replacing-data-sets-2"></a>

일부 경우에, 분석에서 시각적 객체, 필터, 파라미터 및 계산된 필드에 사용된 모든 필드와 계층이 선택한 대체 데이터 세트에 다 포함되지 않습니다. 그렇다면 Quick Sight에서 일치하지 않거나 누락된 열 목록을 표시하는 경고를 받게 됩니다.

이 경우 두 데이터 세트 간의 필드 매핑을 업데이트할 수 있습니다.

**필드 매핑을 업데이트하기**

1. **대체 데이터 세트의 불일치** 페이지에서 **필드 매핑 업데이트**를 선택합니다.

1. **필드 매핑 업데이트** 페이지에서 매핑하려는 필드의 드롭다운 메뉴를 선택하고 목록에서 매핑할 필드를 선택합니다.

   새 데이터셋에서 필드가 누락된 경우 **이 필드 무시**를 선택하세요.

1. **확인**을 선택하여 업데이트를 확인합니다.

1. 페이지를 닫고 분석으로 돌아가려면 **닫기**를 선택합니다.

데이터 세트가 새 데이터 세트로 교체됩니다. 필드 목록과 시각적 객체가 새 데이터 세트로 업데이트됩니다.

새 데이터 세트에서 누락된 필드를 사용하고 있던 모든 시각적 객체가 빈 필드로 업데이트됩니다. 시각적 객체에 필드를 읽어오거나 분석에서 시각적 객체를 제거할 수 있습니다.

데이터 세트를 바꾼 이후에 생각이 바뀔 경우 이전 데이터 세트로 복구할 수도 있습니다. 데이터 세트를 바꾼 다음 새 데이터 세트와 일치하도록 분석을 변경하는 것이 너무 어렵다는 것을 알게 되었다고 가정합니다. 분석에 수행한 변경을 실행 취소할 수 있습니다. 그런 다음 새 데이터 세트를 원래 데이터 세트로 바꾸거나, 분석 요구 사항과 더 가깝게 일치하는 데이터 세트로 바꿀 수 있습니다.

# 분석에서 데이터 세트 제거
<a name="delete-a-data-set-from-an-analysis"></a>

분석에서 데이터 세트를 삭제하려면 다음 절차에 따르십시오.

**분석에서 데이터 세트 삭제하기**

1. 분석 페이지에서 **데이터** 창으로 이동하여 **데이터세트** 드롭다운을 확장합니다.

1. **데이터세트 관리**를 선택합니다.

1. 바꿀 데이터세트 옆에 있는 줄임표(...)를 선택한 다음 **제거**를 선택합니다. 분석에 데이터 세트가 하나뿐인 경우 데이터 세트를 삭제할 수 없습니다.

1. **닫기**를 선택하여 대화 상자를 닫습니다.