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 키 그랜트의 특징
- 임시 권한 부여
KMS 키 그랜트는 특정 작업(예: 암호화, 복호화 등)에 대해 일시적인 권한을 부여할 때 사용됩니다. 권한을 부여한 후 해당 권한을 수동으로 삭제해야 하며, 자동으로 만료되지 않습니다. - KMS 키 정책을 변경할 필요 없음
KMS 키 그랜트를 사용하면 기존의 KMS 키 정책이나 IAM 정책을 변경하지 않고도 권한을 부여할 수 있습니다. 그랜트를 적용하면 즉시 권한을 부여하고, 작업 완료 후 철회할 수 있습니다. - 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 볼륨을 가지고 있고 인스턴스를 시작할 수 없는 경우, 두 가지 주요 원인이 있을 수 있습니다:
- KMS 키가 비활성화되었거나 삭제됨.
- EBS 서비스가 KMS 키를 사용할 권한이 없음.
이를 해결하려면:
- KMS 키가 존재하는지 확인.
- EBS 서비스에 KMS 키 그랜트를 생성할 권한이 있는지 확인해야 합니다.
KMS 키 그랜트 권한 예시
KMS 키 그랜트를 생성하는 사용자에게 부여해야 할 권한은 다음과 같습니다:
- CreateGrant: KMS 키에 대해 그랜트를 생성할 권한
- ListGrants: 생성된 그랜트를 조회할 권한
- RevokeGrant: 기존의 그랜트를 철회할 권한
또한, 서비스가 해당 그랜트를 사용할 수 있도록 하기 위해서는 조건 kms:GrantIsForAWSResource를 설정해야 합니다.
결론
KMS 키 그랜트는 AWS 리소스가 특정 KMS 키를 사용해야 할 때 일시적인 권한을 부여할 수 있는 유용한 방법입니다. 특히 AWS 서비스가 KMS 키를 사용할 수 있도록 하기 위해서는 그랜트가 필수적이며, 이를 통해 키 정책이나 IAM 정책을 변경하지 않고도 효율적으로 권한을 부여할 수 있습니다.
'자격증 > 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 |