Amazon SES에 자체 DKIM 인증 토큰(BYODKIM) 제공 - Amazon Simple Email Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon SES에 자체 DKIM 인증 토큰(BYODKIM) 제공

Easy DKIM을 사용하는 대신 자체 퍼블릭-프라이빗 키 페어를 사용하여 DKIM 인증을 구성할 수 있습니다. 이 프로세스는 자체 DKIM 사용(BYODKIM)이라고 합니다.

BYODKIM을 사용하면 세 개의 개별 DNS 레코드를 게시해야 하는 Easy DKIM과 달리 단일 DNS 레코드를 사용하여 도메인에 대한 DKIM 인증을 구성할 수 있습니다. 또한 BYODKIM을 사용하면 도메인의 DKIM 키를 원하는 만큼 자주 교체할 수 있습니다.

주의

현재 Easy DKIM을 사용하는데 BYODKIM으로 전환하는 경우 BYODKIM이 설정 중이고 DKIM 상태가 보류 중인 동안에는 Amazon SES가 Easy DKIM을 사용하여 이메일에 서명하지 않습니다. API 또는 콘솔을 통해 BYODKIM을 사용 설정하도록 호출하는 시점부터 SES가 DNS 구성을 확인할 수 있는 시점까지는 SES에서 DKIM 서명 없이 이메일이 전송될 수 있습니다. 따라서 중간 단계를 사용하여 한 DKIM 서명 방법에서 다른 DKIM 서명 방법으로 마이그레이션하거나(예: Easy DKIM이 사용 설정된 도메인의 하위 도메인을 사용한 다음 BYODKIM 확인이 통과되면 삭제) 애플리케이션의 가동 중지 시간 동안(있는 경우) 이 작업을 수행하는 것이 좋습니다.

1단계: 키 페어 생성

BYODKIM 기능을 사용하려면 먼저 RSA 키 페어를 생성해야 합니다.

생성하는 프라이빗 키는 PKCS #1 또는 PKCS #8 형식이어야 하며 최소 1024비트 RSA 암호화와 최대 2048비트를 사용하고 base64(PEM) 인코딩을 사용하여 인코딩해야 합니다. DKIM 서명 키 길이 및 키 변경 방법에 대해 자세히 알아보려면 DKIM 서명 키 길이 단원을 참조하십시오.

참고

프라이빗 키가 최소 1024비트 RSA 암호화 및 최대 2048비트로 생성되고 base64(PEM) 인코딩을 사용하여 인코딩된 경우 서드 파티 애플리케이션 및 도구를 사용하여 RSA 키 페어를 생성할 수 있습니다.

다음 절차에서 대부분의 Linux, macOS 또는 Unix 운영 체제에 내장된 openssl genrsa 명령을 사용하여 키 페어를 생성하는 예제 코드는 자동으로 base64(PEM) 인코딩을 사용합니다.

Linux, macOS 또는 Unix 명령줄에서 키 페어를 생성하려면
  1. 명령줄에 다음 명령을 입력하여 최대 1024비트에서 최대 2048비트를 지닌 nnnn 비트로 대체하는 프라이빗 키를 생성합니다.

    openssl genrsa -f4 -out private.key nnnn
  2. 명령줄에 다음 명령을 입력하여 퍼블릭 키를 생성합니다.

    openssl rsa -in private.key -outform PEM -pubout -out public.key

2단계: DNS 공급자의 도메인 구성에 선택기 및 퍼블릭 키 추가

키 페어를 생성했으면 이제 도메인의 DNS 구성에 퍼블릭 키를 TXT 레코드로 추가해야 합니다.

도메인의 DNS 구성에 퍼블릭 키를 추가하려면
  1. DNS 또는 호스팅 공급자의 관리 콘솔에 로그인합니다.

  2. 도메인의 DNS 구성에 새로운 텍스트 레코드를 추가합니다. 레코드는 다음 형식을 사용해야 합니다.

    이름 유형

    selector._domainkey.example.com

    TXT

    p=yourPublicKey

    이전 예제에서 다음과 같이 변경합니다.

    • selector를 키를 식별하는 고유 이름으로 바꿉니다.

      참고

      소수의 DNS 공급자는 레코드 이름에 밑줄(_)을 포함하는 것을 허용하지 않습니다. 그러나 DKIM 레코드 이름에서 밑줄은 필수입니다. DNS 공급자가 레코드 이름에 밑줄을 입력하는 것을 허용하지 않는 경우 해당 공급자의 고객 지원 팀에 문의하세요.

    • example.com을 도메인으로 바꿉니다.

    • yourPublicKey를 이전에 생성한 퍼블릭 키로 바꾸고 위의 값(Value) 열에 표시된 대로 p= 접두사를 포함합니다.

      참고

      DNS 공급자에 퍼블릭 키를 게시(추가)할 때는 다음과 같은 형식을 사용해야 합니다.

      • 생성된 퍼블릭 키의 첫 번째 줄(-----BEGIN PUBLIC KEY-----)과 마지막 줄(-----END PUBLIC KEY-----)을 삭제해야 합니다. 또한 생성된 퍼블릭 키에서 줄 바꿈을 제거해야 합니다. 결과 값은 공백이나 줄 바꿈이 없는 문자열입니다.

      • 위 테이블의 값(Value) 열에 표시된 대로 p= 접두사를 포함해야 합니다.

    공급자마다 DNS 레코드를 업데이트하는 절차가 다릅니다. 다음 표에는 널리 사용되는 몇몇 DNS 공급자의 설명서에 대한 링크가 포함되어 있습니다. 이는 전체 목록이 아니며 목록에 포함되어 있다고 해서 해당 공급자를 승인하는 것은 아닙니다. 마찬가지로 DNS 공급자가 목록에 없는 경우에도 Amazon SES에서 도메인을 사용할 수 없다는 의미는 아닙니다.

    DNS/호스팅 공급자 설명서 링크

    Amazon Route 53

    Amazon Route 53 개발자 가이드레코드 편집

    GoDaddy

    Add a TXT record(외부 링크)

    DreamHost

    사용자 지정 DNS 레코드를 추가하는 방법(외부 링크)

    Cloudflare

    Cloudflare에서 DNS 레코드 관리(외부 링크)

    HostGator

    HostGator/eNom을 통한 DNS 레코드 관리(외부 링크)

    Namecheap

    도메인에서 TXT/SPF/DKIM/DMARC 레코드를 추가하는 방법(외부 링크)

    Names.co.uk

    도메인 DNS 설정 변경(외부 링크)

    Wix

    Adding or Updating TXT Records in Your Wix Account(외부 링크)

