

 Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 [블로그 게시물](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)을 참조하세요.

# 콘솔에서 읽기 전용 데이터 공유 시작하기
<a name="getting-started-datashare-read-only"></a>

Amazon Redshift를 사용하면 콘솔을 사용하여 쓰기로 데이터 공유를 관리하여 Amazon Redshift 클러스터 및 AWS 계정 전반의 데이터에 대한 액세스를 제어하고 데이터를 거버넌스할 수 있습니다. 다음 섹션에서는 Amazon Redshift 콘솔을 사용하여 쓰기로 데이터 공유를 구성하고 관리하는 방법에 대한 단계별 설명을 제공합니다.

Amazon Redshift 콘솔을 사용하여 계정에서 생성되거나 다른 계정에서 공유된 datashare를 관리합니다.

데이터 공유를 생성, 편집 또는 삭제하려면 권한이 필요합니다. 자세한 내용은 [Amazon Redshift에서 데이터 공유에 대한 권한 관리](writes-managing-permissions.md) 섹션을 참조하세요.
+ 생산자 관리자는 **클러스터** 탭에서 데이터 공유 만들기, 데이터 소비자 추가, 데이터 공유 객체 추가, 데이터 공유에서 데이터베이스 만들기, 데이터 공유 편집 또는 데이터 공유 삭제를 수행할 수 있습니다.

  탐색 메뉴에서 [**클러스터(Clusters)**] 탭으로 이동하고 클러스터 목록에서 클러스터를 선택합니다. 그런 다음, 다음 중 하나를 수행하세요.
  + **Datashare**(데이터 공유) 탭을 선택하고 **Datashares created in my namespace**(내 네임스페이스에서 생성된 datashare) 섹션을 선택합니다. 그런 다음, 다음 중 하나를 수행하세요.
    + [데이터 공유 만들기](datashare-creation.md#create-datashare-console)

      datashare가 생성되면 datashare 객체 또는 데이터 소비자를 추가할 수 있습니다. 자세한 내용은 [데이터 공유에 데이터 공유 객체 추가](datashare-creation.md#add-datashare-object-console) 및 [데이터 공유에 데이터 소비자 추가](datashare-creation.md#add-data-consumer-console) 섹션을 참조하세요.
    + [계정에 생성된 datashare 편집](manage-datashare-existing-console.md#edit-datashare-console)
    + [계정에 만들어진 데이터 공유 삭제](manage-datashare-existing-console.md#delete-datashare-console)
  + [**Datashare(Datashares)**]를 선택하고 [**다른 클러스터의 datashare(Datashares from other clusters)**]에서 datashare를 선택합니다. 그런 다음, 다음 중 하나를 수행하세요.
    + [데이터 공유 만들기](datashare-creation.md#create-datashare-console)
    + [datashare에서 데이터베이스 생성](query-datashare-console.md#create-database-from-datashare-console)
  + [**데이터베이스(Databases)**]를 선택하고 [**데이터베이스(Databases)**] 섹션에서 데이터베이스를 선택합니다. 그런 다음 [**datashare 생성(Create datashare)**]을 선택합니다. 자세한 내용은 [datashare에서 데이터베이스 생성](query-datashare-console.md#create-database-from-datashare-console) 섹션을 참조하세요.

**참고**  
데이터베이스 및 데이터베이스 내의 객체를 보거나 클러스터의 datashare를 보려면 데이터베이스에 연결합니다. 자세한 내용은 [데이터베이스로 연결](connect-database-console.md) 섹션을 참조하세요.

# 데이터베이스로 연결
<a name="connect-database-console"></a>

Amazon Redshift를 사용하면 데이터 웨어하우스 클러스터에 대한 연결을 설정하고 SQL 쿼리를 실행하거나 데이터를 로드하거나 관리 작업을 수행할 수 있습니다. 데이터베이스에 연결하는 것은 클라이언트 애플리케이션 또는 도구와 Amazon Redshift 클러스터 간에 보안 채널을 만드는 과정입니다. 다음 섹션에서는 Amazon Redshift 데이터베이스에 연결하는 방법에 대한 단계별 설명을 제공합니다.

데이터베이스에 연결하여 이 클러스터의 데이터베이스 내에서 데이터베이스와 객체를 보거나 datashare를 봅니다.

모든 datashare를 보려면 지정된 데이터베이스에 연결하는 데 사용되는 사용자 자격 증명에 필요한 권한이 있어야 합니다.

로컬 연결이 없는 경우 다음 중 하나를 수행합니다.
+ 클러스터 세부 정보 페이지의 **데이터베이스** 탭에 있는 **데이터베이스** 또는 **데이터 공유 객체** 섹션에서 **데이터베이스에 연결**을 선택하면 클러스터의 데이터베이스 객체를 볼 수 있습니다.
+ 클러스터 세부 정보 페이지의 [**Datashare(Datashares)**] 탭에서 다음 작업 중 하나를 수행합니다.
  + [**다른 클러스터의 datashare(Datashares from other clusters)**] 섹션에서 [**데이터베이스에 연결(Connect to database)**]을 선택하여 다른 클러스터의 datashare를 봅니다.
  + [**내 클러스터에 생성된 datashare(Datashares created in my cluster)**] 섹션에서 [**데이터베이스에 연결(Connect to database)**]을 선택하여 클러스터의 datashare를 봅니다.
+ [**데이터베이스에 연결(Connect to database)**] 창에서 다음 중 하나를 수행합니다.
  + [**새 연결 생성(Create a new connection)**]을 선택하는 경우 [**AWS Secrets Manager**]를 선택하여 저장된 보안 암호로 연결에 대한 액세스를 인증합니다.

    또는 [**임시 자격 증명(Temporary credentials)**]을 선택하여 데이터베이스 자격 증명으로 연결에 대한 액세스를 인증합니다. [**데이터베이스 이름(Database name)**] 및 [**데이터베이스 사용자(Database user)**] 값을 지정합니다.

    **연결**을 선택합니다.
  + [**최근 연결 사용(Use a recent connection)**]을 선택하여 필요한 권한이 있는 다른 데이터베이스에 연결합니다.

    Amazon Redshift에서 자동으로 연결을 설정합니다.

데이터베이스 연결이 설정되면 데이터 공유 만들기, 데이터 공유 쿼리 또는 데이터 공유에서 데이터베이스 만들기를 시작할 수 있습니다.

# datashare 생성
<a name="datashare-creation"></a>

Amazon Redshift가 있으면 데이터 공유를 사용하여 Amazon Redshift 클러스터 또는 AWS 계정 전반에서 실시간 데이터를 공유할 수 있습니다. 데이터 공유는 Amazon Redshift 클러스터의 실시간 데이터를 다른 클러스터 또는 AWS 계정과 공유할 수 있는 소비자-생산자 객체입니다. 데이터 공유를 만들어 액세스에 대한 제어를 유지 관리하고 데이터를 최신 상태로 유지하면서 안전한 데이터 공유가 가능합니다. 다음 섹션에서는 데이터 공유를 만들고 스키마, 테이블 및 뷰와 같은 데이터베이스 객체를 추가하여 실시간 데이터를 안전하게 공유하는 방법에 대한 세부 정보를 제공합니다.

## 데이터 공유 만들기
<a name="create-datashare-console"></a>

데이터 공유는 데이터베이스 객체, 권한 및 소비자가 포함된 논리적 컨테이너입니다. 소비자는 사용자 계정 및 기타 AWS 계정의 Amazon Redshift 프로비저닝된 클러스터 또는 Amazon Redshift Serverless 네임스페이스입니다. 각 데이터 공유는 해당 데이터 공유가 생성된 데이터베이스와 연결되며 해당 데이터베이스의 객체만 추가할 수 있습니다. 생산자 관리자는 아래 절차 중 하나를 수행하여 콘솔과 SQL에서 데이터 공유를 만들 수 있습니다.

------
#### [ Console ]

콘솔에서 클러스터 또는 네임스페이스 세부 정보 페이지의 **데이터 공유** 탭에서 데이터 공유를 만들 수 있습니다. 데이터 공유가 만들어진 후 소비자 관리자로서 소비자의 데이터 공유에서 데이터베이스를 만들 수 있습니다.

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)에서 Amazon Redshift 콘솔을 엽니다.

1. 탐색 메뉴에서 **클러스터(Clusters)**를 선택한 다음 클러스터를 선택합니다. 클러스터 세부 정보 페이지가 나타납니다.

1. 데이터베이스 연결이 없는 경우 클러스터 또는 네임스페이스 세부 정보 페이지에서 **데이터 공유** 탭의 **데이터 공유** 섹션에서 데이터베이스에 연결합니다. **내 계정에서 생성된 데이터 공유** 섹션에서 **데이터 공유 생성**을 선택합니다. **데이터 공유 생성** 페이지가 나타납니다.

1. [**datashare 생성(Create datashare)**]을 선택합니다. 로컬 데이터베이스에서만 datashare를 생성할 수 있습니다. 데이터베이스에 연결하지 않은 경우 **데이터베이스에 연결** 페이지가 나타납니다. [데이터베이스로 연결](connect-database-console.md)의 절차에 따라 데이터베이스에 연결합니다. 최근 연결이 있는 경우 **데이터 공유 생성** 페이지가 나타납니다.

1. **Datashare 정보(Datashare information)** 섹션에서 다음 중 하나를 선택합니다.
   + **데이터 공유**를 선택하여 각기 다른 Amazon Redshift 데이터 웨어하우스(프로비저닝된 클러스터 또는 Serverless 엔드포인트)에서 또는 동일한 AWS 계정이나 다른 AWS 계정에서 읽기 또는 쓰기 목적으로 데이터를 공유할 데이터 공유를 만듭니다.
   + **AWS Data Exchange datashare**를 선택하여 AWS Data Exchange를 통해 데이터에 라이선스를 부여할 datashare를 생성합니다.

1. **Datashare 이름(Datashare name)**, **데이터베이스 이름(Database name)** 및 **공개적으로 액세스 가능(Publicly accessible)** 값을 지정합니다. 데이터베이스 이름을 변경할 때 새 데이터베이스 연결을 만듭니다.

1. **범위가 지정된 권한** 또는 **직접 권한** 섹션을 사용하여 데이터 공유에 객체를 추가합니다. 데이터 공유에 객체를 추가하려면 [Amazon Redshift에서 데이터 공유 만들기](writes-creating-datashare.md) 섹션을 참조하세요.

1. **데이터 소비자** 섹션에서 Amazon Redshift에 게시하거나 Lake Formation과 데이터 공유 프로세스를 시작하는 AWS Glue Data Catalog에 게시하도록 선택할 수 있습니다. 데이터 공유를 Amazon Redshift에 게시한다는 것은 다른 네임스페이스 또는 소비자 역할을 하는 Amazon Redshift 계정과 데이터를 공유한다는 의미입니다.
**참고**  
데이터 공유가 생성되면 구성을 편집하여 다른 옵션에 게시할 수 없습니다.

1. [**datashare 생성(Create datashare)**]을 선택합니다.

------
#### [ SQL ]

다음 명령을 실행하여 데이터 공유를 생성합니다.

```
CREATE DATASHARE salesshare;
```

데이터 공유를 만들 때 각 데이터 공유는 데이터베이스와 연결됩니다. 해당 데이터베이스의 객체만 해당 datashare에서 공유할 수 있습니다. 동일하거나 다른 세부 수준의 객체를 사용하여 동일한 데이터베이스에 여러 datashare를 생성할 수 있습니다. 클러스터가 생성할 수 있는 datashare 수에는 제한이 없습니다. Amazon Redshift 콘솔을 사용하여 datashare를 생성할 수도 있습니다. 자세한 내용은 [CREATE DATASHARE](r_CREATE_DATASHARE.md) 섹션을 참조하세요.

만드는 중에 데이터 공유에 대한 보안 제한을 제어할 수도 있습니다. 다음 예에서는 퍼블릭 IP 액세스 권한이 있는 소비자가 데이터 공유를 읽을 수 있음을 보여줍니다.

```
CREATE DATASHARE my_datashare [PUBLICACCESSIBLE = TRUE];
```

PUBLICACCESSIBLE = TRUE로 설정하면 소비자가 공개적으로 액세스할 수 있는 클러스터 및 프로비저닝된 작업 그룹에서 데이터 공유를 쿼리할 수 있습니다. 허용하지 않으려면 이 옵션을 생략하거나 명시적으로 false로 설정하세요.

데이터 공유를 만든 후 소비자 유형에 대한 속성을 수정할 수 있습니다. 예를 들어 지정된 datashare의 데이터를 소비하려는 클러스터에 공개적으로 액세스할 수 없도록 정의할 수 있습니다. datashare에 지정된 보안 제한을 충족하지 않는 소비자 클러스터의 쿼리는 쿼리 런타임에 거부됩니다. 자세한 내용은 [ALTER DATASHARE](r_ALTER_DATASHARE.md) 섹션을 참조하세요.

------

## 데이터 공유에 데이터 공유 객체 추가
<a name="add-datashare-object-console"></a>

다음 절차 중 하나를 수행하여 콘솔 및 SQL에서 다양한 유형의 데이터베이스 객체를 추가할 수 있습니다.

------
#### [ Console ]

**범위가 지정된 권한** 또는 **직접 권한** 섹션을 사용하여 데이터 공유에 객체를 추가할 수 있습니다. 객체를 추가할 **범위가 지정된 권한 부여** 또는 **직접 권한 부여**를 선택합니다. **추가** 버튼을 선택하여 객체를 추가합니다. 대화 상자가 나타납니다. 다음 단계를 수행합니다.

1. **범위가 지정된 권한 부여**를 선택하면 데이터베이스 또는 스키마 수준에서 범위가 지정된 권한을 부여할 수 있는 **범위가 지정된 권한 부여** 페이지가 나타납니다. 범위가 지정된 권한이 있는 데이터 공유는 데이터베이스 또는 스키마 내의 모든 현재 및 미래 객체에 대해 지정된 권한을 갖습니다. 자세한 내용은 [범위가 지정된 권한](t_scoped-permissions.md) 항목을 참조하세요.

   1. 그런 다음 **데이터베이스 범위가 지정된 권한**을 선택하여 데이터베이스 수준에서 범위가 지정된 권한을 부여합니다. 범위가 지정된 권한을 부여하면 데이터 공유를 만드는 동안 현재 데이터베이스에 적용됩니다. 이러한 권한은 개별 객체에 부여할 수 없으며 기존 객체와 새 객체(스키마, 테이블, 뷰, UDF) 모두에 적용됩니다.

   1. 스키마, 테이블 또는 뷰 또는 사용자 정의 함수에 범위가 지정된 권한을 하나 이상 선택합니다. 이렇게 하면 데이터베이스의 모든 객체가 소비자에게 부여된 선택된 권한을 갖게 됩니다. 데이터베이스 범위가 지정된 권한 부여를 완료하려면 **부여**를 선택합니다.

   1. 그런 다음 **스키마 범위가 지정된 권한**을 선택하여 스키마 수준에서 범위가 지정된 권한을 부여합니다. 스키마 범위가 지정된 권한을 부여하면 스키마에 추가된 모든 객체가 지정된 데이터 공유 권한을 갖게 됩니다.

   1. 드롭다운에서 데이터 공유에 추가할 스키마를 선택합니다. 한 번에 하나의 스키마만 선택할 수 있습니다. 그런 다음 선택한 스키마에 부여하려는 직접 권한을 하나 이상 선택합니다.

   1. 테이블, 뷰 및 사용자 정의 함수와 같은 스키마 객체에 범위가 지정된 권한을 하나 이상 선택합니다. 스키마의 매칭되는 모든 객체에 권한이 부여됩니다. 이러한 객체는 기존 객체이거나 향후 추가될 객체일 수 있습니다. 적용되면 범위가 지정된 권한을 취소하지 않고 객체에서 권한을 제거할 수 없습니다.

   1. 스키마 범위가 지정된 권한 부여를 완료하려면 **부여**를 선택합니다.

1. **직접 권한 부여**를 선택하면 **직접 권한 부여** 페이지가 나타나 스키마, 테이블, 뷰 또는 사용자 정의 함수와 같은 각 객체 수준에서 직접 권한을 부여할 수 있습니다. 직접 권한을 부여하려면 먼저 데이터 공유에 관련 스키마를 추가해야 합니다.

   1. 그런 다음 스키마에 **직접 권한 부여**를 선택하여 특정 스키마에 직접 권한을 적용합니다. 그런 다음 테이블, 뷰 및 사용자 정의 함수와 같은 스키마 객체의 스키마 권한을 하나 이상 선택하고 데이터 공유에 추가할 스키마를 선택합니다. **부여**를 선택하여 데이터 공유에 스키마 추가를 완료합니다.

   1. 데이터 공유에 스키마를 추가한 후 스키마 객체에 대한 직접 권한 추가를 진행할 수 있습니다. **직접 권한 부여**를 다시 선택합니다. **직접 권한 부여** 페이지가 나타납니다. 그런 다음 스키마 객체에 대한 직접 권한 탭으로 이동합니다.

   1. **테이블 및 뷰에 직접 권한 부여**를 선택하여 이러한 객체에 객체 수준 직접 권한을 부여합니다. 목록에서 필요한 직접 권한 하나 이상과 필요한 객체를 선택합니다. 검색 필드를 사용하여 데이터 공유 객체를 찾습니다. 부여를 선택하여 데이터 공유에 테이블 및 뷰 추가를 완료합니다.

   1. **사용자 정의 함수에 직접 권한 부여**를 선택하여 사용자 정의 함수에 객체 수준 직접 권한을 부여합니다. 목록에서 필요한 직접 권한 하나 이상과 필요한 객체를 선택합니다. 검색 필드를 사용하여 데이터 공유 객체를 찾습니다. **부여**를 선택하여 데이터 공유에 사용자 정의 함수 추가를 완료합니다.

1. **미래 객체를 추가**할지도 선택할 수 있습니다. 스키마에 추가된 데이터 공유 객체를 포함하도록 선택하면 스키마에 추가된 객체가 데이터 공유에 자동으로 추가됩니다.

1. **추가**를 선택하여 섹션을 완료하고 객체를 추가합니다. 추가된 객체는 **데이터 공유 객체**에 나열됩니다.

1. 객체를 추가한 후 개별 객체를 선택하고 권한을 편집할 수 있습니다. 스키마를 선택하면 **범위가 지정된 권한**을 추가할지 묻는 대화 상자가 나타납니다. 이렇게 하면 스키마의 기존 객체 또는 추가된 각 객체가 객체 유형에 적합한 미리 선택된 권한 세트를 갖게 됩니다. 예를 들어 관리자는 추가된 모든 테이블에 SELECT 및 UPDATE 권한을 갖도록 설정할 수 있습니다.

1. 모든 데이터 공유 객체는 **범위가 지정된 권한** 또는 **직접 권한** 섹션에 나열됩니다.

1. **데이터 소비자** 섹션에서 네임스페이스를 추가하거나 AWS 계정을 데이터 공유의 소비자로 추가할 수 있습니다.

1. **데이터 공유 생성**을 선택하여 변경 사항을 저장합니다.

데이터 공유를 만들면 **내 네임스페이스에서 생성된 데이터 공유** 아래 목록에 해당 데이터 공유가 나타납니다. 목록에서 데이터 공유를 선택하면 해당 소비자, 객체 및 기타 속성을 볼 수 있습니다.

------
#### [ SQL ]

SQL을 사용하면 데이터 공유 소유자는 데이터 공유에 추가할 스키마에 대해 USAGE 권한을 부여해야 합니다. GRANT는 스키마에서 CREATE 및 USAGE를 포함하여 다양한 작업을 허용하는 데 사용됩니다. 스키마에는 공유 객체가 들어 있습니다.

```
CREATE SCHEMA myshared_schema1;
CREATE SCHEMA myshared_schema2;
 
GRANT USAGE ON SCHEMA myshared_schema1 TO DATASHARE my_datashare;
GRANT CREATE, USAGE ON SCHEMA myshared_schema2 TO DATASHARE my_datashare;
```

또는 관리자가 ALTER 명령을 계속 실행하여 데이터 공유에 스키마를 추가할 수도 있습니다. 이러한 방식으로 스키마를 추가할 경우 USAGE 권한만 부여됩니다.

```
ALTER DATASHARE my_datashare ADD SCHEMA myshared_schema1;
```

관리자는 스키마를 추가한 후 스키마의 객체에 대해 데이터 공유 권한을 부여할 수 있습니다. 이 권한은 읽기 및 쓰기 권한일 수 있습니다. GRANT ALL 샘플은 모든 권한을 부여하는 방법을 보여줍니다.

```
GRANT SELECT, INSERT ON TABLE myshared_schema1.table1, myshared_schema1.table2, myshared_schema2.table1
TO DATASHARE my_datashare;
                     
GRANT ALL ON TABLE myshared_schema1.table4 TO DATASHARE my_datashare;
```

계속해서 ALTER DATASHARE와 같은 명령을 실행하여 테이블을 추가할 수 있습니다. 이렇게 하면 추가된 객체에 대해 SELECT 권한만 부여됩니다.

```
ALTER DATASHARE my_datashare ADD TABLE myshared_schema1.table1, myshared_schema1.table2, myshared_schema2.table1;
```

데이터베이스 또는 스키마 내 특정 유형의 모든 객체에 대해 범위가 지정된 권한을 데이터 공유에 부여할 수 있습니다. 범위가 지정된 권한이 있는 데이터 공유는 데이터베이스 또는 스키마 내의 모든 현재 및 미래 객체에 대해 지정된 권한을 갖습니다.

 [SVV\$1DATABASE\$1PRIVILEGES](r_SVV_DATABASE_PRIVILEGES.md)에서 데이터베이스 수준 범위 지정 권한의 범위를 볼 수 있습니다. [SVV\$1SCHEMA\$1PRIVILEGES](r_SVV_SCHEMA_PRIVILEGES.md)에서 스키마 수준 범위 지정 권한의 범위를 볼 수 있습니다.

다음은 데이터 공유에 범위가 지정된 권한을 부여할 때 사용하는 구문입니다. 범위가 지정된 권한에 대한 자세한 내용은 [범위가 지정된 권한](t_scoped-permissions.md) 섹션을 참조하세요.

```
GRANT { CREATE | USAGE | ALTER | DROP } [,...] | ALL [ PRIVILEGES ] }FOR SCHEMAS IN
DATABASE db_name 
TO DATASHARE { datashare_name}

GRANT { { SELECT | INSERT | UPDATE | DELETE | DROP | ALTER | TRUNCATE | REFERENCES } [, ...] } | ALL [PRIVILEGES] } }FOR TABLES IN
{SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name }
TO DATASHARE { datashare_name}

GRANT { EXECUTE | ALL [ PRIVILEGES ] }FOR FUNCTIONS IN
{SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name }
TO DATASHARE { datashare_name}
```

------

## 데이터 공유에 데이터 소비자 추가
<a name="add-data-consumer-console"></a>

datashare기에 데이터 소비자를 하나 이상 추가할 수 있습니다. 데이터 소비자는 Amazon Redshift 클러스터 또는 AWS 계정을 고유하게 식별한 네임스페이스일 수 있습니다.

퍼블릭 액세스 권한이 있는 클러스터에서 datashare를 해제하거나 설정하도록 명시적으로 선택해야 합니다.
+ **데이터 공유에 네임스페이스 추가**를 선택합니다. 네임스페이스는 Amazon Redshift 클러스터에 대한 GUID(전역 고유 식별자)입니다.
+ datashare에 **AWS 계정 추가(Add)**를 선택합니다. 지정된 AWS 계정에 datashare에 대한 액세스 권한이 있어야 합니다.

# datashare에서 권한 부여 또는 제거
<a name="authorize-datashare-console"></a>

생산자 관리자는 데이터 공유에 대한 액세스 권한을 부여하거나 제거할 데이터 소비자를 선택합니다. 권한이 부여된 데이터 소비자는 datashare에 대한 작업을 수행하라는 알림을 받습니다. 네임스페이스를 데이터 소비자로 추가하는 경우 권한 부여를 수행할 필요가 없습니다.

사전 조건: datashare에 대한 권한을 부여하거나 제거하려면 datashare에 추가된 데이터 소비자가 하나 이상 있어야 합니다.

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)에서 Amazon Redshift 콘솔을 엽니다.

1. 탐색 메뉴에서 **Datashares**를 선택합니다. datashare 목록 페이지가 나타납니다.

1. [**내 계정에서(In my account)**]를 선택합니다.

1. [**내 계정의 datashare(Datashares in my account)**] 섹션에서 다음 중 하나를 수행합니다.
   + 승인하려는 하나 이상의 소비자 클러스터를 선택합니다. 데이터 소비자 권한 부여 페이지가 나타납니다. 그런 다음 **권한 부여**(Authorize)를 선택합니다.

     데이터 공유를 생성할 때 **Publish to AWS Glue Data Catalog**(Glue 데이터 카탈로그에 게시)를 선택한 경우 데이터 공유 권한을 Lake Formation 계정에만 부여할 수 있습니다.

     AWS Data Exchange datashare의 경우 한 번에 하나의 datashare에만 권한을 부여할 수 있습니다.

     AWS Data Exchange datashare에 권한을 부여하면 AWS Data Exchange 서비스와 datashare를 공유하고 AWS Data Exchange에서 사용자를 대신하여 datashare에 대한 액세스를 관리하도록 허용합니다. AWS Data Exchange에서는 소비자가 제품을 구독할 때 AWS Data Exchange datashare에 소비자 계정을 데이터 소비자로 추가하여 소비자에 대한 액세스를 허용합니다. AWS Data Exchange에는 datashare에 대한 읽기 권한이 없습니다.
   + 승인을 제거하려는 하나 이상의 소비자 클러스터를 선택합니다. 그러면 [**권한 제거(Remove authorization)**]를 선택합니다.

권한을 부여 받은 데이터 소비자는 datashare 객체에 액세스하고 소비자 데이터베이스를 생성하여 데이터를 쿼리할 수 있습니다.

권한이 제거되면 데이터 소비자는 datashare에 대한 액세스 권한을 즉시 상실합니다.

# 소비자로서 다른 계정의 데이터 공유 관리
<a name="manage-datashare-other-console"></a>

## 데이터 소비자에게서 datashare의 연결 제거
<a name="disassociate-datashare-console"></a>

소비자 관리자는 데이터 소비자에게서 데이터 공유 연결을 제거할 수 있습니다.

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)에서 Amazon Redshift 콘솔을 엽니다.

1. 탐색 메뉴에서 **Datashares**를 선택합니다. datashare 목록 페이지가 나타납니다.

1. [**다른 계정에서(From other accounts)**]를 선택합니다.

1. [**다른 계정의 datashare(Datashares from other accounts)**] 섹션에서 데이터 소비자에게서 연결을 제거할 datashare를 선택합니다.

1. [**데이터 소비자(Data consumers)**] 섹션에서 연결을 제거할 데이터 소비자를 하나 이상 선택합니다. 그런 다음 [**연결 제거(Remove association)**]를 선택합니다.

1. 연결 제거 페이지가 나타나면 [**연결 제거(Remove association)**]를 선택합니다.

연결이 제거되면 데이터 소비자는 datashare에 대한 액세스 권한을 상실합니다. 언제든지 데이터 소비자 연결을 변경할 수 있습니다.

## datashare 거부
<a name="decline-datashare-console"></a>

소비자 관리자는 [사용 가능 또는 활성](https://docs.aws.amazon.com/redshift/latest/dg/access-cross-account.html#manage-status) 상태인 데이터 공유를 거부할 수 있습니다. 데이터 공유를 거부하면 소비자 클러스터 사용자는 데이터 공유에 대한 액세스 권한을 상실합니다. Amazon Redshift는 `DescribeDataSharesForConsumer` API 작업을 호출하는 경우 거부된 데이터 공유를 반환하지 않습니다. 생산자 관리자가 `DescribeDataSharesForProducer` API 작업을 실행하면 데이터 공유가 거부된 것을 확인할 수 있습니다. 데이터 공유가 거부되면 생산자 관리자는 소비자 클러스터에 대한 데이터 공유를 다시 승인할 수 있으며, 소비자 관리자는 자신의 AWS 계정을 데이터 공유와 연결하거나 이를 거부하도록 선택할 수 있습니다.

AWS 계정이 데이터 공유와 연결되어 있고 Lake Formation에서 관리하는 데이터 공유에 대한 보류 중인 연결이 있는 경우. Lake Formation에서 관리하는 데이터 공유 연결을 거부하면 원래 데이터 공유도 거부됩니다. 특정 연결을 거부하려면 생산자 관리자가 지정된 데이터 공유에서 권한 부여를 제거할 수 있습니다. 이 작업은 다른 데이터 공유에 영향을 주지 않습니다.

데이터 공유를 거부하려면 AWS 콘솔, API 작업 `RejectDataShare` 또는 AWS CLI의 `reject-datashare`를 사용하세요.

**AWS 콘솔을 사용하여 데이터 공유 생성**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)에서 Amazon Redshift 콘솔을 엽니다.

1. 탐색 메뉴에서 **데이터 공유**를 선택합니다.

1. [**다른 계정에서(From other accounts)**]를 선택합니다.

1. [**다른 계정의 datashare(Datashares from other accounts)**] 섹션에서 거부할 datashare를 선택합니다. **datashare 거부(Decline datashare)** 페이지가 나타나면 **거부(Decline)**를 선택합니다.

datashare를 거부한 후에는 변경 사항을 되돌릴 수 없습니다. Amazon Redshift가 목록에서 데이터 공유를 제거합니다. 데이터 공유를 다시 보려면 생산자 관리자가 데이터 공유를 다시 승인해야 합니다.

# 기존 데이터 공유 관리
<a name="manage-datashare-existing-console"></a>

Amazon Redshift를 사용하면 기존 데이터 공유를 관리하여 Amazon Redshift 클러스터의 데이터에 대한 액세스를 제어할 수 있습니다. 다음 섹션에서는 Amazon Redshift 환경에서 데이터 공유를 관리하는 방법에 대한 단계별 가이드를 제공합니다.

## datashare 보기
<a name="view-datashare-console"></a>

[**datashare(DATASHARES)**] 또는 [**클러스터(CLUSTERS)**] 탭에서 datashare를 봅니다.
+ [**datashare(DATASHARES)**] 탭을 사용하여 자신의 계정이나 다른 계정의 datashare를 나열합니다.
  + 계정에서 생성된 datashare를 보려면 [**내 계정에서(In my account)**]를 선택하고 보려는 datashare를 선택합니다.
  + 다른 계정에서 공유되는 datashare를 보려면 [**다른 계정에서(From other accounts)**]를 선택하고 보려는 datashare를 선택합니다.
+ [**클러스터(CLUSTERS)**] 탭을 사용하여 자신의 클러스터나 다른 클러스터의 datashare를 나열합니다.

  데이터베이스에 연결합니다. 자세한 내용은 [데이터베이스로 연결](connect-database-console.md) 섹션을 참조하세요.

  그런 다음 [**다른 클러스터의 datashare(Datashares from other clusters)**] 또는 [**내 클러스터에 생성된 datashare(Datashares created in my cluster)**] 섹션에서 datashare를 선택하여 해당 세부 정보를 봅니다.

## datashare에서 datashare 객체 제거
<a name="remove-datashare-object-console"></a>

다음 절차를 사용하여 datashare에서 객체를 하나 이상 제거할 수 있습니다.

**datashare에서 객체를 하나 이상 제거하려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)에서 Amazon Redshift 콘솔을 엽니다.

1. 탐색 메뉴에서 **클러스터(Clusters)**를 선택한 다음 클러스터를 선택합니다. 클러스터 세부 정보 페이지가 나타납니다.

1. [**Datashare(Datashares)**]를 선택합니다.

1. [**내 계정에 생성된 datashare(Datashares created in my account)**] 섹션에서 [**데이터베이스에 연결(Connect to database)**]을 선택합니다. 자세한 내용은 [데이터베이스로 연결](connect-database-console.md) 섹션을 참조하세요.

1. 편집할 datashare를 선택한 다음 **편집(Edit)**을 선택합니다. datashare 세부 정보 페이지가 나타납니다.

1. datashare 객체를 하나 이상 제거하려면 다음 중 하나를 수행합니다.
   + datashare에서 스키마를 제거하려면 스키마를 하나 이상 선택합니다. 그런 다음 [**제거(Remove)**]를 선택합니다. Amazon Redshift는 datashare에서 지정된 스키마와 해당 스키마의 모든 객체를 제거합니다.
   + datashare에서 테이블과 뷰를 제거하려면 테이블과 뷰를 하나 이상 선택합니다. 그런 다음 [**제거(Remove)**]를 선택합니다. 또는 [**스키마별 제거(Remove by schema)**]를 선택하여 지정된 스키마의 모든 테이블과 뷰를 제거합니다.
   + datashare에서 사용자 정의 함수를 제거하려면 사용자 정의 함수를 하나 이상 선택합니다. 그런 다음 [**제거(Remove)**]를 선택합니다. 또는 [**스키마별 제거(Remove by schema)**]를 선택하여 지정된 스키마의 모든 사용자 정의 함수를 제거합니다.

## datashare에서 데이터 소비자 제거
<a name="remove-data-consumer-console"></a>

datashare에서 데이터 소비자를 하나 이상 제거할 수 있습니다. 데이터 소비자는 Amazon Redshift 클러스터 또는 AWS 계정을 고유하게 식별한 네임스페이스일 수 있습니다.

네임스페이스 ID 또는 AWS 계정에서 데이터 소비자를 하나 이상 선택한 다음 **제거**를 선택합니다.

Amazon Redshift는 datashare에서 지정된 데이터 소비자를 제거합니다. 제거된 소비자는 datashare에 대한 액세스 권한을 즉시 상실합니다.

## 계정에 생성된 datashare 편집
<a name="edit-datashare-console"></a>

콘솔을 사용하여 계정에 생성된 datashare를 편집합니다. 먼저 데이터베이스에 연결하여 계정에 생성된 datashare 목록을 봅니다.

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)에서 Amazon Redshift 콘솔을 엽니다.

1. 탐색 메뉴에서 **클러스터(Clusters)**를 선택한 다음 클러스터를 선택합니다. 클러스터 세부 정보 페이지가 나타납니다.

1. [**Datashare(Datashares)**]를 선택합니다.

1. [**내 계정에 생성된 datashare(Datashares created in my account)**] 섹션에서 [**데이터베이스에 연결(Connect to database)**]을 선택합니다. 자세한 내용은 [데이터베이스로 연결](connect-database-console.md) 섹션을 참조하세요.

1. 편집할 datashare를 선택한 다음 **편집(Edit)**을 선택합니다. datashare 세부 정보 페이지가 나타납니다.

1. [**datashare 객체(Datashare objects)**] 또는 [**데이터 소비자(Data consumers)**] 섹션에서 변경합니다.
**참고**  
데이터 공유를 AWS Glue Data Catalog에 게시하도록 선택한 경우 데이터 공유를 다른 Amazon Redshift 계정에 게시하도록 구성을 편집할 수 없습니다.

1. **변경 사항 저장**을 선택합니다.

변경 사항으로 datashare가 업데이트됩니다.

## 계정에 만들어진 데이터 공유 삭제
<a name="delete-datashare-console"></a>

콘솔을 사용하여 계정에 생성된 datashare를 삭제합니다. 먼저 데이터베이스에 연결하여 계정에 생성된 datashare 목록을 봅니다.

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)에서 Amazon Redshift 콘솔을 엽니다.

1. 탐색 메뉴에서 **클러스터(Clusters)**를 선택한 다음 클러스터를 선택합니다. 클러스터 세부 정보 페이지가 나타납니다.

1. [**Datashare(Datashares)**]를 선택합니다. datashare 목록이 나타납니다.

1. [**내 계정에 생성된 datashare(Datashares created in my account)**] 섹션에서 [**데이터베이스에 연결(Connect to database)**]을 선택합니다. 자세한 내용은 [데이터베이스로 연결](connect-database-console.md) 섹션을 참조하세요.

1. 삭제하려는 datashare를 하나 이상 선택하고 [**삭제(Delete)**]를 선택합니다. datashare 삭제 페이지가 나타납니다.

   Lake Formation과 공유된 데이터 공유를 삭제해도 Lake Formation에서 연결된 권한이 자동으로 제거되지 않습니다. 이를 제거하려면 Lake Formation 콘솔로 이동하세요.

1. [**삭제(Delete)**]를 입력하여 지정된 datashare 삭제를 확인합니다.

1. **삭제**를 선택합니다.

datashare가 삭제되면 데이터 소비자는 datashare에 대한 액세스 권한을 상실합니다.

# 데이터 공유 쿼리
<a name="query-datashare-console"></a>

Amazon Redshift를 사용하면 생산자 클러스터에서 데이터 공유 전반에 걸쳐 데이터를 쿼리하여 실시간 데이터를 복사하거나 전송하지 않고도 안전하게 액세스할 수 있습니다. 다음 섹션에서는 Amazon Redshift 환경에서 데이터 공유 설정 및 쿼리에 대한 세부 정보를 다룹니다.

## datashare에서 데이터베이스 생성
<a name="create-database-from-datashare-console"></a>

datashare에서 데이터 쿼리를 시작하기 위해 datashare에서 데이터베이스를 생성합니다. 지정된 datashare에서 데이터베이스를 하나만 생성할 수 있습니다.

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)에서 Amazon Redshift 콘솔을 엽니다.

