Elastic Transcoder에 대한 액세스 제어 - Amazon Elastic Transcoder

Elastic Transcoder에 대한 액세스 제어

Elastic Transcoder에서 AWS Identity and Access Management(IAM)를 사용하여 사용자가 Elastic Transcoder에서 수행할 수 있는 작업을 제어하고, Elastic Transcoder가 필요로 하는 다른 AWS 서비스에 대한 Elastic Transcoder의 액세스를 제어할 수 있습니다. 사용자, IAM 그룹 또는 역할과 연결할 수 있는 권한 모음인 IAM 정책을 사용하여 액세스를 제어합니다.

Elastic Transcoder에 대한 사용자 액세스 제어

사용자가 Elastic Transcoder에서 수행할 수 있는 작업을 제어하려면(예: 파이프라인 및 작업을 만들고 관리할 수 있는 사람) 사용자의 정책을 만들면 됩니다. 계정의 IAM 사용자의 경우 해당 IAM 사용자 또는 IAM 그룹에 직접 정책을 연결할 수 있습니다. 다른 AWS 계정의 IAM 사용자에게 권한을 부여하거나(위임) 외부 자격 증명 시스템에서 로그인한 사용자에게 권한을 부여하려는(연동) 경우, 역할에 정책을 연결하고 사용자가 해당 역할을 맡도록 할 수 있습니다. 위임 및 연동에 대한 자세한 내용은 IAM 사용 설명서역할(위임 및 연동)을 참조하십시오.

다른 AWS 서비스에 대한 Elastic Transcoder의 액세스를 제어하려면 서비스 역할을 만들면 됩니다. 이는 파이프라인을 만들 때 할당하고, 트랜스코딩과 연결된 작업을 수행할 권한을 Elastic Transcoder 자체에 부여하는 IAM 역할입니다.

트랜스코딩 프로세스 중에 사용자 역할과 서비스 역할은 모두 중요하며, 한 예로 Elastic Transcoder는 Amazon S3 버킷에서 파일을 가져오고 다른 Amazon S3 버킷에 트랜스코딩된 파일을 저장하기 위해 서비스 역할이 필요하고, 사용자는 Elastic Transcoder에서 작업을 만들 수 있도록 허용하는 IAM 역할이 필요합니다.

IAM에 대한 자세한 내용은 IAM 사용 설명서를 참조하십시오. 서비스 역할에 대한 자세한 내용은 AWS 서비스에 대한 역할 생성을 참조하십시오.

Elastic Transcoder용 사용자 정책 예

사용자가 파이프라인 만들기 및 작업 실행과 같은 Elastic Transcoder 관리 기능을 수행할 수 있게 하려면 해당 사용자와 연결할 수 있는 정책이 있어야 합니다. 이 단원에서는 Elastic Transcoder 작업 및 Elastic Transcoder가 사용하는 관련 서비스의 작업에 대한 액세스를 제어하기 위한 세 가지 정책을 보여 줍니다. AWS 계정의 사용자에게 모든 Elastic Transcoder 작업 또는 그 하위 세트에 대한 액세스 권한을 부여할 수 있습니다.

IAM 사용자에 이러한 정책을 사용하려면 해당 IAM 사용자에게 또는 해당 사용자가 속한 IAM 그룹에 직접 정책을 연결합니다. 위임된 사용자 또는 연합된 사용자에 이러한 정책을 사용하려면 위임된 사용자 또는 연합된 사용자가 맡을 IAM 역할에 정책을 연결합니다.

정책 관리에 대한 자세한 내용은 IAM 사용 설명서IAM 정책 관리를 참조하십시오.

사용자에게 Elastic Transcoder 및 Amazon S3에 대한 읽기 전용 액세스 권한 부여

다음 정책은 사용자에게 Elastic Transcoder 리소스에 대한 읽기 전용 액세스 및 Amazon S3의 나열 작업에 대한 액세스를 부여합니다. 이 정책은 트랜스코딩된 파일을 찾고 볼 권한과 IAM 계정에 사용할 수 있는 버킷을 볼 권한이 필요하지만, 리소스 또는 파일을 업데이트, 생성 또는 삭제할 능력은 필요하지 않은 사용자에게 유용합니다. 또한 이 정책은 사용자가 IAM 계정의 사용 가능한 모든 파이프라인, 프리셋 및 작업을 나열할 수 있도록 허용합니다. 특정 버킷에 대한 액세스를 제한하려면 사용자를 특정 리소스로 제한 단원을 참조하십시오.

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elastictranscoder:Read*", "elastictranscoder:List*", "s3:List*" ], "Resource": "*" } ] }

사용자에게 작업을 만들 권한 부여

다음 정책은 사용자에게 계정과 연결된 모든 Elastic Transcoder 리소스를 나열 및 가져오고, 작업 및 프리셋을 생성 또는 수정하며, Amazon S3 및 Amazon SNS의 나열 작업을 사용할 권한을 부여합니다.

