Kinesis Video Streams의 데이터 보호 - Amazon Kinesis Video Streams

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

Kinesis Video Streams의 데이터 보호

Amazon Kinesis Video Streams 에서 저장 데이터를 암호화하여 (SSE) 키를 사용하여 서버 측 암호화 AWS Key Management Service (AWS KMS)를 사용하여 엄격한 데이터 관리 요구 사항을 충족할 수 있습니다.

Kinesis Video Streams의 서버 측 암호화란 무엇입니까?

서버 측 암호화는 사용자가 지정한 키를 사용하여 저장되어 저장되기 전에 데이터를 자동으로 암호화하는 Kinesis Video Streams의 AWS KMS 기능입니다. 데이터는 Kinesis Video Streams 스트림 스토리지 계층에 기록되기 전에 암호화되고 스토리지에서 검색된 후에는 복호화됩니다. 따라서 Kinesis Video Streams 서비스 내에서 저장 데이터가 항상 암호화됩니다.

서버 측 암호화를 사용하면 Kinesis 비디오 스트림 생산자와 소비자가 KMS 키 또는 암호화 작업을 관리할 필요가 없습니다. 데이터 보존이 활성화되면 데이터가 Kinesis Video Streams에 들어오고 나갈 때 자동으로 암호화되므로 저장 데이터는 암호화됩니다. 는 서버 측 암호화 기능에서 사용하는 모든 키를 AWS KMS 제공합니다. 는 AWS KMS 서비스로 가져온 AWS사용자 지정 KMS 키인 에서 관리하는 Kinesis Video Streams에 대한 AWS KMS 키 사용을 AWS KMS 간소화합니다.

비용, 리전 및 성능 고려 사항

서버 측 암호화를 AWS KMS API 적용하면 사용량 및 키 비용이 부과됩니다. 사용자 지정 AWS KMS 키와 달리 (Default) aws/kinesis-video KMS 키는 무료로 제공됩니다. 하지만 Kinesis Video Streams에서 사용자를 대신하여 발생하는 API 사용 비용은 여전히 지불해야 합니다.

API 사용 비용은 사용자 지정 키를 포함한 모든 KMS 키에 적용됩니다. 각 사용자 자격 증명에는 에 대한 고유한 API 호출이 필요하기 때문에 AWS KMS 비용은 데이터 생산자 및 소비자에서 사용하는 사용자 자격 증명 수에 따라 조정됩니다 AWS KMS.

다음은 리소스별 비용에 대한 설명입니다.

  • AWS (별칭 = aws/kinesis-video)에서 관리하는 Kinesis Video Streams의 KMS 키에는 요금이 부과되지 않습니다.

  • 사용자가 생성한 KMS 키에는 AWS KMS key 비용이 부과됩니다. 자세한 내용은 AWS Key Management Service 요금을 참조하세요.

AWS KMS API 사용량

API 새 데이터 암호화 키를 생성하거나 기존 암호화 키를 검색하라는 요청은 트래픽이 증가함에 따라 증가하며 AWS KMS 사용 비용이 부과됩니다. 자세한 내용은 AWS Key Management Service 요금: 사용량을 참조하세요.

Kinesis Video Streams는 보존이 0(보존 없음)으로 설정된 경우에도 키 요청을 생성합니다.

리전별 서버 측 암호화 가용성

Kinesis 비디오 스트림의 서버 측 암호화는 Kinesis 비디오 스트림을 사용할 수 AWS 리전 있는 모든 에서 사용할 수 있습니다.

서버 측 암호화를 시작하려면 어떻게 해야 하나요?

서버 측 암호화는 Kinesis Video Streams에서 항상 활성화됩니다. 스트림이 생성될 때 사용자 제공 키가 지정되지 않으면 AWS 관리형 키 (Kinesis Video Streams에서 제공)가 사용됩니다.

사용자가 제공한 KMS 키는 생성 시 Kinesis 비디오 스트림에 할당해야 합니다. UpdateStream API 나중에 를 사용하여 스트림에 다른 키를 할당할 수 없습니다.

