KMS 교차 계정 액세스 설정 방법
AWS KMS(Key Management Service)는 데이터를 안전하게 암호화하는데 사용됩니다. 때때로, 다른 계정의 IAM 사용자나 역할이 특정 KMS 키에 접근해야 하는 경우가 있습니다. 이를 위해서는 교차 계정 액세스를 설정해야 합니다. 이번 포스트에서는 KMS 키를 교차 계정에서 안전하게 공유하는 방법에 대해 다루겠습니다.
1. 기본적인 교차 계정 액세스
계정 A에서 KMS 키를 생성하고, 다른 계정(B)에서 이 키에 접근할 수 있도록 설정하려면 다음과 같은 단계가 필요합니다.
1.1 계정 A의 KMS 키 정책 설정
계정 A의 KMS 키 정책에 계정 B의 루트 계정을 원칙(Principal)으로 설정하여 KMS 키에 대한 액세스를 허용합니다. 예를 들어, 계정 B의 루트 계정 ARN을 원칙으로 설정하면, 계정 B의 모든 IAM 사용자 및 역할이 해당 KMS 키에 접근할 수 있습니다.
1.2 계정 B의 IAM 정책 설정
계정 B의 IAM 사용자 또는 IAM 역할에는 해당 KMS 키에 접근할 수 있는 권한을 부여하는 IAM 정책이 필요합니다. 이 정책에서 KMS API(예: encrypt, decrypt)와 계정 A의 KMS 키 ARN을 리소스로 지정하면, 계정 B의 IAM 사용자 또는 역할이 KMS 키를 사용해 데이터를 암호화하거나 복호화할 수 있습니다.
2. 교차 계정 액세스를 위한 서비스 사용
계정 B의 IAM 사용자나 역할이 아니라, 다른 AWS 서비스에서 계정 A의 KMS 키를 사용해야 할 때도 있습니다. 예를 들어, 계정 B의 EBS 볼륨이 계정 A의 KMS 키로 암호화되는 경우입니다. 이 경우, 서비스에 대한 액세스를 허용하기 위해 Grant를 사용해야 합니다.
2.1 KMS 키 정책에 Grant 추가
계정 A의 KMS 키 정책에 CreateGrant, ListGrants, RevokeGrants 권한을 포함하여 다른 AWS 서비스가 KMS 키를 사용할 수 있도록 합니다. 이를 통해 EBS 서비스는 계정 A의 KMS 키를 사용하여 EBS 볼륨을 암호화하고 복호화할 수 있습니다.
2.2 계정 B의 IAM 정책 설정
계정 B의 IAM 사용자 또는 역할에는 CreateGrant, ListGrants, RevokeGrants를 포함하는 권한을 부여하여, 백엔드에서 EBS 서비스가 KMS 키를 사용할 수 있도록 Grant를 생성할 수 있도록 합니다.
3. IAM 역할을 통한 교차 계정 액세스
IAM 역할을 사용하는 방법도 있습니다. 계정 A에서 KMS 키에 대한 기본 정책을 설정하고, 특정 IAM 역할에 이 키에 대한 액세스를 허용하는 IAM 정책을 부여합니다.
3.1 계정 A의 KMS 키 정책 설정
계정 A의 KMS 키 정책은 기본적으로 동일 계정 내에서의 액세스를 허용합니다. 이를 통해 특정 IAM 역할에 대한 액세스를 허용할 수 있습니다.
3.2 IAM 역할을 다른 계정에서 사용
계정 A의 IAM 역할을 다른 계정에서 사용할 수 있도록 신뢰 정책을 설정합니다. 다른 계정의 사용자는 이 역할을 맡아서 계정 A의 KMS 키를 사용할 수 있습니다.
4. 교차 계정 RDS DB 스냅샷 공유
RDS DB 스냅샷을 교차 계정으로 공유할 때, 먼저 KMS 키를 공유해야 합니다. 예를 들어, 계정 A에서 암호화된 RDS 스냅샷을 계정 B로 공유하려면 계정 A의 KMS 키에 대한 액세스를 계정 B에 부여하는 정책을 설정합니다.
4.1 KMS 키 정책을 통한 스냅샷 공유
계정 A의 KMS 키 정책에 계정 B가 KMS 키를 사용할 수 있도록 설정하고, 이를 통해 암호화된 RDS 스냅샷을 계정 B에서 복호화하여 DB 인스턴스를 실행할 수 있게 됩니다.
결론
KMS 키를 교차 계정에서 사용하려면 KMS 키 정책, IAM 정책, 그리고 필요 시 Grant 기능을 적절히 활용해야 합니다. 이러한 설정을 통해 다른 계정의 IAM 사용자나 서비스가 특정 KMS 키를 안전하게 사용할 수 있습니다. 교차 계정 액세스를 설정하는 과정은 다소 복잡할 수 있지만, KMS 키 관리와 보안을 강화하는 중요한 방법입니다.
'자격증 > AWS Certified Security - Specialty' 카테고리의 다른 글
[AWS SCS] KMS API 호출 제한 및 데이터 키 캐싱 (0) | 2024.12.22 |
---|---|
[AWS SCS] KMS 비대칭키 암호화 (0) | 2024.12.22 |
[AWS SCS] KMS Key 정책 평가 프로세스 (0) | 2024.12.22 |
[AWS SCS] KMS 조건 키 (1) | 2024.12.22 |
[AWS SCS] KMS 권한 (0) | 2024.12.22 |