3단계: BYODKIM을 사용하도록 도메인 구성 및 확인

콘솔 또는 AWS CLI를 사용하여 새 도메인(즉, 현재 Amazon SES를 통해 이메일을 보내는 데 사용하지 않는 도메인)과 기존 도메인(즉, Amazon SES에서 사용하도록 이미 설정한 도메인) 모두에 대해 BYODKIM을 설정할 수 있습니다. 이 단원의 AWS CLI 절차를 완료하기 전에 먼저 AWS CLI를 설치하고 구성해야 합니다. 자세한 내용은 AWS Command Line Interface 사용 설명서를 참조하십시오.

옵션 1: BYODKIM을 사용하는 새 도메인 자격 증명 생성

이 단원에서는 BYODKIM을 사용하는 새 도메인 자격 증명을 생성하는 절차에 대해 설명합니다. 새 도메인 자격 증명은 이전에 Amazon SES를 사용하여 이메일을 보내도록 설정하지 않은 도메인입니다.

BYODKIM을 사용하도록 기존 도메인을 구성하려면 대신 옵션 2: 기존 도메인 자격 증명 구성 절차를 완료하세요.

콘솔에서 BYODKIM을 사용하여 자격 증명을 생성하려면
AWS CLI에서 BYODKIM을 사용하여 자격 증명을 생성하려면

새 도메인을 구성하려면 Amazon SES API의 CreateEmailIdentity 작업을 사용합니다.

  1. 텍스트 편집기에서 다음 코드를 붙여 넣습니다.

    { "EmailIdentity":"example.com", "DkimSigningAttributes":{ "DomainSigningPrivateKey":"privateKey", "DomainSigningSelector":"selector" } }

    이전 예제에서 다음과 같이 변경합니다.

    • example.com을 생성하려는 도메인으로 바꿉니다.

    • privateKey를 해당 프라이빗 키로 바꿉니다.

      참고

      생성된 프라이빗 키의 첫 번째 줄(-----BEGIN PRIVATE KEY-----)과 마지막 줄(-----END PRIVATE KEY-----)을 삭제해야 합니다. 또한 생성된 프라이빗 키에서 줄 바꿈을 제거해야 합니다. 결과 값은 공백이나 줄 바꿈이 없는 문자열입니다.

    • selector를 도메인에 대한 DNS 구성에서 TXT 레코드를 생성할 때 지정한 고유 선택기로 바꿉니다.

    작업을 마치면 파일 이름을 create-identity.json(으)로 저장합니다.

  2. 명령줄에 다음 명령을 입력합니다.

    aws sesv2 create-email-identity --cli-input-json file://path/to/create-identity.json

    앞의 명령에서 path/to/create-identity.json을 이전 단계에서 생성한 파일의 전체 경로로 바꿉니다.

옵션 2: 기존 도메인 자격 증명 구성

이 단원에서는 BYODKIM을 사용하도록 기존 도메인 자격 증명을 업데이트하는 절차에 대해 설명합니다. 기존 도메인 자격 증명은 Amazon SES를 사용하여 이메일을 보내도록 이미 설정한 도메인입니다.

