정책 제어 개요

정책 제어는 인증 기관 (CA)의 운영 및 CA에서 발급하는 인증서에 대한 표준을 적용합니다. 정책 제어는 CA가 인증서를 발급하는 방법과 요청에 포함할 수 있는 매개변수, 허용되는 값을 정의하기 위해 설정하는 규칙 및 제한사항입니다. Certificate Authority Service에서 정책 제어는 다음 두 가지 유형 중 하나입니다.

  • 인증서 발급 정책과 같은 대략적인 정책: 인증서 발급 정책은 전체 CA 풀에 적용되며 허용된 키 유형, 허용된 인증서 전체 기간, 주체 및 주체 대체 이름 (SAN) 제약조건과 같은 상위 수준 제약조건을 정의합니다.

  • 인증서 템플릿과 같은 세분화된 정책: 인증서 템플릿을 사용하면 발급할 수 있는 인증서 유형과 발급 권한이 있는 사용자를 정의하여 오용을 방지하고 보안을 유지할 수 있습니다. 인증서 템플릿을 사용하면 다양한 목적으로 다양한 유형의 인증서를 정의하여 더 세부적으로 제어할 수 있습니다. 예를 들어 웹 서버용 TLS 인증서, 개발자용 코드 서명 인증서와 같은 특정 사용 사례에 맞는 인증서 템플릿을 만들 수 있습니다. 각 팀이 필요한 특정 권한이 있는 인증서를 요청할 수 있도록 여러 부서 또는 팀의 템플릿을 만들 수도 있습니다.

인증서 발급 정책 및 인증서 템플릿 외에도 이름 제약조건과 같은 특정 정책 제어를 적용하여 CA가 승인되지 않은 도메인 또는 항목에 대한 인증서를 발급하지 못하도록 할 수 있습니다.

인증서 발급 정책 정보

인증서 발급 정책은 CA 풀 내의 모든 인증서 발급에 대한 제어를 정의합니다. CA 관리자는 인증서 발급 정책을 CA 풀에 연결하여 CA 풀의 CA가 발급할 수 있는 인증서 종류에 대한 제한을 정의할 수 있습니다. 인증서 발급 정책을 사용하면 다음을 수행할 수 있습니다.

  • 요청할 수 있는 허용된 주체 및 SAN에 제약 조건을 추가합니다. 이렇게 하면 회사 도메인의 인증서만 허용하는 등 인증서에서 식별할 수 있는 사용자 또는 항목을 확인할 수 있습니다.
  • 인증서 ID, 인증서 전체 기간, 키 유형, 인증서 요청 모드에 대한 제한을 정의합니다.
  • 발급된 모든 인증서에 특정 X.509 확장 프로그램을 추가합니다.

다음 시나리오 중 하나 또는 둘 다에 해당하는 경우 인증서 발급 정책을 사용하는 것이 좋습니다.

  1. CA 풀은 잘 정의된 단일 프로필에 따라 인증서를 발급하도록 설계되었습니다. 예를 들어 회사의 내부 웹 서버용으로만 인증서를 발급하는 전용 CA 풀이 있습니다. 이러한 인증서에는 모두 동일한 기본 매개변수가 필요합니다.

    • 발급된 모든 인증서의 주제에는 O=My organization이 있습니다.
    • 모든 DNS 이름은 .cymbalgroup.com으로 끝납니다.
    • 1년 동안 유효합니다.

    인증서 발급 정책은 이러한 규칙을 적용하고 이 CA 풀에서 발급된 모든 인증서가 이 프로필을 준수하도록 합니다.

  2. X.509 확장 프로그램의 공통 기준 및 모든 인증서 발급 프로필에 적용되는 추가 제한사항을 정의하려고 합니다. 예를 들어 직원 이메일 서명 인증서(2년간 유효)와 외부에 공개된 웹사이트용 TLS 인증서 (1년간 유효)와 같은 다양한 유형의 인증서가 있습니다. 모든 인증서에 적용되는 기준 발급 정책을 정의할 수 있습니다.

    • 모든 인증서에는 제목에 회사 이름이 포함되어야 합니다.
    • 모두 조직의 보안 표준에 따라 특정 X.509 확장 프로그램을 사용해야 합니다.

    그런 다음 인증서 템플릿을 사용하여 이 기준에 따라 각 인증서 유형의 구체적인 변형을 정의할 수 있습니다.

인증서 발급 정책 추가에 관한 자세한 내용은 CA 풀에 인증서 발급 정책 추가를 참고하세요.

인증서 템플릿 정보

인증서 템플릿은 조직 내에서 비교적 정적이고 잘 정의된 인증서 발급 스키마를 나타냅니다. 인증서 템플릿을 사용하면 다양한 CA 풀에서 발급된 인증서가 발급 CA와 관계없이 동일한 형식과 속성을 공유합니다. CertificateTemplate 리소스에는 다음이 포함됩니다.

  • 템플릿을 사용하는 모든 인증서 요청에서 요청된 주체 및 SAN에 대해 평가되는 Common Expression Language (CEL) 표현식입니다. CEL 사용에 관한 자세한 내용은 CEL 사용을 참고하세요.
  • 주체 또는 주체 대체 이름이 최종 사용자 요청에서 발급된 인증서로 복사될 수 있는지 여부를 지정하는 허용 목록입니다.
  • 최종 사용자 요청에서 발급된 인증서로 복사할 수 있는 X.509 확장 프로그램이 있는 경우 이를 지정하는 선택적 허용 목록입니다.
  • 템플릿을 사용하는 발급된 모든 인증서에 추가되는 X.509 확장 프로그램 값의 선택적인 집합입니다.

