Leden activeren in een door Azure beheerde CCF-resource
In deze handleiding leert u hoe u de leden activeert in een Azure Managed CCF-resource (Managed CCF). Deze zelfstudie bouwt voort op de beheerde CCF-resource die is gemaakt in de quickstart: Een azure Managed CCF-resource maken met behulp van de zelfstudie over Azure Portal .
Vereisten
- Python 3+.
- Installeer de nieuwste versie van het CCF Python-pakket.
De service-id downloaden
Een beheerde CCF-resource van Azure heeft een unieke identiteit met de naam service-identiteit. Het wordt vertegenwoordigd door een certificaat en wordt gemaakt tijdens het maken van de resource. Elk afzonderlijk knooppunt dat deel uitmaakt van de Azure Managed CCF-resource, heeft het zelfondertekende certificaat, dat wordt goedgekeurd door de service-id, waarmee vertrouwen wordt vastgesteld.
Klanten wordt aangeraden het service-id-certificaat te downloaden en te gebruiken om een TLS-verbinding tot stand te brengen bij interactie met de service. Met de volgende opdracht wordt het certificaat gedownload en opgeslagen in service_cert.pem.
curl https://identity.confidential-ledger.core.azure.com/ledgerIdentity/confidentialbillingapp --silent | jq ' .ledgerTlsCertificate' | xargs echo -e > service_cert.pem
Lid(s) activeren
Wanneer een lid wordt toegevoegd aan een beheerde CCF-resource, hebben ze de status Geaccepteerd. Ze kunnen pas deelnemen aan governance als ze zijn geactiveerd. Hiervoor moet het lid bevestigen dat ze tevreden zijn met de status van de service (bijvoorbeeld na het controleren van de huidige grondwet en de knooppunten die momenteel worden vertrouwd).
- Het lid moet de meest recente statussamenvatt bijwerken en ophalen. Hierdoor bevestigt het nieuwe lid dat ze tevreden zijn met de huidige status van de service.
curl https://confidentialbillingapp.confidential-ledger.azure.com/gov/ack/update_state_digest -X POST --cacert service_cert.pem --key member0_privk.pem --cert member0_cert.pem --silent | jq > request.json
cat request.json
{
"state_digest": <...>
}
Notitie
Vervang bij het uitvoeren van de opdrachten op een Mac door date -Is
date +%FT%T%z
.
- Het lid moet de statussamenvating ondertekenen met behulp van het hulpprogramma ccf_cose_sign1. Dit hulpprogramma wordt samen met het CCF Python-pakket geïnstalleerd.
ccf_cose_sign1 --ccf-gov-msg-type ack --ccf-gov-msg-created_at `date -Is` --signing-key member0_privk.pem --signing-cert member0_cert.pem --content request.json | \
curl https://confidentialbillingapp.confidential-ledger.azure.com/gov/ack --cacert service_cert.pem --data-binary @- -H "content-type: application/cose"
- Nadat de opdracht is voltooid, is het lid actief en kan het deelnemen aan governance. De leden kunnen worden weergegeven met behulp van de volgende opdracht.
curl --cacert service_cert.pem https://confidentialbillingapp.confidential-ledger.azure.com/gov/members | jq
{
"710c4d7ce6a70a89137b39170cd5c48f94b4756a66e66b2242370111c1c47564": {
"cert": "-----BEGIN CERTIFICATE-----\nMIIB9zCCAX2gAwIBAgIQW20I1iR...l8Uv8rRce\n-----END CERTIFICATE-----",
"member_data": {
"is_operator": true,
"owner": "Microsoft Azure"
},
"public_encryption_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMI...n3QIDAQAB\n-----END PUBLIC KEY-----\n",
"status": "Active"
},
"f9ea379051e5292b538ff2a3dc97f1bb4d5046f12e2bdbf5b8e3acc4516f34e3": {
"cert": "-----BEGIN CERTIFICATE-----\nMIIBuzCCAUKgAwIBAgIURuSESLma...yyK1EHhxx\n-----END CERTIFICATE-----",
"member_data": {
"group": "",
"identifier": "member0"
},
"public_encryption_key": null,
"status": "Active"
}
}