콘솔에서 BYODKIM을 사용하여 도메인 ID를 업데이트하려면
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/ses/에서 Amazon SES 콘솔을 엽니다.

  2. 탐색 창의 구성 아래에서 확인된 자격 증명(Verified identities)을 선택합니다.

  3. 자격 증명 목록에서 자격 증명 유형이 도메인인 자격 증명을 선택합니다.

    참고

    도메인을 생성하거나 확인해야 하는 경우 도메인 자격 증명 생성 단원을 참조하십시오.

  4. 도메인키 식별 메일(DKIM)((DomainKeys Identified Mail(DKIM)) 창의 인증(Authentication) 탭 아래에서 편집(Edit)을 선택합니다.

  5. 고급 DKIM 설정(Advanced DKIM settings) 창에서 자격 증명 유형(Identity type) 필드의 DKIM 인증 토큰 제공(Provide DKIM authentication token) 버튼을 선택합니다.

  6. 프라이빗 키(Private key)에 이전에 생성한 프라이빗 키를 붙여 넣습니다.

    참고

    생성된 프라이빗 키의 첫 번째 줄(-----BEGIN PRIVATE KEY-----)과 마지막 줄(-----END PRIVATE KEY-----)을 삭제해야 합니다. 또한 생성된 프라이빗 키에서 줄 바꿈을 제거해야 합니다. 결과 값은 공백이나 줄 바꿈이 없는 문자열입니다.

  7. 선택기 이름의 경우, 도메인의 DNS 설정에서 지정한 선택기 이름을 입력합니다.

  8. DKIM 서명 필드에서 Enabled(활성화됨) 상자를 확인합니다.

  9. Save changes(변경 사항 저장)를 선택합니다.

AWS CLI의 BYODKIM을 사용하여 도메인 ID를 업데이트하려면

기존 도메인을 구성하려면 Amazon SES API의 PutEmailIdentityDkimSigningAttributes 작업을 사용합니다.

  1. 텍스트 편집기에서 다음 코드를 붙여 넣습니다.

    { "SigningAttributes":{ "DomainSigningPrivateKey":"privateKey", "DomainSigningSelector":"selector" }, "SigningAttributesOrigin":"EXTERNAL" }

    이전 예제에서 다음과 같이 변경합니다.

    • privateKey를 해당 프라이빗 키로 바꿉니다.

      참고

      생성된 프라이빗 키의 첫 번째 줄(-----BEGIN PRIVATE KEY-----)과 마지막 줄(-----END PRIVATE KEY-----)을 삭제해야 합니다. 또한 생성된 프라이빗 키에서 줄 바꿈을 제거해야 합니다. 결과 값은 공백이나 줄 바꿈이 없는 문자열입니다.

    • selector를 도메인에 대한 DNS 구성에서 TXT 레코드를 생성할 때 지정한 고유 선택기로 바꿉니다.

    작업을 마치면 파일 이름을 update-identity.json(으)로 저장합니다.

  2. 명령줄에 다음 명령을 입력합니다.

    aws sesv2 put-email-identity-dkim-signing-attributes --email-identity example.com --cli-input-json file://path/to/update-identity.json

    위의 명령에서 다음과 같이 변경하세요.

    • path/to/update-identity.json을 이전 단계에서 생성한 파일의 전체 경로로 바꿉니다.

    • example.com을 업데이트하려는 도메인으로 바꿉니다.

BYODKIM을 사용하는 도메인의 DKIM 상태 확인

콘솔에서 도메인의 DKIM 상태를 확인하려면

BYODKIM을 사용하도록 도메인을 구성한 후 SES 콘솔을 사용하여 DKIM이 제대로 구성되었는지 확인할 수 있습니다.

  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/ses/에서 Amazon SES 콘솔을 엽니다.

  2. 탐색 창의 구성 아래에서 확인된 자격 증명(Verified identities)을 선택합니다.

  3. 자격 증명 목록에서 DKIM 상태를 확인하려는 자격 증명을 선택합니다.

  4. DNS 설정에 대한 변경 사항이 배포되려면 최대 72시간이 소요될 수 있습니다. Amazon SES가 도메인 DNS 설정에서 이러한 DKIM 레코드를 모두 감지하면 확인 프로세스가 완료됩니다. 모든 것이 올바르게 구성된 경우 도메인키 식별 메일(DKIM)(DomainKeys Identified Mail(DKIM)) 창에서 도메인의 DKIM 구성(DKIM configuration) 필드에 성공(Successful)이 표시되고 요약(Summary) 창에서 자격 증명 상태(Identity status) 필드에 확인됨(Verified)이 표시됩니다.

AWS CLI를 사용하여 도메인의 DKIM 상태를 확인하려면

BYODKIM을 사용하도록 도메인을 구성한 후 GetEmailIdentity 작업을 사용하여 DKIM이 제대로 구성되었는지 확인할 수 있습니다.

  • 명령줄에 다음 명령을 입력합니다.

    aws sesv2 get-email-identity --email-identity example.com

    앞의 명령에서 example.com을 해당 도메인으로 바꿉니다.

    이 명령은 다음 예제와 유사한 섹션이 포함된 JSON 객체를 반환합니다.

    { ... "DkimAttributes": { "SigningAttributesOrigin": "EXTERNAL", "SigningEnabled": true, "Status": "SUCCESS", "Tokens": [ ] }, ... }

    다음 사항이 모두 true일 경우 BYODKIM이 도메인에 대해 올바르게 구성된 것입니다.

    • SigningAttributesOrigin 속성의 값이 EXTERNAL입니다.

    • SigningEnabled의 값이 true입니다.

    • Status의 값이 SUCCESS입니다.