본문 바로가기

자격증/AWS Certified Security - Specialty

[AWS SCS] KMS 권한

728x90
반응형

KMS 키 그랜트(KMS Key Grants)란?

KMS(Key Management Service)에서 제공하는 키 그랜트는 특정 KMS 키에 대해 다른 계정이나 IAM 사용자, 역할에게 일시적인 권한을 부여하는 기능입니다. 이를 통해 AWS 리소스나 사용자가 KMS 키를 활용할 수 있도록 허용할 수 있습니다. KMS 키 정책(KMS Key Policies)과 비슷한 역할을 하지만, 그랜트는 일시적이고 임시 권한 부여에 유용합니다.

KMS 키 그랜트와 KMS 키 정책의 차이점

  • KMS 키 정책: KMS 키에 대한 영구적인 권한을 관리합니다. 키를 사용할 수 있는 사용자나 역할을 정의합니다.
  • KMS 키 그랜트: KMS 키에 대한 일시적 권한을 부여합니다. 이 권한은 특정 IAM 사용자 또는 서비스가 KMS 키를 사용해야 하는 경우에 유용합니다.

KMS 키 그랜트의 특징

  1. 임시 권한 부여
    KMS 키 그랜트는 특정 작업(예: 암호화, 복호화 등)에 대해 일시적인 권한을 부여할 때 사용됩니다. 권한을 부여한 후 해당 권한을 수동으로 삭제해야 하며, 자동으로 만료되지 않습니다.
  2. KMS 키 정책을 변경할 필요 없음
    KMS 키 그랜트를 사용하면 기존의 KMS 키 정책이나 IAM 정책을 변경하지 않고도 권한을 부여할 수 있습니다. 그랜트를 적용하면 즉시 권한을 부여하고, 작업 완료 후 철회할 수 있습니다.
  3. AWS 서비스와의 통합
    AWS 서비스는 종종 KMS 키 그랜트를 사용하여 데이터를 암호화하거나 복호화하는 작업을 합니다. 예를 들어, EC2 인스턴스를 시작할 때 EBS 볼륨이 암호화되어 있다면, Amazon EBS는 KMS 키에 대한 그랜트를 생성하여 해당 볼륨을 복호화하거나 암호화할 수 있습니다.

KMS 키 그랜트 생성 방법

KMS 키 그랜트를 생성하려면 AWS CLI를 사용해야 합니다. 콘솔에서 KMS 키 그랜트를 직접 생성하는 기능은 현재 제공되지 않습니다. CLI를 사용하여 다음과 같이 그랜트를 생성할 수 있습니다.

aws kms create-grant --key-id <키 ID> --grantee-principal <주체> --operations <작업>

 

이 명령어에서:

  • key-id: 그랜트를 적용할 KMS 키의 ID
  • grantee-principal: 권한을 부여할 IAM 사용자, 역할 또는 계정
  • operations: 부여할 작업(암호화, 복호화 등)

KMS 키 그랜트를 사용하는 이유

KMS 키 정책은 권한을 관리하는 데 매우 중요한 역할을 하지만, 특정 상황에서는 KMS 키 그랜트가 유용하게 사용될 수 있습니다. 특히 AWS 서비스가 KMS 키를 사용해야 할 때, AWS는 자동으로 그랜트를 생성하고 작업이 완료되면 그랜트를 철회합니다. 이를 통해 서비스가 KMS 키를 사용할 수 있는 권한을 부여합니다.

예를 들어, EC2 인스턴스암호화된 EBS 볼륨을 사용할 때, Amazon EBS는 KMS 키에 대한 그랜트를 생성하여 해당 볼륨을 암호화하거나 복호화할 수 있게 됩니다.

EC2 인스턴스와 EBS 볼륨 예시

만약 EC2 인스턴스가 암호화된 EBS 볼륨을 가지고 있고 인스턴스를 시작할 수 없는 경우, 두 가지 주요 원인이 있을 수 있습니다:

  1. KMS 키가 비활성화되었거나 삭제됨.
  2. EBS 서비스가 KMS 키를 사용할 권한이 없음.

이를 해결하려면:

  • KMS 키가 존재하는지 확인.
  • EBS 서비스에 KMS 키 그랜트를 생성할 권한이 있는지 확인해야 합니다.

KMS 키 그랜트 권한 예시

KMS 키 그랜트를 생성하는 사용자에게 부여해야 할 권한은 다음과 같습니다:

  • CreateGrant: KMS 키에 대해 그랜트를 생성할 권한
  • ListGrants: 생성된 그랜트를 조회할 권한
  • RevokeGrant: 기존의 그랜트를 철회할 권한

또한, 서비스가 해당 그랜트를 사용할 수 있도록 하기 위해서는 조건 kms:GrantIsForAWSResource를 설정해야 합니다.

결론

KMS 키 그랜트는 AWS 리소스가 특정 KMS 키를 사용해야 할 때 일시적인 권한을 부여할 수 있는 유용한 방법입니다. 특히 AWS 서비스가 KMS 키를 사용할 수 있도록 하기 위해서는 그랜트가 필수적이며, 이를 통해 키 정책이나 IAM 정책을 변경하지 않고도 효율적으로 권한을 부여할 수 있습니다.

 

728x90
반응형

'자격증 > AWS Certified Security - Specialty' 카테고리의 다른 글

[AWS SCS] KMS Key 정책 평가 프로세스  (0) 2024.12.22
[AWS SCS] KMS 조건 키  (1) 2024.12.22
[AWS SCS] KMS Key 정책  (0) 2024.12.22
[AWS SCS] KMS Key 삭제  (1) 2024.12.22
[AWS SCS] KMS Key Rotation  (0) 2024.12.22