이 정책은 트랜스코딩 설정을 수정할 능력과 프리셋 또는 작업을 생성 또는 삭제할 능력이 필요한 사용자에게 유용합니다. 사용자가 파이프라인, Amazon S3 버킷 또는 Amazon SNS 알림을 생성, 업데이트 또는 삭제하는 것은 허용하지 않습니다.

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elastictranscoder:Read*", "elastictranscoder:List*", "elastictranscoder:*Job", "elastictranscoder:*Preset", "s3:List*", "sns:List*" ], "Resource": "*" } ] }

사용자에게 Elastic Transcoder 및 관련 서비스에 대한 광범위한 액세스 권한 부여

다음 정책은 사용자가 Elastic Transcoder 또는 CloudFront 작업을 수행하고, Amazon S3 버킷을 관리하며, IAM 역할을 생성 및 나열하고, Amazon SNS 알림을 생성 및 나열하도록 허용합니다.

이 정책은 Elastic Transcoder의 관리자인 사용자에게 유용합니다.

보안 강화를 위해 관리 권한이 있는 사용자는 Multi-Factor Authentication(MFA)을 사용하는 것이 좋습니다. 자세한 내용은 IAM 사용 설명서AWS에서 멀티 팩터 인증(MFA) 기기 사용하기를 참조하십시오.

중요

IAM 작업에 대한 권한이 포함된 정책을 IAM 역할에 추가하지 않는 것이 좋습니다. 여기에 설명된 정책은 자신의 계정의 IAM 사용자에게는 유용하나, 다른 계정의 사용자 또는 연합된 사용자가 맡을 수 있는 역할에 할당하면 안 됩니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action": [ "elastictranscoder:*", "cloudfront:*", "s3:List*", "s3:Put*", "s3:Get*", "s3:*MultipartUpload*", "iam:CreateRole", "iam:PutRolePolicy", "iam:GetRolePolicy", "iam:List*", "sns:CreateTopic", "sns:List*" ], "Resource":[ "*" ] } ] }

액세스를 제어할 수 있는 Elastic Transcoder 작업

다음은 Elastic Transcoder 작업의 전체 목록입니다.

elastictranscoder:CancelJob elastictranscoder:CreateJob elastictranscoder:CreatePipeline elastictranscoder:CreatePreset elastictranscoder:DeletePipeline elastictranscoder:DeletePreset elastictranscoder:ListJobsByPipeline elastictranscoder:ListJobsByStatus elastictranscoder:ListPipelines elastictranscoder:ListPresets elastictranscoder:ReadJob elastictranscoder:ReadPipeline elastictranscoder:ReadPreset elastictranscoder:TestRole elastictranscoder:UpdatePipeline elastictranscoder:UpdatePipelineNotifications elastictranscoder:UpdatePipelineStatus

사용자를 특정 리소스로 제한

작업에 대한 액세스를 제한하는 것 외에도 특정 작업, 파이프라인 및 프리셋에 대한 액세스를 추가로 제한할 수 있으며, 이를 리소스 수준 권한 부여라고 합니다.

Elastic Transcoder 리소스의 하위 집합에 대한 액세스를 제한하거나 부여하려면 리소스의 ARN을 정책의 리소스 요소에 넣습니다. Elastic Transcoder ARN은 다음과 같은 일반적 형식을 취합니다.

arn:aws:elastictranscoder:region:account:resource/ID

region, account, resource, ID 변수를 유효한 값으로 바꿉니다. 유효한 값은 다음과 같습니다.

  • region: 리전의 이름입니다. 리전 목록은 여기에서 확인할 수 있습니다. 모든 리전을 나타내려면 와일드카드(*)를 사용합니다. 값을 지정해야 합니다.

  • account: AWS 계정의 ID입니다. 값을 지정해야 합니다.

  • resource: Elastic Transcoder 리소스의 유형으로 preset, pipeline 또는 job입니다.

  • ID: 특정 프리셋, 파이프라인 또는 작업의 ID이거나 현재 AWS 계정과 연결되어 있는 지정된 유형의 모든 리소스를 나타내는 *입니다.

예를 들어 다음 ARN은 계정 111122223333us-east-2 리전에 있는 모든 프리셋 리소스를 지정합니다.