1. 탐색 메뉴에서 **클러스터(Clusters)**를 선택한 다음 클러스터를 선택합니다. 클러스터 세부 정보 페이지가 나타납니다.

1. [**Datashare(Datashares)**]를 선택합니다. datashare 목록이 나타납니다.

1. [**다른 클러스터의 datashare(Datashares from other clusters)**] 섹션에서 [**데이터베이스에 연결(Connect to database)**]을 선택합니다. 자세한 내용은 [데이터베이스로 연결](connect-database-console.md) 섹션을 참조하세요.

1. 데이터베이스를 생성하려는 datashare를 선택하고 [**datashare에서 데이터베이스 생성(Create database from datashare)**]을 선택합니다. datashare에서 데이터베이스 생성 페이지가 나타납니다.

1. [**데이터베이스 이름(Database name)**]에서 데이터베이스 이름을 지정합니다. 데이터베이스 이름은 1\$164자의 영숫자(소문자만)여야 하며 예약어일 수 없습니다.

1. **생성(Create)**을 선택합니다.

datashare가 생성된 후 데이터베이스에서 데이터를 쿼리할 수 있습니다.

# AWS Data Exchange 데이터 공유 쿼리
<a name="manage-adx-datashare-console"></a>

Amazon Redshift를 사용하면 데이터 추출 또는 파이프라인을 생성하고 관리할 필요 없이 AWS Data Exchange에서 실시간 데이터를 안전하게 공유 및 수신할 수 있습니다. AWS Data Exchange 데이터 공유를 관리하면 서드 파티 데이터 제품을 구독하고 실시간 데이터 스트림을 Amazon Redshift 데이터 웨어하우스에 직접 통합할 수 있습니다. 다음 섹션에서는 Amazon Redshift 클러스터 내에서 AWS Data Exchange 데이터 공유를 관리하는 방법을 보여 줍니다.

