KMS 키 액세스 및 권한
AWS KMS를 사용하려면 AWS에서 요청을 인증하기 위해 사용할 수 있는 자격 증명이 있어야 합니다. 이러한 자격 증명은 AWS 리소스인 AWS KMS keys 및 별칭에 액세스할 수 있는 권한을 포함해야 합니다. 해당 권한을 명시적으로 제공하고 절대 거부되지 않은 경우를 제외하고 KMS 키에 대한 권한이 있는 AWS 주체는 없습니다. KMS 키를 사용하거나 관리하기 위한 묵시적 권한이나 자동 권한은 없습니다.
KMS 키에 대한 액세스를 제어하는 데 다음 정책 메커니즘을 사용할 수 있습니다.
-
키 정책 - 모든 KMS 키에는 키 정책이 있습니다. 키 정책은 KMS 키에 대한 액세스를 제어하는 기본적인 방법입니다. 키 정책만 사용하여 액세스를 제어할 수 있습니다. 즉 KMS 키에 대한 전체 액세스 범위가 단일 문서(키 정책)에 정의됩니다. 키 정책 사용에 대한 자세한 내용은 키 정책 섹션을 참조하세요.
-
IAM 정책 – 키 정책과 함께 IAM 정책을 사용하여 KMS 키에 대한 액세스를 제어하는 권한을 부여할 수 있습니다. 이러한 방식으로 액세스를 제어하면 IAM에서 IAM 자격 증명에 대한 모든 권한을 관리할 수 있습니다. IAM 정책을 사용하여 KMS 키에 대한 액세스를 허용하려면 키 정책에서 명시적으로 허용해야 합니다. IAM 정책 사용에 대한 자세한 내용은 IAM 정책 섹션을 참조하세요.
-
권한 부여 – 키 정책 및 IAM 정책과 함께 권한 부여를 사용하여 KMS 키에 대한 액세스를 허용할 수 있습니다. 이와 같이 액세스를 제어하면 키 정책에서 KMS 키에 대한 액세스를 허용하고 ID가 다른 사람에게 액세스를 위임하도록 허용할 수 있습니다. 권한 부여 사용에 대한 자세한 내용은 AWS KMS의 권한 부여를 참조하세요.
KMS 키 정책
AWS KMS 리소스에 대한 액세스를 관리하는 주된 방법은 정책을 이용하는 것입니다. 정책은 어떤 보안 주체가 어떤 리소스에 액세스 할 수 있는지를 설명하는 문서입니다. IAM 자격 증명에 연결된 정책을 자격 증명 기반 정책(또는 IAM 정책)이라 하고 다른 종류의 리소스에 연결된 정책을 리소스 정책이라고 합니다. KMS 키에 대한 AWS KMS 리소스 정책은 키 정책이라고 합니다.
모든 KMS 키에는 키 정책이 있습니다. 사용자가 제공하지 않으면 AWS KMS가 자동으로 생성합니다. AWS KMS가 사용하는 기본 키 정책은 AWS KMS 콘솔에서 키를 생성하는지 아니면 AWS KMS API를 사용하는지 여부에 따라 다릅니다. 조직의 최소 권한 요구 사항에 맞게 기본 키 정책을 편집하는 것이 좋습니다.
키와 IAM 위탁자가 동일한 AWS 계정에 있는 경우 키 정책만 사용하여 액세스를 제어할 수 있습니다. 즉, KMS 키에 대한 전체 액세스 범위가 단일 문서(키 정책)에 정의되어 있습니다. 그러나 한 계정의 호출자가 다른 계정의 키에 액세스해야 하는 경우 키 정책만 사용하여 액세스 권한을 부여할 수 없습니다. 교차 계정 시나리오에서는 호출자가 API를 직접 호출할 수 있도록 명시적으로 허용하는 IAM 정책을 호출자의 사용자 또는 역할에 연결해야 합니다.
키 정책과 함께 IAM 정책을 사용하여 KMS 키에 대한 액세스를 제어하는 권한을 부여할 수 있습니다. IAM 정책을 사용하여 KMS 키에 대한 액세스를 제어하려면 키 정책에서 계정에 IAM 정책 사용 권한을 부여해야 합니다. IAM 정책을 활성화하는 키 정책 문을 지정하거나 키 정책에서 허용되는 위탁자를 명시적으로 지정할 수 있습니다.
정책을 작성할 때는 다음 작업을 수행할 수 있는 사용자를 제한하는 강력한 제어 기능이 있어야 합니다.
-
IAM 및 KMS 키 정책 업데이트, 생성 및 삭제
-
사용자, 역할 및 그룹에서 IAM 정책 연결 및 분리
-
KMS 키 정책 연결 및 KMS 키에서 키 정책 분리
KMS 키 권한 부여
IAM 및 키 정책 외에도 AWS KMS는 권한 부여를 지원합니다. 권한 부여는 권한을 위임하는 유연하고 강력한 방법을 제공합니다. 권한 부여를 사용하여 AWS 계정 또는 다른 AWS 계정의 IAM 위탁자에 대해 시간 제한이 있는 KMS 키 액세스를 발급할 수 있습니다. 정책이 생성되는 시점에 위탁자의 이름을 모르거나 액세스가 필요한 위탁자가 자주 변경되는 경우 시간 제한이 있는 액세스를 발급하는 것이 좋습니다. 피부여자 위탁자는 KMS 키와 동일한 계정 또는 다른 계정에 있을 수 있습니다. 위탁자 키와 KMS 키가 서로 다른 계정에 있는 경우 권한 부여 외에 IAM 정책을 지정해야 합니다. API를 직접 호출하여 권한 부여를 생성하고 더 이상 필요하지 않을 때 권한 부여를 사용 중지하거나 취소해야 하기 때문에 권한 부여에는 추가 관리가 필요합니다.