모든 서비스 패브릭 클러스터 노드에서 파트너의 X509 클라이언트 인증서 (전체 체인과 함께)를 가져와 들어오는 각 요청의 유효성을 검사하고 클라이언트 인증서를 기반으로 각 파트너를 인증 할 수 있습니다. 이는 클라이언트 인증서를 가져올 때 클라이언트 인증서에 서명 한 관련 중간 인증서와 중간 인증서를 서명 한 관련 루트 인증서를 '중간 인증 기관'및 ' 로컬 컴퓨터 저장소의 신뢰할 수있는 루트 인증 기관최종 사용자 통신을 위해 모든 서비스 패브릭 클러스터 노드에서 클라이언트 인증서 가져 오기
인증서 저장소의 적절한 위치에 저장된 전체 체인을 원하는 이유는 내 서비스 인증 파이프 라인 구성 요소에서 System.Security.Cryptography.X509Certificates 네임 스페이스의 X509Chain을 사용하여 들어오는 클라이언트 인증서의 유효성을 검사하기 때문입니다. X509Chain은 완전한 루트 인증서 유효성 검사를 위해 '신뢰할 수있는 루트 인증 기관'저장소에 의존하는 것 같습니다.
a) node to node와 b) 클라이언트와 클러스터 통신을 다음과 같이 관리하는 방법에 대한 많은 정보가 있습니다 : https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-security. 그러나 서비스 패브릭 클러스터에서 호스팅되는 서비스와 클라이언트 인증서를 사용하는 최종 사용자 소비자 간의 통신 보안에 대한 정보는 많지 않습니다. 이 정보를 놓친 경우 나에게 알려주십시오.
구성 할 파트너 클라이언트 인증서가 많지 않습니다. 파트너 수는 관리 가능한 범위 내에 있습니다. 또한 추가 할 새 파트너 클라이언트 인증서가있을 때마다 클러스터를 다시 만들 수 없습니다.
- 내가 SerivceManifest.xml 파일에 활용 /ServiceManifest/CodePackage/SetupEntryPoint 요소를하고 (다른 곳에 키 볼트에 저장되거나) 파트너 인증서를 가져올 사용자 지정 코드를 작성해야합니까? 이 접근 방식의 장점은 무엇입니까 ?
- 내 요구 사항을 모두 충족하는 파트너 인증서를 가져 오는 다른 쉬운 방법이 있습니까? 인 경우이를 수행하는 방법에 대한 자세한 단계를 따르십시오.
업데이트 : 내가 osProfile 섹션에서 위의 link에 설명 된대로 클라이언트 인증서를 추가하는 제안 된 방법을 시도했다. 이것은 꽤 똑바로 보였다.
이 작업을 수행하려면 먼저 관련 인증서 (비밀)를에서 설명한대로 관련 키 저장소로 푸시해야했습니다. 이 기사에서는 키 저장소에 비밀 정보를 저장하기 전에 인증서 정보를 Json 형식으로 포맷하는 방법 ("Azure 자원 공급자 사용을위한 인증서 포맷"절 참조)에 대해 설명합니다. 그러나
{
"dataType": "pfx",
"data": "base64-encoded-cert-bytes-go-here",
"password": "pfx-password"
}
을 나는 클라이언트 인증서의 공개 부분을 취급하고 있기 때문에, 나는 분명히 같은있는 (창에 PFX 파일 만 base64로 CER 파일을 처리하지 오전 :이 JSON은 업로드 PFX 파일 바이트 형식을 다음있다 다른 곳에서 pem 파일). 인증서의 공개 부분에는 암호가 없습니다.그래서 다음에 JSON 형식을 변경 : 나는 또한 사용하여 시도
New-AzureRmResourceGroupDeployment : 11:08:11 PM - Resource Microsoft.Compute/virtualMachineScaleSets 'nt1vm' failed with message '{
"status": "Failed",
"error": {
"code": "ResourceDeploymentFailure",
"message": "The resource operation completed with terminal provisioning state 'Failed'.",
"details": [
{
"code": "CertificateImproperlyFormatted",
"message": "The secret's JSON representation retrieved from
https://xxxx.vault.azure.net/secrets/ClientCert/ba6855f9866644ccb4c436bb2b7675d3 has data type pem which is not
an accepted certificate type."
}
]
}
}'
:
{
"dataType": "pem",
"data": "base64-encoded-cert-bytes-go-here"
}
내가 osProfile 섹션에서 적절한 변경과 관련 ARM 템플릿을 새로운-AzureRmResourceGroupDeployment를 호출 할 때, 나는 다음과 같은 오류를 얻고있다 'cer'데이터 형식 :
또한 같은 오류가 발생합니다.
내가 뭘 잘못하고 있니?
1) 신뢰할 수있는 저장소에 인증서를 배치 할 때의 위험을 이해합니다. 2) ARM을 통해 certs를 추가하면 클러스터가 작동하는 동안 cert를 하나 더 추가해야하는 경우 어떻게됩니까? – Raghu
이것은 실버/골드 레벨을위한 것이며, 귀하의 VMM 노드는 순차적으로 재시작 될 것입니다. – LoekD
LoekD : 제 질문의 업데이트 된 부분을 살펴 보시겠습니까? – Raghu