사용자 지정 키 스토어에 대한 액세스 제어 - AWS Key Management Service

사용자 지정 키 스토어에 대한 액세스 제어

AWS KMS 정책을 사용하여 사용자 지정 키 스토어 및 AWS CloudHSM 클러스터에 대한 액세스를 제어합니다. IAM 정책 및 키 정책을 사용하여 사용자 지정 키 스토어에서 AWS KMS keys에 대한 액세스를 제어할 수 있습니다. 사용자, 그룹 및 역할에 수행할 가능성이 있는 작업에 필요한 권한만 제공하는 것이 좋습니다.

사용자 지정 키 스토어 관리자 및 사용자에 대한 권한 부여

사용자 지정 키 스토어를 설계할 때는 이를 사용하고 관리하는 보안 주체가 필요한 권한만 갖도록 해야 합니다. 다음 목록에는 사용자 지정 키 스토어 관리자 및 사용자에게 필요한 최소 권한이 설명되어 있습니다.

  • 사용자 지정 키 스토어를 생성 및 관리하는 보안 주체가 사용자 지정 키 스토어의 API 작업을 사용하려면 다음 권한이 필요합니다.

    • cloudhsm:DescribeClusters

    • kms:CreateCustomKeyStore

    • kms:ConnectCustomKeyStore

    • kms:DisconnectCustomKeyStore

    • kms:UpdateCustomKeyStore

    • kms:DeleteCustomKeyStore

    • kms:DescribeCustomKeyStores

    • iam:CreateServiceLinkedRole

  • 사용자 지정 키 스토어에 연결된 AWS CloudHSM 클러스터를 생성 및 관리하는 보안 주체에게는 AWS CloudHSM 클러스터를 생성하고 초기화하는 권한이 필요합니다. 여기에는 가상 사설 클라우드를 생성 또는 사용하고 서브넷을 생성하며 Amazon EC2 인스턴스를 생성하는 권한이 포함되어 있습니다. 보안 주체가 HSM을 생성 및 삭제하고 백업을 관리해야 하는 경우도 있습니다. 필요한 권한 목록은 AWS CloudHSM 사용 설명서AWS CloudHSM에 필요한 수준으로 사용자 권한 제한을 참조하십시오.

  • 사용자 지정 키 스토어에서 AWS KMS keys를 생성 및 관리하는 보안 주체에게는 AWS KMS에서 모든 KMS 키를 생성하고 관리하는 사람과 동일한 권한이 필요합니다. 사용자 지정 키 스토어의 KMS 키에 대한 기본 키 정책은 AWS KMS의 KMS 키에 대한 기본 키 정책과 동일합니다. 태그와 별칭을 사용하여 KMS 키에 대한 액세스를 제어하는 속성 기반 액세스 제어(ABAC)는 사용자 지정 키 스토어의 KMS 키에도 유효합니다.

  • 암호화 작업을 위해 사용자 지정 키 스토어에서 KMS 키를 사용하는 보안 주체에게는 kms:Decrypt 같은 암호화 작업을 KMS 키에서 수행할 수 있는 권한이 필요합니다. IAM 또는 키 정책에서 이러한 권한을 제공할 수 있습니다. 하지만 사용자 지정 키 스토어에서 KMS 키를 사용하기 위해 어떠한 추가 권한도 필요하지 않습니다.

AWS KMS에 AWS CloudHSM 및 Amazon EC2 리소스를 관리할 수 있는 권한 부여

사용자 지정 키 스토어를 지원하려면 AWS KMS가 AWS CloudHSM 클러스터에 대한 정보를 얻을 수 있는 권한이 필요합니다. 사용자 지정 키 스토어를 AWS CloudHSM 클러스터에 연결하는 네트워크 인프라를 생성할 수 있는 권한도 필요합니다. 이러한 사용 권한을 얻을 수 있도록 AWS KMS는 AWS 계정에서 AWSServiceRoleForKeyManagementServiceCustomKeyStores 서비스 연결 역할을 생성합니다. 사용자 지정 키 스토어를 생성하는 사용자는 서비스 연결 역할을 생성할 수 있는 iam:CreateServiceLinkedRole 권한을 가지고 있어야 합니다.