인증서 템플릿은 완전한 수직 인증서 발급 프레임워크가 될 수 있습니다. 자세한 내용은 전체 CertificateTemplate 메시지 정의를 참고하세요.

잘 정의된 인증서 발급 시나리오가 있는 경우 인증서 템플릿을 사용할 수 있습니다. 인증서 템플릿을 사용하여 서로 다른 CA 풀에서 발급한 인증서 간에 일관성을 유지할 수 있습니다. 인증서 템플릿을 사용하여 사용자마다 발급할 수 있는 인증서 종류를 제한할 수도 있습니다.

인증서 템플릿과 Identity and Access Management (IAM) 조건부 역할 바인딩을 조합하여 특정 서비스 계정에서 실행하는 인증서 요청에 적용되는 제약조건을 정의할 수도 있습니다. 예를 들어 .altostrat.com로 끝나는 DNS 이름만 허용하는 인증서 템플릿을 만들 수 있습니다. 그런 다음 조건부 역할 바인딩을 추가하여 특정 CA 풀에서 인증서를 요청할 때 해당 템플릿만 사용할 수 있는 권한을 서비스 계정 my-service-account@my-project.iam.gserviceaccount.com에 부여할 수 있습니다. 이렇게 하면 서비스 계정이 해당하는 특정 SAN 제한이 있는 인증서만 발급하도록 제한됩니다.

인증서 템플릿을 만드는 방법을 알아보려면 인증서 템플릿 만들기를 참고하세요.

CA 인증서 이름 제약조건

CA 서비스는 RFC 5280 문서의 이름 제약조건 섹션에 정의된 대로 CA 인증서에 이름 제약조건을 적용합니다. 이름 제약조건을 사용하면 CA에서 발급한 인증서에서 허용되거나 제외되는 이름을 제어할 수 있습니다.

이름 제약조건은 X.509 인증서의 이름 제약조건 확장을 사용하여 구현됩니다. 이 확장 프로그램을 사용하면 DNS 이름, IP 주소, 이메일 주소, URL과 같은 다양한 이름 형식에 대해 허용되는 네임스페이스와 제외되는 네임스페이스를 지정할 수 있습니다.

예를 들어 이름 제약조건으로 CA를 만들어 다음 조건을 적용할 수 있습니다.

  • myownpersonaldomain.com 및 그 하위 도메인만 DNS 이름으로 사용할 수 있습니다.
  • examplepetstore.com과 그 하위 도메인은 DNS 이름으로 금지됩니다.

이름 제약조건은 CA 자체 인증서 내에 정의됩니다. 즉, 해당 CA에서 발급한 모든 인증서는 이러한 제약조건에 구속됩니다. CA가 인증서를 발급할 때는 요청된 주체 이름과 주체 대체 이름 (SAN)을 정의된 이름 제약조건과 대조합니다. 이름이 제약 조건을 위반하면 인증서 발급이 거부됩니다.

이름 제약조건은 CA를 만들 때만 지정할 수 있습니다.

정책 제어 사용의 이점

정책 제어를 통해 다음을 달성할 수 있습니다.

  • 발급할 수 있는 인증서 유형을 제한하고 승인되지 않은 인증서가 생성되고 오용될 위험을 줄여 보안을 강화합니다.
  • 인증서 관리에 관한 규정 요구사항 및 업계 권장사항을 준수합니다.
  • 수동 작업과 잠재적 오류를 줄입니다. 인증서 템플릿을 사용하면 인증서를 일관되고 효율적으로 발급할 수 있습니다.
  • 명확하게 정의된 정책과 강력한 제어 기능을 통해 신뢰를 구축하면 발급하는 인증서에 대한 신뢰도가 높아집니다.

정책 제어 시행

사용자가 인증서를 요청하면 CA 서비스는 다음 수준에서 이러한 정책 제어를 평가합니다.

  1. Identity and Access Management (IAM) 권한: 먼저 서비스는 요청자에게 인증서를 만들거나 지정된 인증서 템플릿을 사용하는 데 필요한 IAM 권한이 있는지 확인합니다. 이렇게 하면 승인된 사용자만 인증서를 가져올 수 있습니다.

  2. 인증서 발급 정책: 그런 다음 서비스는 CA 풀의 발급 정책에 따라 인증서 요청을 확인합니다. 이렇게 하면 요청이 해당 CA에서 발급된 인증서의 일반 요구사항을 충족하는지 확인할 수 있습니다.

  3. 인증서 템플릿: 템플릿이 사용되면 요청이 템플릿의 특정 제약 조건에 대해 추가로 유효성 검사됩니다. 이렇게 하면 인증서가 의도한 용도에 적합한지 확인할 수 있습니다.

CA 풀의 인증서 발급 정책 및 인증서 템플릿의 X.509 확장 프로그램이 인증서에 추가되고 동일한 정책에 따라 특정 값이 삭제됩니다. 인증서에 서명하기 전에 CA 인증서의 이름 제약조건이 인증서에 대해 검증되어 주체가 규정을 준수하는지 확인합니다.

정책 충돌

서로 다른 정책 제어 메커니즘을 함께 사용하면 여러 수준의 정책이 충돌할 수 있습니다. 예를 들어 인증서 템플릿은 CA 풀의 발급 정책에서 금지하는 키 유형 (예: ECDSA)을 허용할 수 있습니다. 또는 인증서 템플릿과 발급 정책에서 동일한 X.509 확장자에 서로 다른 값을 지정할 수도 있습니다.

CA Service에서 정책 충돌을 관리하는 방법을 알아보려면 정책 충돌 정보를 참고하세요.

다음 단계