리소스에 대한 액세스 권한 관리 개요 - Amazon Kinesis Data Analytics for SQL 애플리케이션 개발자 안내서

새 프로젝트의 경우 Kinesis Data Analytics for SQL 애플리케이션보다 새로운 Managed Service for Apache Flink Studio를 사용하는 것이 좋습니다. Managed Service for Apache Flink Studio는 사용 편의성과 고급 분석 기능을 결합하여 정교한 스트림 처리 애플리케이션을 몇 분 만에 구축할 수 있도록 합니다.

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

리소스에 대한 액세스 권한 관리 개요

주의

새 프로젝트의 경우, SQL 애플리케이션용보다 새로운 Managed Service for Apache Flink Studio를 사용하는 것이 좋습니다. Managed Service for Apache Flink Studio는 사용 편의성과 고급 분석 기능을 결합하여 정교한 스트림 처리 애플리케이션을 몇 분 만에 구축할 수 있도록 합니다.

액세스 권한을 제공하려면 사용자, 그룹 또는 역할에 권한을 추가하십시오:

  • 내 AWS IAM Identity Center사용자 및 그룹:

    권한 세트를 생성합니다. AWS IAM Identity Center 사용 설명서의 권한 세트 생성의 지침을 따르세요.

  • ID 제공자를 통해 IAM에서 관리되는 사용자:

    ID 페더레이션을 위한 역할을 생성합니다. IAM 사용 설명서의 서드 파티 자격 증명 공급자의 역할 만들기(연합)의 지침을 따르세요.

  • IAM 사용자:

    • 사용자가 맡을 수 있는 역할을 생성합니다. IAM 사용 설명서에서 IAM 사용자의 역할 생성의 지침을 따르세요.

    • (권장되지 않음)정책을 사용자에게 직접 연결하거나 사용자를 사용자 그룹에 추가합니다. IAM 사용자 가이드에서 사용자(콘솔)에 권한 추가의 지침을 따르십시오.

참고

계정 관리자 또는 관리자 사용자는 관리자 권한이 있는 사용자입니다. 자세한 설명은 IAM 사용자 가이드IAM 모범 사례 섹션을 참조하십시오.

리소스 및 작업

에서는 기본 리소스가 애플리케이션입니다. 정책에서 Amazon 리소스 이름(ARN)을 사용하여 정책이 적용되는 리소스를 식별합니다.

다음 표에서처럼 이러한 리소스에는 고유한 Amazon 리소스 이름(ARN)이 연계됩니다.

리소스 유형 ARN 형식
애플리케이션

arn:aws:kinesisanalytics:region:account-id:application/application-name

은 리소스를 처리하기 위한 일련의 작업을 제공합니다. 사용 가능한 작업 목록은 작업 섹션을 참조하십시오.

리소스 소유권 이해

누가 리소스를 생성했는지에 상관없이 계정에서 생성된 리소스는 에서 AWS 계정 소유합니다. 구체적으로, 리소스 소유자는 리소스 생성 요청을 인증하는 보안 주체 (즉, 루트 계정, 사용자 또는 IAM 역할) 의 소유자입니다. AWS 계정 다음 예에서는 이러한 작동 방식을 설명합니다.

  • 의 루트 계정 자격 증명을 사용하여 애플리케이션을 만드는 경우 해당 리소스의 소유자는 사용자가 AWS 계정 됩니다. AWS 계정 ( 에서는 리소스가 애플리케이션입니다.)

  • 에서 사용자를 생성하고 해당 사용자에게 응용 프로그램을 만들 수 있는 권한을 부여하면 사용자가 응용 프로그램을 만들 수 있습니다. AWS 계정 하지만 사용자가 속한 사용자가 애플리케이션 리소스를 소유합니다. AWS 계정사용자가 아닌 역할에 권한을 부여하는 것이 좋습니다.

  • 애플리케이션을 생성할 권한이 AWS 계정 있는 사용자에게 IAM 역할을 생성하는 경우, 해당 역할을 수임할 수 있는 사람은 누구나 애플리케이션을 생성할 수 있습니다. 사용자가 속한 사용자가 애플리케이션 리소스를 AWS 계정소유합니다.

리소스에 대한 액세스 관리

권한 정책은 누가 무엇에 액세스 할 수 있는지를 나타냅니다. 다음 섹션에서는 권한 정책을 만드는 데 사용 가능한 옵션에 대해 설명합니다.

참고

이 섹션에서는 의 맥락에서 IAM을 사용하는 방법에 대해 설명하며, IAM 서비스에 대한 자세한 정보는 다루지 않습니다. 전체 IAM 설명은 IAM 사용자 가이드에서 IAM이란 무엇인가?를 참조하십시오. IAM 정책 구문과 설명에 대한 자세한 설명은 IAM 사용자 가이드IAM JSON 정책 준거를 참조하십시오.

IAM ID에 연계된 정책을 정체 기반 정책(IAM 정책)이라고 합니다. 리소스에 연계된 정책은 리소스 기반 정책이라고 합니다. 정체 기반 정책(IAM 정책)만 지원합니다.

정체 기반 정책(IAM 정책)