AWS KMS 서비스 연결 역할 정보

서비스 연결 역할은 사용자를 대신해 다른 AWS 서비스를 호출할 수 있는 권한을 한 AWS 서비스에 제공하는 IAM 역할입니다. 이 역할은 복잡한 IAM 정책을 생성 및 유지 관리할 필요 없이 여러 통합 AWS 서비스의 기능을 손쉽게 사용할 수 있도록 설계되었습니다.

사용자 지정 키 스토어의 경우 AWS KMS는 AWSKeyManagementServiceCustomKeyStoresServiceRolePolicy 정책을 사용하여 AWSServiceRoleForKeyManagementServiceCustomKeyStores 서비스 연결 역할을 생성합니다. 이 정책은 이 역할에 다음 권한을 부여합니다.

AWSServiceRoleForKeyManagementServiceCustomKeyStores 서비스 연결 역할은 cks.kms.amazonaws.com만 신뢰하기 때문에, AWS KMS만 이 서비스 연결 역할을 수임할 수 있습니다. 이 역할은 AWS KMS에서 AWS CloudHSM 클러스터를 보고 사용자 지정 키 스토어를 관련 AWS CloudHSM 클러스터에 연결하는 데 필요한 작업으로 제한됩니다. 이렇게 해도 AWS KMS에 어떤 추가 권한도 부여되지 않습니다. 예를 들어 AWS KMS는 AWS CloudHSM 클러스터, HSM 또는 백업을 생성, 관리 또는 삭제할 권한을 가지고 있지 않습니다.

리전

사용자 지정 키 스토어 기능과 마찬가지로, AWSServiceRoleForKeyManagementServiceCustomKeyStores 역할은 AWS KMS 및 AWS CloudHSM 모두 사용할 수 있는 모든 AWS 리전 리전에서 지원됩니다. 각 서비스에서 지원하는 AWS 리전의 목록은 Amazon Web Services 일반 참조AWS Key Management Service 엔드포인트 및 할당량AWS CloudHSM 엔드포인트 및 할당량을 참조하십시오.

AWS 서비스가 서비스 연결 역할을 사용하는 방법에 대한 자세한 내용은 IAM 사용 설명서의 서비스 연결 역할 사용을 참조하십시오.

서비스 연결 역할 생성

역할이 아직 없는 경우 사용자 지정 키 스토어를 생성할 때 AWS KMS가 자동으로 AWS 계정에서 AWSServiceRoleForKeyManagementServiceCustomKeyStores 서비스 연결 역할을 생성합니다. 사용자는 이러한 서비스 연결 역할을 직접 생성하거나 다시 생성할 수 없습니다.

서비스 연결 역할 설명 편집

AWSServiceRoleForKeyManagementServiceCustomKeyStores 서비스 연결 역할에서 역할 이름 또는 정책 설명을 편집할 수 없지만, 역할 설명은 편집이 가능합니다. 지침은 IAM 사용 설명서서비스 연결 역할 편집 단원을 참조하십시오.

서비스 연결 역할 삭제

AWS KMS는 AWS 계정에서 AWSServiceRoleForKeyManagementServiceCustomKeyStores 서비스 연결 역할을 삭제할 수 없습니다. 모든 사용자 지정 키 스토어를 삭제했고 새 키 저장소를 만들 계획이 없다면 이 서비스 연결 역할이 더 이상 필요하지 않습니다. 활성 사용자 지정 키 스토어가 없으면 AWS KMS는 이 역할을 맡거나 권한을 사용하지 않습니다. 하지만 현재 AWSServiceRoleForKeyManagementServiceCustomKeyStores 서비스 연결 역할을 삭제하기 위한 절차는 없습니다.