Aktivace členů v prostředku Azure Managed CCF
V této příručce se dozvíte, jak aktivovat členy v prostředku Azure Managed CCF (Managed CCF). Tento kurz vychází ze spravovaného prostředku CCF vytvořeného v rychlém startu : Vytvoření prostředku SPRAVOVANÉ CCF Azure pomocí kurzu webu Azure Portal .
Předpoklady
- Python 3+.
- Nainstalujte nejnovější verzi balíčku CCF Python.
Stažení identity služby
Prostředek AZURE Managed CCF má jedinečnou identitu označovanou jako identita služby. Reprezentuje ho certifikát a vytvoří se během vytváření prostředku. Každý jednotlivý uzel, který je součástí prostředku Azure Managed CCF, má svůj certifikát podepsaný svým držitelem, schválený identitou služby, která na něm vytváří vztah důvěryhodnosti.
Zákazníkům se doporučuje stáhnout certifikát identity služby a použít ho k navázání připojení TLS při interakci se službou. Následující příkaz stáhne certifikát a uloží ho do souboru service_cert.pem.
curl https://identity.confidential-ledger.core.azure.com/ledgerIdentity/confidentialbillingapp --silent | jq ' .ledgerTlsCertificate' | xargs echo -e > service_cert.pem
Aktivace členů
Když je člen přidán do spravovaného prostředku CCF, jsou v přijatém stavu. Nemůžou se účastnit zásad správného řízení, dokud se neaktivují. Aby to udělal, musí člen potvrdit, že jsou spokojení se stavem služby (například po auditování aktuální ústavy a uzlů, které jsou aktuálně důvěryhodné).
- Člen musí aktualizovat a načíst nejnovější hodnotu hash stavu. Tím nový člen potvrdí, že je spokojen s aktuálním stavem služby.
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": <...>
}
Poznámka:
Při provádění příkazů na Macu nahraďte date -Is
.date +%FT%T%z
- Člen musí podepsat stav digest pomocí nástroje ccf_cose_sign1. Tento nástroj je nainstalován společně s balíčkem CCF Python.
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"
- Po dokončení příkazu je člen aktivní a může se účastnit zásad správného řízení. Členové se dají zobrazit pomocí následujícího příkazu.
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"
}
}