자격 증명 및 액세스 권한 - Amazon Redshift

자격 증명 및 액세스 권한

Amazon S3, Amazon DynamoDB, Amazon EMR, Amazon EC2 등의 다른 AWS 리소스를 사용하여 데이터를 로드 또는 언로드하려면 리소스에 액세스하고 데이터 액세스에 필요한 작업을 수행할 권한이 클러스터에 있어야 합니다. 예를 들어 Amazon S3에서 데이터를 로드하려면 COPY에 버킷에 대한 LIST 액세스 권한과 버킷 객체에 대한 GET 액세스 권한이 있어야 합니다.

리소스에 액세스할 수 있는 권한을 얻으려면 클러스터가 인증되어야 합니다. 역할 기반 액세스 제어 또는 키 기반 액세스 제어를 선택할 수 있습니다. 이 단원에서는 이 두 가지 방법의 개요를 살펴봅니다. 자세한 내용과 예는 다른 AWS 리소스에 대한 액세스 권한 섹션을 참조하세요.

역할 기반 액세스 제어

역할 기반 액세스 제어를 통해 클러스터는 AWS Identity and Access Management(IAM) 역할을 임시로 수임합니다. 그런 다음 역할에 부여되는 권한에 따라 클러스터가 필요한 AWS 리소스에 액세스할 수 있습니다.

역할 기반 액세스 제어는 AWS 자격 증명을 보호하는 것은 물론이고 AWS 리소스와 민감한 사용자 데이터에 대한 액세스를 더욱 안전하게, 그리고 세분화하여 제어할 수 있다는 점에서 더욱 바람직합니다.

역할 기반 액세스 제어를 사용하려면 먼저 Amazon Redshift 서비스 역할 유형을 사용하여 IAM 역할을 생성한 후 클러스터에 연결해야 합니다. 이 역할에는 최소한 COPY, UNLOAD 및 CREATE LIBRARY 작업을 위한 IAM 권한에 나열된 권한이 있어야 합니다. IAM 역할을 생성하여 클러스터에 연결하는 단계는 Amazon Redshift 관리 가이드Amazon Redshift 클러스터가 AWS 서비스에 액세스할 수 있도록 IAM 역할 생성 섹션을 참조하세요.

Amazon Redshift 관리 콘솔, CLI 또는 API를 사용하여 역할을 클러스터에 추가하거나, 클러스터와 연결된 역할을 확인할 수 있습니다. 자세한 내용은 Amazon Redshift 관리 가이드IAM 역할을 사용하여 COPY 및 UNLOAD 작업 권한 부여 섹션을 참조하세요.

IAM 역할을 생성하면 IAM이 생성된 역할의 Amazon 리소스 이름(ARN)을 반환합니다. IAM 역할을 사용하여 COPY 명령을 실행하려면 IAM_ROLE 파라미터 또는 CREDENTIALS 파라미터를 사용하여 역할 ARN을 제공합니다.

다음 COPY 명령 예는 역할 MyRedshiftRole과 함께 IAM_ROLE 파라미터를 인증에 사용합니다.

copy customer from 's3://mybucket/mydata' iam_role 'arn:aws:iam::12345678901:role/MyRedshiftRole';

AWS 사용자는 최소한 COPY, UNLOAD 및 CREATE LIBRARY 작업을 위한 IAM 권한에 나열된 권한이 있어야 합니다.

키 기반 액세스 제어

키 기반 액세스 제어의 경우 데이터가 포함된 AWS 리소스에 액세스할 권한이 부여된 사용자에게 액세스 키 ID와 비밀 액세스 키를 제공합니다. 

참고

액세스 키 ID와 비밀 액세스 키를 일반 텍스트 형태로 입력하기보다는 IAM 역할을 인증에 사용하는 것을 강력 권장합니다. 키 기반 액세스 제어를 선택하는 경우에는 절대 AWS 계정(루트) 자격 증명을 사용하지 마세요. 항상 IAM 사용자를 먼저 생성한 후 해당 사용자의 액세스 키 ID와 비밀 액세스 키를 입력합니다. IAM 사용자를 생성하는 단계는 AWS 계정의 IAM 사용자 생성을 참조하세요.