인증서 템플릿 및 발급 정책 개요
이 페이지에서는 인증서 템플릿, 발급 정책, 인증서 이름 제약조건을 사용해서 Certificate Authority Service에서 정책 제어를 구현하는 방법에 대한 개요를 제공합니다.
정책 제어를 사용하면 인증 기관(CA) 풀에서 발급할 수 있는 인증서 유형을 제어할 수 있습니다. 정책 제어에는 대략적인 정책과 세분화된 정책의 두 가지 유형이 있습니다. 대략적인 정책은 CA 풀별 제약조건을 적용합니다. 세분화된 정책은 특정 사용자가 CA 풀에서 수행할 수 있는 작업을 결정합니다.
인증서 템플릿
잘 정의된 인증서 발급 시나리오가 있는 경우 인증서 템플릿을 사용할 수 있습니다. 인증서 템플릿을 사용하여 서로 다른 CA 풀에서 발급한 인증서 간에 일관성을 유지할 수 있습니다. 인증서 템플릿을 사용하여 사용자마다 발급할 수 있는 인증서 종류를 제한할 수도 있습니다.
인증서 템플릿에 대한 자세한 내용은 인증서 템플릿 만들기를 참조하세요.
인증서 발급 정책
CA 관리자는 인증서 발급 정책을 CA 풀에 연결하여 CA 풀의 CA가 발급할 수 있는 인증서 종류에 대한 제한을 정의할 수 있습니다. 발급 정책은 인증서 ID, 인증서 전체 기간, 키 유형, 인증서 요청 모드, X.509 확장 프로그램에 대한 제한을 정의할 수 있습니다. 발급 정책에는 수신되는 모든 인증서 요청에 적용되는 X.509 확장 프로그램 집합도 포함될 수 있습니다.
발급 정책을 사용하면 전체 CA 풀에 특정 제한을 적용할 수 있습니다. 예를 들어 발급 정책을 사용하여 다음 조건을 적용할 수 있습니다.
- 발급된 모든 인증서의 주제에는
O=My organization
이 있습니다. - 모든 DNS 이름은
.my-org-domain.com
으로 끝납니다. - CA 풀은 서버 TLS 인증서만 발급할 수 있습니다.
다음 중 하나 또는 둘 다에 해당하는 경우 인증서 발급 정책을 사용하는 것이 좋습니다.
- CA 풀은 잘 정의된 단일 프로필에 따라 인증서를 발급하기 위한 것입니다.
- X.509 확장 프로그램의 공통 기준 및 모든 인증서 발급 프로필에 적용되는 추가 제한사항을 정의하려고 합니다.
발급 정책에 대한 자세한 내용은 CA 풀에 인증서 발급 정책 추가를 참조하세요.
CA 인증서 이름 제약조건
CAS는 RFC 5280 이름 제약조건 섹션에 정의된 대로 CA 인증서에 이름 제약조건을 적용합니다. CA에서 발급한 인증서에서 허용되거나 제외되는 이름을 제어할 수 있습니다.
예를 들어 이름 제약조건으로 CA를 만들어 다음 조건을 적용할 수 있습니다.
my-org-domain.com
및 그 하위 도메인만 DNS 이름으로 사용할 수 있습니다.untrusted-domain.com
과 그 하위 도메인은 DNS 이름으로 금지됩니다.
이름 제약조건은 CA 인증서용입니다. CA 생성 중에만 지정할 수 있으며 나중에 업데이트할 수 없습니다.
정책 충돌
서로 다른 정책 제어 메커니즘을 함께 사용하면 여러 수준의 정책이 충돌할 수 있습니다. 이 섹션에서는 정책 제어가 적용되는 방식을 설명하고 정책 충돌을 방지하는 방법을 안내합니다.
정책 시행
인증서를 요청할 때 정책 제어는 여러 레이어에서 평가됩니다.
요청 속성에 대한 IAM 조건부 바인딩은 먼저 호출자에게 인증서를 만들거나 인증서 템플릿을 사용하는 데 필요한 권한이 있는지 확인하기 위해 평가됩니다.
인증서를 만드는 동안 CA 풀과 인증서 템플릿 발급 정책이 정규화된 인증서 요청을 기준으로 유효성 검사됩니다. CA 풀의 인증서 발급 정책 및 인증서 템플릿의 X.509 확장 프로그램이 인증서에 추가되며 동일한 정책에 따라 특정 값이 삭제될 수 있습니다.
인증서에 서명하기 전에 CA 인증서의 이름 제약조건이 인증서에 대해 검증되어 주체가 규정을 준수하는지 확인합니다.
발급 정책 충돌
다음은 인증서 템플릿의 발급 정책이 CA 풀의 발급 정책과 충돌할 수 있는 포괄적이지 않은 오류 목록입니다.
- 인증서 템플릿에는 CA 풀에서 금지되는 사전 정의된 값이 포함됩니다.
- 인증서 템플릿에 CA 풀 기준 값과 다른 X.509 값이 포함되어 있습니다.
이러한 모든 경우 API는 잘못된 인수 오류를 반환합니다.
CEL 충돌
CEL은 다양한 표현식을 구현하는 기능을 제공합니다. CA 풀의 발급 정책과 인증서 템플릿의 CEL 표현식이 충돌하는 경우가 있습니다. 이러한 충돌로 인해 CA 풀에서 인증서를 발급할 수 없습니다. 예를 들어 CA 풀에 .example.com
으로 끝나는 인증서의 일반 이름을 적용하는 CEL 표현식이 있고 인증서 템플릿에 .example.net
으로 끝나는 인증서의 일반 이름을 적용하는 CEL 표현식이 있는 경우를 생각해 보세요. 이 두 CEL 표현식은 동일한 필드에 서로 다른 제한을 적용하기 때문에 모든 인증서 발급 요청이 실패합니다.
인증서 발급 정책과 인증서 템플릿을 모두 사용하는 경우 CEL 표현식이 충돌하지 않는지 확인하는 것이 좋습니다.
다음 단계
- Common Expression Language(CEL) 사용에 대해 알아보세요.