AWS KMS 키링
AWS KMS 키링 (AWS KMS Keyring)
이 페이지는 Nomad 에이전트 구성의 keyring "awskms" 블록에서 AWS Key Management Service (KMS) 키링을 구성하는 방법에 대한 참조 정보를 제공해요. AWS 리전, KMS API 엔드포인트, KMS 키 ID, AWS 인증을 구성해요. KMS 루트 키 회전을 Nomad가 어떻게 지원하는지도 알아봐요.
출처: 문서
본문
AWS KMS 키링은 Nomad가 자체 키링을 래핑하기 위해 AWS KMS를 사용하도록 구성해요. 이 예시는 필요한 모든 값을 제공해 Nomad 구성 파일을 통해 AWS KMS 키링을 구성하는 방법을 보여줘요.
keyring "awskms" {
active = true
name = "example"
# fields specific to awskms
region = "us-east-1"
access_key = "«redacted:AKIA…»"
secret_key = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
kms_key_id = "19ec80b0-dfdd-4d97-8164-c6examplekey"
endpoint = "https://vpce-0e1bb1852241f8cc6-pzi0do8n.kms.us-east-1.vpce.amazonaws.com"
}
awskms 매개변수 (Parameters)
이 매개변수들은 Nomad 구성 파일의 keyring 블록에 적용돼요.
region(string: "us-east-1")— 암호화 키가 위치한 AWS 리전이에요. 제공하지 않으면 AWS_REGION 또는 AWS_DEFAULT_REGION 환경 변수, ~/.aws/config 파일, 또는 인스턴스 메타데이터에서 채워질 수 있어요.access_key(string: <required>)— 사용할 AWS 액세스 키 ID예요. AWS_ACCESS_KEY_ID 환경 변수로도 지정할 수 있고, AWS CLI 또는 인스턴스 프로파일의 AWS 프로파일 일부로 지정할 수도 있어요.session_token(string: "")— AWS 세션 토큰을 지정해요. AWS_SESSION_TOKEN 환경 변수로도 지정할 수 있어요.secret_key(string: <required>)— 사용할 AWS 시크릿 액세스 키예요. AWS_SECRET_ACCESS_KEY 환경 변수로도 지정할 수 있고, AWS CLI 또는 인스턴스 프로파일의 AWS 프로파일 일부로 지정할 수도 있어요.kms_key_id(string: <required>)— 암호화·복호화에 사용할 AWS KMS 키 ID 또는 ARN이에요.alias/key-alias-name형식의 별칭을 사용할 수도 있어요.endpoint(string: "")— AWS KMS 요청을 위한 KMS API 엔드포인트예요. AWS_KMS_ENDPOINT 환경 변수로도 지정할 수 있어요. 예를 들어 VPC Endpoint를 통해 KMS에 연결할 때 유용해요. 설정하지 않으면 Nomad는 리전의 기본 API 엔드포인트를 사용해요.
인증 (Authentication)
인증 관련 값은 환경 변수 또는 구성 매개변수로 제공해야 해요.
참고 — 구성 파일에서 keyring 블록의 매개변수로 AWS_ACCESS_KEY_ID와 AWS_SECRET_ACCESS_KEY를 전달할 수는 있지만, 이 값들은 환경 변수나 인스턴스 프로파일로 설정할 것을 강력히 권장해요.
AWS 인증 값:
AWS_REGION또는AWS_DEFAULT_REGIONAWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY
참고 — 위의 AWS 특정 값을 제공하지 않으면 클라이언트는 공식 AWS SDK와 지정된 자격 증명, 환경 자격 증명, 공유 파일 자격 증명, IAM 역할/ECS 태스크 자격 증명을 그 순서대로 사용해요. AWS SDK and Tools 표준 자격 증명 문서를 참고해요.
Nomad는 KMS 키에 대해 다음 권한이 필요해요.
kms:Encryptkms:Decryptkms:DescribeKey
이것들을 Nomad가 사용하는 보안 주체(principal)에 대한 IAM 권한, KMS 키 정책, 또는 키에 대한 KMS Grants를 통해 부여해요.
키 회전 (Key rotation)
이 키링은 AWS KMS에 정의된 루트 키의 회전을 지원해요. 키 정보가 암호화된 데이터와 함께 저장되므로 KMS의 경우 자동 회전과 수동 회전 모두 지원돼요. 이전 키는 비활성화하거나 삭제하면 안 되며, 더 오래된 데이터를 복호화하는 데 사용돼요. 새로 추가되거나 업데이트된 데이터는 키링 구성에 정의된 현재 키, 또는 키 별칭 아래의 현재 키로 암호화돼요.