## AWS Data Exchange에서 데이터 집합 생성
<a name="create-dataset-console"></a>

AWS Data Exchange에 데이터 집합을 생성합니다.

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)에서 Amazon Redshift 콘솔을 엽니다.

1. 탐색 메뉴에서 **클러스터(Clusters)**를 선택한 다음 클러스터를 선택합니다. 클러스터 세부 정보 페이지가 나타납니다.

1. **Datashare**를 선택합니다.

1. **내 계정에 생성된 datashare(Datashares created in my account)** 섹션에서 AWS Data Exchange datashare를 선택합니다.

1. **Create data set on AWS Data Exchange(ADE에서 데이터 집합 생성)**를 선택합니다. 자세한 내용은 [새 제품 게시](https://docs.aws.amazon.com/data-exchange/latest/userguide/publishing-products.html)를 참조하세요.

## AWS Data Exchange datashare 편집
<a name="edit-adx-datashare-console"></a>

콘솔을 사용하여 AWS Data Exchange datashare를 편집합니다. 먼저 데이터베이스에 연결하여 계정에 생성된 datashare 목록을 봅니다.

AWS Data Exchange datashare의 경우 데이터 소비자를 변경할 수 없습니다.

AWS Data Exchange datashare에 대해 공개적으로 액세스할 수 있는 설정을 편집하려면 쿼리 편집기 v2를 사용합니다. Amazon Redshift는 임의의 일회성 값을 생성하여이 설정을 해제할 수 있도록 세션 변수를 설정합니다. 자세한 내용은 [ALTER DATASHARE 사용 참고 사항](r_ALTER_DATASHARE.md#r_ALTER_DATASHARE_usage) 섹션을 참조하세요.

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)에서 Amazon Redshift 콘솔을 엽니다.

1. 탐색 메뉴에서 **클러스터(Clusters)**를 선택한 다음 클러스터를 선택합니다. 클러스터 세부 정보 페이지가 나타납니다.

1. 탐색기 메뉴에서 **편집기(Editor)**, **쿼리 편집기 v2(Query editor v2)**를 차례로 선택합니다.

1. 쿼리 편집기 v2를 처음 사용하는 경우 AWS 계정을 구성합니다. 기본적으로 AWS 소유의 키가 리소스를 암호화하는 데 사용됩니다. AWS 계정 구성에 대한 자세한 내용은 *Amazon Redshift 관리 가이드*의 [AWS 계정 구성](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2-getting-started.html) 섹션을 참조하세요.

1. AWS Data Exchange datashare가 있는 클러스터에 연결하려면 트리 보기 패널에서 **데이터베이스(Database)**와 클러스터 이름을 선택합니다. 메시지가 나타나면 연결 파라미터를 입력합니다.

1. 다음 SQL 문을 복사합니다. 다음 예에서는 공개적으로 액세스할 수 있는 salesshare datashare 설정을 변경합니다.

   ```
   ALTER DATASHARE salesshare SET PUBLICACCESSIBLE FALSE;
   ```

1. 복사된 SQL 문을 실행하려면 **쿼리(Queries)**를 선택하고 복사된 SQL 문을 쿼리 영역에 붙여 넣습니다. 그런 다음 **실행(Run)**을 선택합니다.

   다음과 같은 오류가 나타납니다.

   ```
   ALTER DATASHARE salesshare SET PUBLICACCESSIBLE FALSE;
   ERROR:  Alter of ADX-managed datashare salesshare requires session variable datashare_break_glass_session_var to be set to value 'c670ba4db22f4b'
   ```

   값 'c670ba4db22f4b'는 권장되지 않는 작업이 발생할 때 Amazon Redshift가 생성하는 임의의 일회성 값입니다.

1. 다음 샘플 문을 복사하여 쿼리 영역에 붙여 넣습니다. 그런 다음 명령을 실행합니다. `SET datashare_break_glass_session_var` 명령은 AWS Data Exchange datashare에 대해 권장되지 않는 작업을 허용하는 권한을 적용합니다.

   ```
   SET datashare_break_glass_session_var to 'c670ba4db22f4b';
   ```

1. ALTER DATASHARE 문을 다시 실행합니다.

   ```
   ALTER DATASHARE salesshare;
   ```

Amazon Redshift는 변경 사항으로 datashare를 업데이트합니다.

## 계정에 생성된 AWS Data Exchange datashare 삭제
<a name="delete-adx-datashare-console"></a>

콘솔을 사용하여 계정에 생성된 AWS Data Exchange datashare를 삭제합니다. 먼저 데이터베이스에 연결하여 계정에 생성된 datashare 목록을 봅니다.

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)에서 Amazon Redshift 콘솔을 엽니다.