arn:aws:elastictranscoder:us-east-2:111122223333:preset/*

파이프라인, 프리셋 또는 작업 콘솔 페이지에서 리소스 이름 옆의 돋보기 아이콘( )을 클릭하여 리소스의 ARN을 찾을 수 있습니다.

자세한 내용은 IAM 사용 설명서리소스를 참조하십시오.

사용자에 대한 리소스를 제한하기 위한 정책 예제

다음 정책은 Amazon S3의 example_bucket이라는 버킷에 대한 권한, Elastic Transcoder의 모든 항목에 대한 나열 및 읽기 권한, example_pipeline이라는 파이프라인에서 작업을 만들 권한을 부여합니다.

이 정책은 사용 가능한 파일과 리소스를 볼 수 있고, 그러한 리소스를 사용하여 자신의 트랜스코딩 작업을 만들 수 있어야 하는 SDK 및 CLI 사용자에게 유용합니다. 리소스 업데이트 또는 삭제, 작업 이외의 리소스 생성 또는 여기에 지정된 리소스 이외의 리소스 작업은 허용하지 않으며, 콘솔 사용자에게는 적용되지 않습니다.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"1", "Effect":"Allow", "Action":[ "s3:ListAllMyBuckets", "s3:GetBucketLocation", "s3:ListBucket", "s3:GetObject", "s3:PutObject" ], "Resource":[ "arn:aws:s3:::example_bucket", "arn:aws:s3:::example_bucket/*" ] }, { "Sid":"2", "Effect":"Allow", "Action":[ "elastictranscoder:List*", "elastictranscoder:Read*", "elastictranscoder:CreateJob" ], "Resource":[ "arn:aws:elastictranscoder:region:account:pipeline/example_pipeline", "arn:aws:elastictranscoder:region:account:job/*" ] } ] }

Elastic Transcoder 파이프라인의 서비스 역할

트랜스코딩 작업을 관리하는 파이프라인을 생성할 때 IAM 서비스 역할을 지정해야 합니다. IAM 서비스 역할에는 트랜스코딩을 위해 해당 파이프라인에서 사용하는 권한을 지정하는 정책이 있습니다.

파이프라인의 역할을 지정할 때 두 가지 옵션이 있습니다.

  • 트랜스코딩을 위해 Elastic Transcoder에 필요한 권한만 포함된 기본 역할을 사용합니다. Elastic Transcoder 콘솔을 사용하여 파이프라인을 생성하는 경우, 첫 번째 파이프라인을 생성할 때 콘솔이 기본 역할을 만들 수 있는 옵션을 자동으로 부여합니다. 기본 역할을 포함하여 IAM 서비스 역할을 만들 관리 권한이 있어야 합니다.

  • 기존 역할을 선택합니다. 이 경우 IAM에서 이전에 역할을 만들었고, 파일을 트랜스코딩할 충분한 권한을 Elastic Transcoder에 부여하는 정책을 해당 역할에 연결했어야 합니다. 이는 다른 AWS 서비스의 역할도 사용하려는 경우에 유용합니다.

파이프라인의 기본 IAM 역할

Elastic Transcoder는 Elastic Transcoder에서 만든 기본 역할을 사용하여 다음 작업을 수행할 수 있습니다.

  • 트랜스코딩을 위해 Amazon S3 버킷에서 파일 가져오기

  • Amazon S3 버킷의 콘텐츠 나열

  • Amazon S3 버킷에 트랜스코딩된 파일 저장

  • Amazon S3 멀티파트 업로드 생성

  • SNS 주제에 알림 게시

이 정책은 Elastic Transcoder가 다음 작업을 수행하지 못하게 합니다.

  • Amazon SNS 삭제 작업 수행 또는 주제에서 정책 설명 추가 또는 제거

  • Amazon S3 버킷 또는 항목 삭제 작업 수행 또는 버킷 정책 추가, 제거 또는 수정

기본 역할의 액세스(권한) 정책 정의는 다음과 같습니다.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"1", "Effect":"Allow", "Action":[ "s3:Get*", "s3:ListBucket", "s3:Put*", "s3:*MultipartUpload*" ], "Resource":"*" }, { "Sid":"2", "Effect":"Allow", "Action":"sns:Publish", "Resource":"*" }, { "Sid":"3", "Effect":"Deny", "Action":[ "sns:*Permission*", "sns:*Delete*", "sns:*Remove*", "s3:*Policy*", "s3:*Delete*" ], "Resource":"*" } ] }

Elastic Transcoder 서비스 연결 역할에 대해 지원되는 리전

Elastic Transcoder는 다음 리전에서 서비스 연결 역할 사용을 지원합니다.

리전 이름 리전 자격 증명 Elastic Transcoder의 지원
미국 동부(버지니아 북부) us-east-1
미국 동부(오하이오) us-east-2 아니요
미국 서부(캘리포니아 북부 지역) us-west-1
미국 서부(오레곤) us-west-2
아시아 태평양(뭄바이) ap-south-1
아시아 태평양(오사카-로컬) ap-northeast-3 아니요
아시아 태평양(서울) ap-northeast-2 아니요
아시아 태평양(싱가포르) ap-southeast-1
아시아 태평양(시드니) ap-southeast-2
아시아 태평양(도쿄) ap-northeast-1
캐나다(중부) ca-central-1 아니요
유럽(프랑크푸르트) eu-central-1 아니요
유럽(아일랜드) eu-west-1
유럽(런던) eu-west-2 아니요
유럽(파리) eu-west-3 아니요
남아메리카(상파울루) sa-east-1 아니요