AWS CodeCommit 리포지토리에 대한 AWS Key Management Service 및 암호화 - AWS CodeCommit

AWS CodeCommit 신규 고객은 더 이상 사용할 수 없습니다. AWS CodeCommit 의 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세히 알아보기

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

AWS CodeCommit 리포지토리에 대한 AWS Key Management Service 및 암호화

CodeCommit 리포지토리의 데이터는 전송 및 저장 중에 암호화됩니다. 호출 git push 등을 통해 데이터를 CodeCommit 리포지토리로 푸시하면 수신된 데이터를 CodeCommit 암호화하여 리포지토리에 저장합니다. CodeCommit 리포지토리에서 데이터를 가져오면 (예: 호출git pull) 데이터를 CodeCommit 해독한 다음 호출자에게 보냅니다. 이렇게 하려면 해당 푸시 또는 풀 요청과 관된된 IAM 사용자가 AWS에 인증되어 있어야 합니다. 전송하거나 수신한 데이터는 HTTPS 또는 네트워크 프로토콜을 암호화한 SSH를 사용하여 전송됩니다.

리포지토리의 데이터를 암호화하고 복호화하는 데 AWS 관리형 키 또는 고객 관리형 키를 사용할 수 있습니다. 고객 관리형 키와 AWS 관리형 키의 차이점에 대한 자세한 내용은 고객 관리형 키와 AWS 관리형 키를 참조하세요. 고객 관리 키를 지정하지 않으면 저장소의 데이터를 암호화하고 해독하는 AWS 관리형 키 데 a를 사용합니다. CodeCommit 이 AWS 관리형 키는 AWS 계정에서 자동으로 생성됩니다. Amazon Web Services 계정의 새 CodeCommit AWS 리전 리포지토리에 처음으로 리포지토리를 생성할 때 고객 관리 키를 지정하지 않으면 동일한 AWS 관리형 키 () AWS 리전 에 AWS Key Management Service (aws/codecommit키AWS KMS) 가 CodeCommit 생성됩니다. 이 aws/codecommit 키는 에서만 사용됩니다 CodeCommit. 이 키는 Amazon Web Services 계정에 저장됩니다. 지정한 내용에 따라 고객 관리 키를 CodeCommit 사용하거나 를 사용하여 저장소의 데이터를 암호화하고 해독합니다. AWS 관리형 키

중요

CodeCommit 리포지토리의 데이터를 암호화하고 해독하는 데 사용되는 AWS KMS 키에 대해 다음 AWS KMS 작업을 수행합니다. AWS 관리형 키를 사용하고 있는 경우 사용자에게 이러한 작업에 대한 명시적인 권한이 필요하지 않지만, 사용자에게 aws/codecommit 키에 대해 이러한 작업을 거부하는 정책이 첨부되어 있지 않아야 합니다. AWS 계정ID가 해당 키의 정책 주체로 설정된 고객 관리 키를 사용하는 경우 이러한 권한을 로 명시적으로 설정해야 합니다. allow 특히 리포지토리를 처음 만들 때와 리포지토리에 대한 키를 업데이트하는 경우, AWS 관리형 키를 사용하는 경우 다음 권한 중 어느 것도 deny 설정되어 있지 않아야 하며, 정책 보안 주체가 있는 고객 관리형 키를 사용하는 경우 allow로 설정해야 합니다.

  • "kms:Encrypt"

  • "kms:Decrypt"

  • "kms:ReEncrypt" (상황에 따라 kms:ReEncryptFrom

    kms:ReEncryptTo 또는 kms:ReEncrypt*가 거부로 설정되지 않아야 함)

  • "kms:GenerateDataKey"

  • "kms:GenerateDataKeyWithoutPlaintext"

  • "kms:DescribeKey"

자체 고객 관리 키를 사용하려면 리포지토리가 AWS 리전 있는 곳에서 키를 사용할 수 있어야 합니다. CodeCommit 단일 및 다중 지역 고객 관리 키 사용을 모두 지원합니다. 모든 키 구성 요소 오리진 유형이 지원되지만 기본 KMS 옵션을 사용하는 것이 좋습니다. 외부 키 저장소 옵션을 사용하는 고객은 저장소 공급자로부터 지연이 발생할 수 있습니다. 또한. CodeCommit 고객 관리 키에 대한 요구 사항은 다음과 같습니다.

  • CodeCommit 대칭 키 사용만 지원합니다.

  • 키 사용 유형은 암호화 및 복호화로 설정해야 합니다.

고객 관리형 키 생성에 대한 자세한 내용은 개념키 생성을 참조하세요.

AWS 관리형 키생성된 CodeCommit 에 대한 정보를 보려면 다음과 같이 하십시오.

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/kms에서 AWS Key Management Service(AWS KMS) 콘솔을 엽니다.

  2. AWS 리전을 변경하려면 페이지의 오른쪽 상단 모서리에 있는 리전 선택기를 사용합니다.

  3. 서비스 탐색 창에서 AWS 관리형 키를 선택합니다. 키를 검토하려는 AWS 리전에 로그인했는지 확인합니다.

  4. 암호화 키 목록에서 aws/codecommit이라는 AWS 관리형 키를 선택합니다. AWS 소유 키에 대한 기본 정보가 표시됩니다.

이 AWS 관리형 키는 변경하거나 삭제할 수 없습니다.

암호화 알고리즘을 사용하여 리포지토리 데이터를 암호화하는 방법

CodeCommit 데이터를 암호화하는 데 두 가지 접근 방식을 사용합니다. 6MB 미만의 개별 Git 객체는 데이터 무결성 검증을 제공하는 AES-GCM-256을 사용하여 암호화됩니다. 단일 블롭에 대해 6MB에서 최대 2GB 사이의 객체는 AES-CBC-256 암호화를 사용하여 암호화됩니다. CodeCommit 항상 암호화 컨텍스트를 검증합니다.

암호화 컨텍스트

AWS KMS와 통합된 각 서비스는 암호화와 해독 작업 모두에 대한 암호화 컨텍스트를 지정합니다. 암호화 컨텍스트는 데이터 무결성 확인을 위해 AWS KMS에서 사용하는 추가적인 인증 정보입니다. 암호화 작업에 대해 지정하면 해독 작업에도 지정해야 합니다. 그렇지 않으면 암호 해독이 실패합니다. CodeCommit CodeCommit 저장소 ID를 암호화 컨텍스트에 사용합니다. get-repository명령 또는 CodeCommit 콘솔을 사용하여 저장소 ID를 찾을 수 있습니다. AWS CloudTrail로그에서 CodeCommit 리포지토리 ID를 검색하면 리포지토리의 데이터를 암호화하거나 AWS KMS 해독하기 위해 어떤 키 인에서 어떤 암호화 작업이 수행되었는지 파악할 수 있습니다. CodeCommit

AWS KMS에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서 섹션을 참조하세요.