1. 탐색 메뉴에서 **클러스터(Clusters)**를 선택한 다음 클러스터를 선택합니다. 클러스터 세부 정보 페이지가 나타납니다.

1. 탐색기 메뉴에서 **편집기(Editor)**, **쿼리 편집기 v2(Query editor v2)**를 차례로 선택합니다.

1. 쿼리 편집기 v2를 처음 사용하는 경우 AWS 계정을 구성합니다. 기본적으로 AWS 소유의 키가 리소스를 암호화하는 데 사용됩니다. AWS 계정 구성에 대한 자세한 내용은 *Amazon Redshift 관리 가이드*의 [AWS 계정 구성](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2-getting-started.html) 섹션을 참조하세요.

1. AWS Data Exchange datashare가 있는 클러스터에 연결하려면 트리 보기 패널에서 **데이터베이스(Database)**와 클러스터 이름을 선택합니다. 메시지가 나타나면 연결 파라미터를 입력합니다.

1. 다음 SQL 문을 복사합니다. 다음 예에서는 salesshare datashare를 삭제합니다.

   ```
   DROP DATASHARE salesshare
   ```

1. 복사된 SQL 문을 실행하려면 **쿼리(Queries)**를 선택하고 복사된 SQL 문을 쿼리 영역에 붙여 넣습니다. 그런 다음 **실행(Run)**을 선택합니다.

   다음과 같은 오류가 나타납니다.

   ```
   ERROR:  Drop of ADX-managed datashare salesshare requires session variable datashare_break_glass_session_var to be set to value '620c871f890c49'
   ```

   값 '620c871f890c49'는 권장되지 않은 작업이 발생할 때 Amazon Redshift가 생성하는 임의의 일회성 값입니다.

1. 다음 샘플 문을 복사하여 쿼리 영역에 붙여 넣습니다. 그런 다음 명령을 실행합니다. `SET datashare_break_glass_session_var` 명령은 AWS Data Exchange datashare에 대해 권장되지 않는 작업을 허용하는 권한을 적용합니다.

   ```
   SET datashare_break_glass_session_var to '620c871f890c49';
   ```

1. DROP DATASHARE 문을 다시 실행합니다.

   ```
   DROP DATASHARE salesshare;
   ```

datashare가 삭제되면 datashare 소비자는 datashare에 대한 액세스 권한을 상실합니다.

공유 AWS Data Exchange datashare를 삭제하면 AWS Data Exchange의 데이터 제품 약관을 위반할 수 있습니다.