정책을 IAM ID에 연계할 수 있습니다. 예를 들면, 다음을 수행할 수 있습니다:

  • 계정 내 사용자 또는 그룹에 권한 정책 연계 – 사용자에게 애플리케이션과 같은 리소스 생성 권한을 부여하려면 사용자 혹은 해당 사용자가 속한 그룹에 허용 정책을 연계할 수 있습니다

  • 역할에 권한 정책 연계(교차 계정 권한 부여) – 정체 기반 권한 정책을 IAM 역할에 연계하여 교차 계정 권한을 부여할 수 있습니다. 예를 들어 계정 A의 관리자는 다음과 같이 다른 계정 AWS 계정 (예: 계정 B) 또는 Amazon 서비스에 계정 간 권한을 부여하는 역할을 생성할 수 있습니다.

    1. 계정 A 관리자는 IAM 역할을 생성하고 계정 A의 리소스에 대한 권한을 부여하는 권한 정책을 역할에 연결합니다.

    2. 계정 A 관리자는 계정 B를 역할을 수임할 보안 주체로 식별하는 역할에 신뢰 정책을 연결합니다.

    3. 계정 B 관리자는 계정 B의 아무 사용자나 역할을 수임할 권한을 위임할 수 있습니다. 그러면 계정 B의 사용자는 계정 A에서 리소스를 생성하거나 액세스할 수 있습니다. Amazon 서비스에 역할 수임 권한을 부여할 경우 신뢰 정책의 보안 주체가 Amazon 서비스 주체가 될 수도 있습니다.

    IAM을 사용하여 권한을 위임하는 방법에 대한 자세한 설명은 IAM 사용자 가이드액세스 관리 섹션을 참조하십시오.

다음은 애플리케이션 생성에 요구되는 kinesisanalytics:CreateApplication 작업에 대해 권한을 부여하는 정책 예입니다.

참고

다음은 설명을 위한 정책 예입니다. 정책을 사용자에게 연결하면 사용자는 AWS CLI 또는 AWS SDK를 사용하여 애플리케이션을 생성할 수 있습니다. 하지만 입력 및 출력을 구성하기 위해서는 더 많은 권한이 필요합니다. 콘솔을 사용할 때도 더 많은 권한이 필요합니다. 자세한 정보는 이어지는 섹션에서 설명됩니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1473028104000", "Effect": "Allow", "Action": [ "kinesisanalytics:CreateApplication" ], "Resource": [ "*" ] } ] }

정체 기반 정책 사용 방법에 대한 자세한 설명은 을 위한 정체 기반 정책(IAM 정책) 사용 을 참조하십시오. 사용자, 그룹, 역할 및 권한에 대한 자세한 설명은 IAM 사용자 가이드에서 정체(사용자, 그룹 및 역할)를 참조하십시오.

리소스 기반 정책

Amazon S3과 같은 다른 서비스도 리소스 기반 권한 정책을 지원합니다. 예를 들어, 정책을 S3 버킷에 연결하여 해당 버킷에 대한 액세스 권한을 관리할 수 있습니다. 는 리소스 기반 정책을 지원하지 않습니다.

정책 요소 지정: 작업, 효과, 보안 주체

각 리소스에 대해 서비스는 API 작업 세트를 정의합니다. 이러한 API 작업에 대한 권한을 부여하기 위해 에서는 정책에서 지정할 수 있는 작업을 정의합니다. 일부 API 작업에서는 API 작업을 수행하기 위해 복수의 작업에 대한 권한이 필요할 수 있습니다. 리소스 및 API 작업에 대한 자세한 설명은 리소스 및 작업작업 섹션을 참조하십시오.

다음은 가장 기본적인 정책 요소입니다:

  • 리소스 – Amazon 리소스 이름(ARN)을 사용하여 정책을 적용할 리소스를 식별합니다. 자세한 설명은 리소스 및 작업 섹션을 참조하십시오.

  • 조치 – 조치 키워드를 사용하여 허용 또는 거부할 리소스 작업을 식별합니다. 예를 들어, create를 사용하여 사용자가 애플리케이션을 생성하도록 권한을 부여할 수 있습니다.

  • Effect - 사용자가 특정 작업을 요청할 때 허용할지 아니면 거부할지 그 결과를 지정합니다. 명시적으로 리소스에 대한 액세스 권한을 부여(허용)하지 않는 경우, 액세스는 묵시적으로 거부됩니다. 다른 정책에서 액세스 권한을 부여하는 경우라도 사용자가 해당 리소스에 액세스할 수 없도록 하기 위해 리소스에 대한 권한을 명시적으로 거부할 수도 있습니다.

  • 보안 주체 – 정체 기반 정책(IAM 정책)에서 정책이 연계된 사용자는 암묵적인 보안 주체입니다. 리소스 기반 정책의 경우 사용자, 계정, 서비스 또는 권한의 수신자인 기타 개체를 지정합니다(리소스 기반 정책에만 해당). 의 경우 리소스 기반 정책을 지원하지 않습니다.

IAM 정책 구문 및 설명에 대해 자세히 알아보려면 IAM 사용자 가이드 IAM JSON 정책 참조 섹션을 참조하십시오.

모든 API 작업과 해당 작업이 적용되는 리소스를 보여주는 API 권한: 작업, 권한 및 리소스 준거을 참조하십시오.

정책에서 조건 지정

권한을 부여할 때 액세스 정책 언어를 사용하여 조건이 적용되는 조건을 지정할 수 있습니다. 예를 들어, 특정 날짜 이후에만 정책을 적용할 수 있습니다. 정책 언어에서의 조건 지정에 관한 자세한 설명은 IAM 사용자 가이드조건을 참조하십시오.

조건을 표시하려면 미리 정의된 조건 키를 사용합니다. 에만 해당되는 특정한 조건 키는 없습니다. 하지만 필요에 따라 사용할 수 있는 AWS-wide 조건 키가 있습니다. AWS-wide 키의 전체 목록은 IAM 사용 설명서의 조건에 사용할 수 있는 키를 참조하십시오.