Kinesis 비디오 스트림에 사용자 제공 KMS 키를 할당하는 방법은 두 가지입니다.

  • 에서 Kinesis 비디오 스트림을 생성할 때 새 비디오 스트림 생성 페이지의 암호화 탭에서 KMS 키를 AWS Management Console지정합니다.

  • 를 사용하여 Kinesis 비디오 스트림을 생성할 때 KmsKeyId 파라미터에 키 ID를 CreateStream API지정합니다.

고객 관리형 키 생성 및 사용

이 섹션에서는 Amazon Kinesis Video Streams에서 관리하는 KMS 키를 사용하는 대신 자체 키를 생성하고 사용하는 방법을 설명합니다.

고객 관리형 키 생성

자체 키를 생성하는 방법에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서키 생성을 참조하세요. 계정의 키를 생성한 후 Kinesis Video Streams 서비스는 고객 관리형 키 목록에서 이러한 키를 반환합니다.

고객 관리형 키 사용

소비자, 생산자 및 관리자에게 올바른 권한이 적용된 후 사용자 또는 AWS 계정 다른 에서 사용자 지정 KMS 키를 사용할 수 있습니다 AWS 계정. 계정의 모든 KMS 키는 콘솔의 고객 관리형 키 목록에 표시됩니다.

다른 계정에 있는 사용자 지정 KMS 키를 사용하려면 해당 키를 사용할 권한이 있어야 합니다. 또한 CreateStream 를 사용하여 스트림을 생성해야 합니다API. 콘솔에서 생성된 스트림에서는 다른 계정의 KMS 키를 사용할 수 없습니다.

참고

PutMedia 또는 GetMedia 작업이 수행될 때까지 KMS 키에 액세스할 수 없습니다. 결과는 다음과 같습니다.

  • 지정한 키가 없는 경우 CreateStream 작업은 성공하지만 스트림에 대한 PutMedia GetMedia 작업은 실패합니다.

  • 제공된 키(aws/kinesis-video)를 사용하는 경우 첫 번째 PutMedia 또는 GetMedia 작업이 수행될 때까지 계정에 키가 표시되지 않습니다.

고객 관리형 키를 사용할 수 있는 권한

고객 관리형 키와 함께 서버 측 암호화를 사용하려면 먼저 스트림 암호화와 스트림 레코드 암호화 및 복호화를 허용하는 KMS 키 정책을 구성해야 합니다. AWS KMS 권한에 대한 예제 및 자세한 내용은 AWS KMS API 권한: 작업 및 리소스 참조를 참조하세요.

참고

암호화에 기본 서비스 키를 사용할 때는 사용자 지정 IAM 권한을 적용할 필요가 없습니다.

고객 관리형 키를 사용하기 전에 Kinesis 비디오 스트림 생산자와 소비자(IAM 보안 주체)가 AWS KMS 기본 키 정책의 사용자인지 확인합니다. 그렇지 않으면 스트림에서 읽기 및 쓰기가 실패하여 궁극적으로 데이터 손실, 처리 지연 또는 애플리케이션 중단이 발생할 수 있습니다. IAM 정책을 사용하여 KMS 키에 대한 권한을 관리할 수 있습니다. 자세한 내용은 에서 IAM 정책 사용을 AWS KMS 참조하세요.

생산자 권한 예

Kinesis 비디오 스트림 생산자에게는 다음과 같은 kms:GenerateDataKey 권한이 있어야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, { "Effect": "Allow", "Action": [ "kinesis-video:PutMedia", ], "Resource": "arn:aws:kinesis-video:*:123456789012:MyStream" } ] }

소비자 권한 예

Kinesis 비디오 스트림 소비자는 다음과 같은 kms:Decrypt 권한이 있어야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, { "Effect": "Allow", "Action": [ "kinesis-video:GetMedia", ], "Resource": "arn:aws:kinesis-video:*:123456789012:MyStream" } ] }