Siapkan ruang data minimum yang layak untuk berbagi data antar organisasi - AWS Prescriptive Guidance

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Siapkan ruang data minimum yang layak untuk berbagi data antar organisasi

Ramy Hcini, Michael Miller, dan Jorge Hernandez Suarez, Amazon Web Services

Ismail Abdellaoui dan Malte Gasseling, Berpikir-itu

Ringkasan

Ruang data adalah jaringan federasi untuk pertukaran data dengan kepercayaan dan kontrol atas data seseorang sebagai prinsip inti. Mereka memungkinkan organisasi untuk berbagi, bertukar, dan berkolaborasi pada data dalam skala besar dengan menawarkan solusi yang hemat biaya dan teknologi-agnostik.

Ruang data memiliki potensi untuk secara signifikan mendorong upaya untuk masa depan yang berkelanjutan dengan menggunakan pemecahan masalah berbasis data dengan end-to-end pendekatan yang melibatkan semua pemangku kepentingan yang relevan.

Pola ini memandu Anda melalui contoh bagaimana dua perusahaan dapat menggunakan teknologi ruang data di Amazon Web Services (AWS) untuk mendorong strategi pengurangan emisi karbon mereka ke depan. Dalam skenario ini, perusahaan X menyediakan data emisi karbon, yang dikonsumsi perusahaan Y. Lihat bagian Informasi tambahan untuk detail spesifikasi ruang data berikut:

  • Peserta

  • Kasus bisnis

  • Otoritas ruang data

  • Komponen ruang data

  • Layanan ruang data

  • Data yang akan dipertukarkan

  • Model data

  • Konektor EDC Traktus-X

Pola tersebut mencakup langkah-langkah untuk hal-hal berikut:

  • Menyebarkan infrastruktur yang dibutuhkan untuk ruang data dasar dengan dua peserta berjalan AWS.

  • Bertukar data intensitas emisi karbon dengan menggunakan konektor dengan cara yang aman.

Pola ini menerapkan cluster Kubernetes yang akan meng-host konektor ruang data dan layanannya melalui Amazon Elastic Kubernetes Service (Amazon EKS).

Pesawat kontrol Eclipse Dataspace Components (EDC) dan bidang data keduanya digunakan di Amazon EKS. Bagan Helm Tractus-X resmi menyebarkan layanan PostgreSQL dan Vault sebagai dependensi. HashiCorp

Selain itu, layanan identitas digunakan di Amazon Elastic Compute Cloud EC2 (Amazon) untuk mereplikasi skenario kehidupan nyata dari ruang data minimum yang layak (MVDS).

Prasyarat dan batasan

Prasyarat

  • Aktif Akun AWS untuk menyebarkan infrastruktur yang Anda pilih Wilayah AWS

  • Pengguna AWS Identity and Access Management (IAM) dengan akses ke Amazon S3 yang akan digunakan sementara sebagai pengguna teknis (Konektor EDC saat ini tidak mendukung penggunaan peran. Kami menyarankan Anda membuat satu pengguna IAM khusus untuk demo ini dan bahwa pengguna ini akan memiliki izin terbatas yang terkait dengannya.)

  • AWS Command Line Interface (AWS CLI) diinstal dan dikonfigurasi dalam pilihan Anda Wilayah AWS

  • AWS kredensi keamanan

  • eksctl di workstation Anda

  • Git di workstation Anda

  • kubectl

  • Helm

  • Tukang pos

  • AWS Certificate Manager Sertifikat (ACM) SSL/TLS

  • Nama DNS yang akan menunjuk ke Application Load Balancer (nama DNS harus dicakup oleh sertifikat ACM)

  • HashiCorp Vault (Untuk informasi tentang penggunaan AWS Secrets Manager untuk mengelola rahasia, lihat bagian Informasi tambahan.)

Versi produk

Batasan

  • Pemilihan konektor - Penerapan ini menggunakan konektor berbasis EDC. Namun, pastikan untuk mempertimbangkan kekuatan dan fungsionalitas konektor EDC dan FIWARE True untuk membuat keputusan berdasarkan informasi yang sesuai dengan kebutuhan spesifik penerapan.

  • Pembuatan konektor EDC - Solusi penerapan yang dipilih bergantung pada bagan Helm Konektor EDC Tractus-X, opsi penerapan yang mapan dan diuji secara ekstensif. Keputusan untuk menggunakan bagan ini didorong oleh penggunaan umum dan penyertaan ekstensi penting dalam build yang disediakan. Meskipun PostgreSQL HashiCorp dan Vault adalah komponen default, Anda memiliki fleksibilitas untuk menyesuaikan build konektor Anda sendiri jika diperlukan.

  • Akses kluster pribadi - Akses ke kluster EKS yang diterapkan dibatasi untuk saluran pribadi. Interaksi dengan cluster dilakukan secara eksklusif melalui penggunaan kubectl dan IAM. Akses publik ke sumber daya cluster dapat diaktifkan dengan menggunakan penyeimbang beban dan nama domain, yang harus diimplementasikan secara selektif untuk mengekspos layanan tertentu ke jaringan yang lebih luas. Namun, kami tidak menyarankan untuk menyediakan akses publik.

  • Fokus keamanan - Penekanan ditempatkan pada abstraksi konfigurasi keamanan ke spesifikasi default sehingga Anda dapat berkonsentrasi pada langkah-langkah yang terlibat dalam pertukaran data konektor EDC. Meskipun pengaturan keamanan default dipertahankan, sangat penting untuk mengaktifkan komunikasi yang aman sebelum Anda mengekspos cluster ke jaringan publik. Tindakan pencegahan ini memastikan fondasi yang kuat untuk penanganan data yang aman.

  • Biaya infrastruktur — Estimasi biaya infrastruktur dapat ditemukan dengan menggunakan. AWS Kalkulator Harga Perhitungan sederhana menunjukkan bahwa biaya bisa mencapai 162,92 USD per bulan untuk infrastruktur yang digunakan.

Arsitektur

Arsitektur MVDS terdiri dari dua virtual private cloud (VPCs), satu untuk layanan identitas Dynamic Attribute Provisioning System (DAPS) dan satu untuk Amazon EKS.

Arsitektur DAPS

Diagram berikut menunjukkan DAPS berjalan pada EC2 instance yang dikendalikan oleh grup Auto Scaling. Application Load Balancer dan tabel rute mengekspos server DAPS. Amazon Elastic File System (Amazon EFS) menyinkronkan data di antara instans DAPS.

AWS Cloud architecture with VPC, public/private subnets, load balancer, and DAPS servers across two availability zones.

Arsitektur Amazon EKS

Ruang data dirancang untuk menjadi solusi teknologi-agnostik, dan beberapa implementasi ada. Pola ini menggunakan kluster Amazon EKS untuk menyebarkan komponen teknis ruang data. Diagram berikut menunjukkan penyebaran cluster EKS. Node pekerja dipasang di subnet pribadi. Pod Kubernetes mengakses Amazon Relational Database Service (Amazon RDS) untuk instance PostgreSQL yang juga ada di subnet pribadi. Pod Kubernetes menyimpan data bersama di Amazon S3.

AWS Cloud architecture with VPC, public/private subnets, NAT gateways, and EKS klaster across two availability zones.

Alat

AWS layanan

  • AWS CloudFormationmembantu Anda menyiapkan AWS sumber daya, menyediakannya dengan cepat dan konsisten, dan mengelolanya sepanjang siklus hidupnya di seluruh Akun AWS dan Wilayah.

  • Amazon Elastic Compute Cloud (Amazon EC2) menyediakan kapasitas komputasi yang dapat diskalakan di. AWS Cloud Anda dapat meluncurkan server virtual sebanyak yang Anda butuhkan dan dengan cepat meningkatkannya ke atas atau ke bawah.

  • Amazon Elastic File System (Amazon EFS) membantu Anda membuat dan mengonfigurasi sistem file bersama di file AWS Cloud.

  • Amazon Elastic Kubernetes Service (Amazon EKS) membantu Anda menjalankan AWS Kubernetes tanpa perlu menginstal atau memelihara control plane atau node Kubernetes Anda sendiri.

  • Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.

  • Elastic Load Balancing (ELB) mendistribusikan lalu lintas aplikasi atau jaringan yang masuk ke beberapa target. Misalnya, Anda dapat mendistribusikan lalu lintas di seluruh EC2 instans, kontainer, dan alamat IP di satu atau beberapa Availability Zone.

Alat-alat lainnya

  • eksctl adalah utilitas baris perintah untuk membuat dan mengelola cluster Kubernetes di Amazon EKS.

  • Git adalah sistem kontrol versi terdistribusi open source.

  • HashiCorp Vault menyediakan penyimpanan aman dengan akses terkontrol untuk kredensyal dan informasi sensitif lainnya.

  • Helm adalah pengelola paket open source untuk Kubernetes yang membantu Anda menginstal dan mengelola aplikasi di klaster Kubernetes Anda.

  • kubectl adalah antarmuka baris perintah yang membantu Anda menjalankan perintah terhadap klaster Kubernetes.

  • Postman adalah platform API.

Repositori kode

File YAMM konfigurasi Kubernetes dan skrip Python untuk pola ini tersedia di repositori. GitHub aws-patterns-edc Pola ini juga menggunakan repositori Tractus-X EDC.

Praktik terbaik

Amazon EKS dan isolasi infrastruktur peserta

Namespace di Kubernetes akan memisahkan infrastruktur penyedia X perusahaan dari infrastruktur konsumen Y perusahaan dalam pola ini. Untuk informasi selengkapnya, lihat Panduan Praktik Terbaik EKS.

Dalam situasi yang lebih realistis, setiap peserta akan memiliki cluster Kubernetes terpisah yang berjalan sendiri. Akun AWS Infrastruktur bersama (DAPS dalam pola ini) akan dapat diakses oleh peserta ruang data sementara benar-benar terpisah dari infrastruktur peserta.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Kloning repositori.

Untuk mengkloning repositori ke workstation Anda, jalankan perintah berikut:

git clone https://github.com/Think-iT-Labs/aws-patterns-edc

Workstation harus memiliki akses ke Anda Akun AWS.

DevOps insinyur

Menyediakan klaster Kubernetes dan menyiapkan namespace.

Untuk menerapkan cluster EKS default yang disederhanakan di akun Anda, jalankan eksctl perintah berikut di workstation tempat Anda mengkloning repo:

eksctl create cluster

Perintah membuat VPC dan subnet pribadi dan publik yang menjangkau tiga Availability Zone yang berbeda. Setelah lapisan jaringan dibuat, perintah membuat dua m5.large EC2 instance dalam grup Auto Scaling.

Untuk informasi lebih lanjut dan contoh keluaran, lihat panduan eksctl.

Setelah Anda menyediakan klaster pribadi, tambahkan kluster EKS baru ke konfigurasi Kubernetes lokal Anda dengan menjalankan perintah berikut:

aws eks update-kubeconfig --name <EKS CLUSTER NAME> --region <AWS REGION>

Pola ini menggunakan eu-west-1 Wilayah AWS untuk menjalankan semua perintah. Namun, Anda dapat menjalankan perintah yang sama sesuai keinginan Anda Wilayah AWS.

Untuk mengonfirmasi bahwa node EKS Anda sedang berjalan dan berada dalam keadaan siap, jalankan perintah berikut:

kubectl get nodes
DevOps insinyur

Siapkan ruang nama.

Untuk membuat ruang nama untuk penyedia dan konsumen, jalankan perintah berikut:

kubectl create ns provider kubectl create ns consumer

Dalam pola ini, penting untuk menggunakan provider dan consumer sebagai ruang nama agar sesuai dengan konfigurasi di langkah berikutnya.

DevOps insinyur
TugasDeskripsiKeterampilan yang dibutuhkan

Menyebarkan DAPS dengan menggunakan. AWS CloudFormation

Untuk kemudahan mengelola operasi DAPS, server DAPS diinstal pada EC2 instance.

Untuk menginstal DAPS, gunakan AWS CloudFormation template. Anda akan memerlukan sertifikat ACM dan nama DNS dari bagian Prasyarat. Template menyebarkan dan mengkonfigurasi berikut ini:

  • Penyeimbang Beban Aplikasi

  • Grup Auto Scaling

  • EC2 instance yang dikonfigurasi dengan data pengguna untuk menginstal semua paket yang diperlukan

  • Peran IAM

  • DAPS

Anda dapat menerapkan AWS CloudFormation template dengan masuk ke AWS Management Console dan menggunakan AWS CloudFormation konsol. Anda juga dapat menerapkan template dengan menggunakan AWS CLI perintah seperti berikut ini:

aws cloudformation create-stack --stack-name daps \ --template-body file://aws-patterns-edc/cloudformation.yml --parameters \ ParameterKey=CertificateARN,ParameterValue=<ACM Certificate ARN> \ ParameterKey=DNSName,ParameterValue=<DNS name> \ ParameterKey=InstanceType,ParameterValue=<EC2 instance type> \ ParameterKey=EnvironmentName,ParameterValue=<Environment Name> --capabilities CAPABILITY_NAMED_IAM

Nama lingkungan adalah pilihan Anda sendiri. Sebaiknya gunakan istilah yang bermakna, sepertiDapsInfrastructure, karena akan tercermin dalam tag AWS sumber daya.

Untuk pola ini, t3.small cukup besar untuk menjalankan alur kerja DAPS, yang memiliki tiga kontainer Docker.

Template menyebarkan EC2 instance di subnet pribadi. Ini berarti bahwa instans tidak dapat diakses secara langsung melalui SSH (Secure Shell) dari internet. Instans disediakan dengan peran IAM yang diperlukan dan AWS Systems Manager Agen untuk memungkinkan akses ke instans yang berjalan melalui Session Manager, kemampuan. AWS Systems Manager

Kami merekomendasikan menggunakan Session Manager untuk akses. Atau, Anda dapat menyediakan host benteng untuk memungkinkan akses SSH dari internet. Saat menggunakan pendekatan host bastion, EC2 instance mungkin memerlukan beberapa menit lagi untuk mulai berjalan.

Setelah AWS CloudFormation template berhasil di-deploy, arahkan nama DNS ke nama Application Load Balancer DNS Anda. Untuk mengonfirmasi, jalankan perintah berikut:

dig <DNS NAME>

Output harus serupa dengan yang berikut ini:

; <<>> DiG 9.16.1-Ubuntu <<>> edc-pattern.think-it.io ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42344 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;edc-pattern.think-it.io. IN A ;; ANSWER SECTION: edc-pattern.think-it.io. 276 IN CNAME daps-alb-iap9zmwy3kn8-1328773120.eu-west-1.elb.amazonaws.com. daps-alb-iap9zmwy3kn8-1328773120.eu-west-1.elb.amazonaws.com. 36 IN A 52.208.240.129 daps-alb-iap9zmwy3kn8-1328773120.eu-west-1.elb.amazonaws.com. 36 IN A 52.210.155.124
DevOps insinyur

Daftarkan konektor peserta ke layanan DAPS.

Dari dalam salah satu EC2 contoh yang disediakan untuk DAPS, daftarkan peserta:

  1. Jalankan skrip yang tersedia pada EC2 instance dengan menggunakan pengguna root:

    cd /srv/mvds/omejdn-daps
  2. Daftarkan penyedia:

    bash scripts/register_connector.sh <provider_name>
  3. Daftarkan konsumen:

    bash scripts/register_connector.sh <consumer_name>

Pilihan nama tidak memengaruhi langkah selanjutnya. Kami merekomendasikan menggunakan salah satu provider dan consumer atau companyx dancompanyy.

Perintah pendaftaran juga akan secara otomatis mengkonfigurasi layanan DAPS dengan informasi yang diperlukan diambil dari sertifikat dan kunci yang dibuat.

Saat Anda masuk ke server DAPS, kumpulkan informasi yang diperlukan untuk langkah-langkah selanjutnya dalam penginstalan:

  1. Dari omejdn-daps/config/clients.yml dapatkan client id untuk penyedia dan konsumen. client idNilainya adalah string panjang digit heksadesimal.

  2. Dari omejdn-daps/keys direktori, salin isiconsumer.cert,, consumer.keyprovider.cert, dan provider.key file.

Kami merekomendasikan untuk menyalin dan menempelkan teks ke file bernama serupa yang diawali daps- di workstation Anda.

Anda harus memiliki klien IDs untuk penyedia dan konsumen dan harus memiliki empat file di direktori kerja Anda di workstation Anda:

  • Nama file sumber consumer.cert menjadi nama daps-consumer.cert file workstation.

  • Nama file sumber consumer.key menjadi nama daps-consumer.key file workstation.

  • Nama file sumber provider.cert menjadi nama daps-provider.cert file workstation.

  • Nama file sumber provider.key menjadi nama daps-provider.key file workstation.

DevOps insinyur
TugasDeskripsiKeterampilan yang dibutuhkan

Kloning repositori EDC Tractus-X dan gunakan versi 0.4.1.

Build konektor EDC Tractus-X membutuhkan layanan PostgreSQL (database aset) dan HashiCorp Vault (manajemen rahasia) untuk digunakan dan tersedia.

Ada banyak versi bagan Tractus-X EDC Helm yang berbeda. Pola ini menentukan versi 0.4.1 karena menggunakan server DAPS.

Versi terbaru menggunakan Managed Identity Wallet (MIW) dengan implementasi terdistribusi dari layanan identitas.

Di workstation tempat Anda membuat dua ruang nama Kubernetes, kloning repositori tractusx-edc, dan periksa cabangnya. release/0.4.1

git clone https://github.com/eclipse-tractusx/tractusx-edc cd tractusx-edc git checkout release/0.4.1
DevOps insinyur

Konfigurasikan bagan Helm EDC Tractus-X.

Ubah konfigurasi template bagan Tractus-X Helm untuk memungkinkan kedua konektor berinteraksi bersama.

Untuk melakukan ini, Anda akan menambahkan namespace ke nama DNS layanan sehingga dapat diselesaikan oleh layanan lain di cluster. Modifikasi ini harus dilakukan pada charts/tractusx-connector/templates/_helpers.tpl file. Pola ini menyediakan versi modifikasi akhir dari file ini untuk Anda gunakan. Salin dan letakkan di daps bagian filecharts/tractusx-connector/templates/_helpers.tpl.

Pastikan untuk mengomentari semua dependensi DAPS di: charts/tractusx-connector/Chart.yaml

dependencies: # IDS Dynamic Attribute Provisioning Service (IAM) # - name: daps # version: 0.0.1 # repository: "file://./subcharts/omejdn" # alias: daps # condition: install.daps
DevOps insinyur

Konfigurasikan konektor untuk menggunakan PostgreSQL di Amazon RDS.

(Opsional) Instans Amazon Relational Database Service (Amazon RDS) tidak diperlukan dalam pola ini. Namun, kami sangat menyarankan menggunakan Amazon RDS atau Amazon Aurora karena mereka menyediakan fitur seperti ketersediaan tinggi dan cadangan dan pemulihan.

Untuk mengganti PostgreSQL di Kubernetes dengan Amazon RDS, lakukan hal berikut:

  1. Menyediakan Amazon RDS untuk instance PostgreSQL.

  2. DiChart.yaml, komentari PostgreSQL bagian tersebut.

  3. Di provider_values.yml danconsumer_values.yml, konfigurasikan postgresql bagian sebagai berikut:

postgresql: auth: database: edc password: <RDS PASSWORD> username: <RDS Username> jdbcUrl: jdbc:postgresql://<RDS DNS NAME>:5432/edc username: <RDS Username> password: <RDS PASSWORD> primary: persistence: enabled: false readReplicas: persistence: enabled: false
DevOps insinyur

Konfigurasikan dan gunakan konektor penyedia dan layanannya.

Untuk mengkonfigurasi konektor penyedia dan layanannya, lakukan hal berikut:

  1. Untuk mengunduh provider_edc.yaml file dari edc_helm_configs direktori ke folder bagan Helm saat ini, jalankan perintah berikut:

    wget -q https://raw.githubusercontent.com/Think-iT-Labs/aws-patterns-edc/main/edc_helm_configs/provider_edc.yaml> -P charts/tractusx-connector/

  2. Ganti variabel berikut (juga ditandai dalam file) dengan nilainya:

    • CLIENT_IDID yang dihasilkan oleh DAPS. CLIENT_IDHarus ada /srv/mvds/omejdn-daps/config/clients.yml/config/clients.yml di server DAPS. Ini harus string karakter heksadesimal.

    • DAPS_URLURL server DAPS. Itu harus https://{DNS name} menggunakan nama DNS yang Anda atur ketika Anda menjalankan AWS CloudFormation template.

    • VAULT_TOKENToken yang akan digunakan untuk otorisasi Vault. Pilih nilai apa pun.

    • vault.fullnameOverridevault-provider.

    • vault.hashicorp.urlhttp://vault-provider:8200/.

    Nilai sebelumnya mengasumsikan bahwa nama penyebaran dan nama namespace adalah penyedia.

  3. Untuk menjalankan bagan Helm dari workstation Anda, gunakan perintah berikut:

    cd charts/tractusx-connector helm dependency build helm upgrade --install provider ./ -f provider_edc.yaml -n provider
DevOps insinyur

Tambahkan sertifikat dan kunci ke brankas penyedia.

Untuk menghindari kebingungan, buat sertifikat berikut di luar tractusx-edc/charts direktori.

Misalnya, jalankan perintah berikut untuk mengubah ke direktori home Anda:

cd ~

Anda sekarang perlu menambahkan rahasia yang dibutuhkan oleh penyedia ke dalam lemari besi.

Nama-nama rahasia di dalam brankas adalah nilai kunci di secretNames: bagian provider_edc.yml file. Secara default, mereka dikonfigurasi sebagai berikut:

secretNames: transferProxyTokenSignerPrivateKey: transfer-proxy-token-signer-private-key transferProxyTokenSignerPublicKey: transfer-proxy-token-signer-public-key transferProxyTokenEncryptionAesKey: transfer-proxy-token-encryption-aes-key dapsPrivateKey: daps-private-key dapsPublicKey: daps-public-key

Kunci Advanced Encryption Standard (AES), kunci pribadi, kunci publik, dan sertifikat yang ditandatangani sendiri dibuat pada awalnya. Ini kemudian ditambahkan sebagai rahasia ke lemari besi.

Selanjutnya, direktori ini harus berisi daps-provider.cert dan daps-provider.key file yang Anda salin dari server DAPS.

  1. Jalankan perintah berikut:

    # generate a private key openssl ecparam -name prime256v1 -genkey -noout -out provider-private-key.pem # generate corresponding public key openssl ec -in provider-private-key.pem -pubout -out provider-public-key.pem # create a self-signed certificate openssl req -new -x509 -key provider-private-key.pem -out provider-cert.pem -days 360 # generate aes key openssl rand -base64 32 > provider-aes.key
  2. Sebelum menambahkan rahasia ke brankas, ubah dari beberapa baris menjadi satu baris dengan mengganti jeda baris dengan\n:

    cat provider-private-key.pem | sed 's/$/\\\\n/'|tr -d '\\n' > provider-private-key.pem.line cat provider-public-key.pem | sed 's/$/\\\\n/'|tr -d '\\n' > provider-public-key.pem.line cat provider-cert.pem | sed 's/$/\\\\n/'|tr -d '\\n' > provider-cert.pem.line cat provider-aes.key | sed 's/$/\\\\n/'|tr -d '\\n' > provider-aes.key.line ## The following block is for daps certificate and key openssl x509 -in daps-provider.cert -outform PEM | sed 's/$/\\\\n/'|tr -d '\\n' > daps-provider.cert.line cat daps-provider.key | sed 's/$/\\\\n/'|tr -d '\\n' > daps-provider.key.line
  3. Untuk memformat rahasia yang akan ditambahkan ke Vault, jalankan perintah berikut:

    JSONFORMAT='{"content": "%s"}' #create a single line in JSON format printf "${JSONFORMAT}\\n" "`cat provider-private-key.pem.line`" > provider-private-key.json printf "${JSONFORMAT}\\n" "`cat provider-public-key.pem.line`" > provider-public-key.json printf "${JSONFORMAT}\\n" "`cat provider-cert.pem.line`" > provider-cert.json printf "${JSONFORMAT}\\n" "`cat provider-aes.key.line`" > provider-aes.json printf "${JSONFORMAT}\\n" "`cat daps-provider.key.line`" > daps-provider.key.json printf "${JSONFORMAT}\\n" "`cat daps-provider.cert.line`" > daps-provider.cert.json

    Rahasianya sekarang dalam format JSON dan siap ditambahkan ke brankas.

  4. Untuk mendapatkan nama pod untuk vault, jalankan perintah berikut:

    kubectl get pods -n provider|egrep "vault|NAME"

    Nama pod akan mirip dengan"vault-provider-0". Nama ini digunakan saat membuat port forward ke vault. Port forward memberi Anda akses ke brankas untuk menambahkan rahasia. Anda harus menjalankan ini dari workstation yang memiliki kredensyal AWS yang dikonfigurasi.

  5. Untuk mengakses vault, gunakan kubectl untuk mengonfigurasi port forward:

    kubectl port-forward <VAULT_POD_NAME> 8200:8200 -n provider

Anda sekarang harus dapat mengakses brankas melalui browser atau CLI Anda.

Browser

  1. Menggunakan browser, navigasikan ke http://127.0.0.1:8200, yang akan menggunakan port forward yang Anda konfigurasikan.

  2. Masuk menggunakan token yang Anda konfigurasikan sebelumnyaprovider_edc.yml. Di mesin rahasia, buat tiga rahasia. Setiap rahasia akan memiliki Path for this secret nilai, yang merupakan nama rahasia yang ditunjukkan dalam daftar berikut. Di dalam secret data bagian tersebut, nama kuncinya adalah content dan nilainya akan menjadi satu baris teks dari masing-masing file bernama.line.

  3. Nama-nama rahasia bersumber dari secretNames bagian dalam provider_edc.yml file.

  4. Buat rahasia berikut:

    • Rahasia transfer-proxy-token-signer-private-key dengan nama file provider-private-key.pem.line

    • Rahasia transfer-proxy-token-signer-public-key dengan nama file provider-cert.pem.line

    • Rahasia transfer-proxy-token-encryption-aes-key dengan nama file provider-aes.key.line

    • Rahasia daps-private-key dengan nama file daps-provider.key.line

    • Rahasia daps-public-key dengan nama file daps-provider.cert.line

CLI Lemari Brankas

CLI juga akan menggunakan port forward yang Anda konfigurasikan.

  1. Di workstation Anda, instal Vault CLI dengan mengikuti petunjuk dalam dokumentasi Vault. HashiCorp

  2. Untuk masuk ke vault dengan menggunakan token yang Anda aturprovider_edc.yml, jalankan perintah berikut:

    vault login -address=http://127.0.0.1:8200

    Dengan token yang benar, Anda akan melihat pesan "Success! You are now authenticated."

  3. Untuk membuat rahasia dengan menggunakan file berformat JSON yang Anda buat sebelumnya, jalankan kode berikut:

    vault kv put -address=http://127.0.0.1:8200 secret/transfer-proxy-token-signer-private-key @provider-private-key.json vault kv put -address=http://127.0.0.1:8200 secret/transfer-proxy-token-signer-public-key @provider-cert.json vault kv put -address=http://127.0.0.1:8200 secret/transfer-proxy-token-encryption-aes-key @provider-aes.json vault kv put -address=http://127.0.0.1:8200 secret/daps-private-key @daps-provider.key.json vault kv put -address=http://127.0.0.1:8200 secret/daps-public-key @daps-provider.cert.json
DevOps insinyur

Konfigurasikan dan gunakan konektor konsumen dan layanannya.

Langkah-langkah untuk mengonfigurasi dan menerapkan konsumen serupa dengan yang Anda selesaikan untuk penyedia:

  1. Untuk menyalin consumer_edc.yaml dari aws-patterns-edcrepo ke folder tractusx-edc/charts/tractusx-connecto r, jalankan perintah berikut:

    cd tractusx-edc wget -q https://raw.githubusercontent.com/Think-iT-Labs/aws-patterns-edc/main/edc_helm_configs/consumer_edc.yaml -P charts/tractusx-connector/
  2. Perbarui variabel berikut dengan nilai aktualnya:

    • CONSUMER_CLIENT_IDID yang dihasilkan oleh DAPS. CONSUMER_CLIENT_IDHarus ada config/clients.yml di server DAPS.

    • DAPS_URLURL DAPS yang sama yang Anda gunakan untuk penyedia.

    • VAULT_TOKENToken yang akan digunakan untuk otorisasi Vault. Pilih nilai apa pun.

    • vault.fullnameOverridevault-consumer

    • vault.hashicorp.urlhttp://vault-provider:8200/

    Nilai sebelumnya mengasumsikan bahwa nama penyebaran dan nama namespace adalah. consumer

  3. Untuk menjalankan bagan Helm, gunakan perintah berikut:

    cd charts/tractusx-connector helm upgrade --install consumer ./ -f consumer_edc.yaml -n consumer

Tambahkan sertifikat dan kunci ke brankas konsumen.

Dari sudut pandang keamanan, kami merekomendasikan regenerasi sertifikat dan kunci untuk setiap peserta ruang data. Pola ini meregenerasi sertifikat dan kunci untuk konsumen.

Langkah-langkahnya sangat mirip dengan yang ada di penyedia. Anda dapat memverifikasi nama rahasia dalam consumer_edc.yml file.

Nama-nama rahasia di dalam lemari besi adalah nilai kunci di secretNames: bagianconsumer_edc.yml file. Secara default, mereka dikonfigurasi sebagai berikut:

secretNames: transferProxyTokenSignerPrivateKey: transfer-proxy-token-signer-private-key transferProxyTokenSignerPublicKey: transfer-proxy-token-signer-public-key transferProxyTokenEncryptionAesKey: transfer-proxy-token-encryption-aes-key dapsPrivateKey: daps-private-key dapsPublicKey: daps-public-key

daps-consumer.keyFile daps-consumer.cert dan yang Anda salin dari server DAPS seharusnya sudah ada di direktori ini.

  1. Jalankan perintah berikut:

    # generate a private key openssl ecparam -name prime256v1 -genkey -noout -out consumer-private-key.pem # generate corresponding public key openssl ec -in consumer-private-key.pem -pubout -out consumer-public-key.pem # create a self-signed certificate openssl req -new -x509 -key consumer-private-key.pem -out consumer-cert.pem -days 360 # generate aes key openssl rand -base64 32 > consumer-aes.key
  2. Edit file secara manual untuk mengganti jeda baris dengan\n, atau gunakan tiga perintah yang mirip dengan berikut ini:

    cat consumer-private-key.pem | sed 's/$/\\\\n/'|tr -d '\\n' > consumer-private-key.pem.line cat consumer-public-key.pem | sed 's/$/\\\\n/'|tr -d '\\n' > consumer-public-key.pem.line cat consumer-cert.pem | sed 's/$/\\\\n/'|tr -d '\\n' > consumer-cert.pem.line cat consumer-aes.key | sed 's/$/\\\\n/'|tr -d '\\n' > consumer-aes.key.line cat daps-consumer.cert | sed 's/$/\\\\n/'|tr -d '\\n' > daps-consumer.cert.line cat daps-consumer.key | sed 's/$/\\\\n/'|tr -d '\\n' > daps-consumer.key.line
  3. Untuk memformat rahasia yang akan ditambahkan ke Vault, jalankan perintah berikut:

    JSONFORMAT='{"content": "%s"}' #create a single line in JSON format printf "${JSONFORMAT}\\n" "`cat consumer-private-key.pem.line`" > consumer-private-key.json printf "${JSONFORMAT}\\n" "`cat consumer-public-key.pem.line`" > consumer-public-key.json printf "${JSONFORMAT}\\n" "`cat consumer-cert.pem.line`" > consumer-cert.json printf "${JSONFORMAT}\\n" "`cat consumer-aes.key.line`" > consumer-aes.json printf "${JSONFORMAT}\\n" "`cat daps-consumer.key.line`" > daps-consumer.key.json printf "${JSONFORMAT}\\n" "`cat daps-consumer.cert.line`" > daps-consumer.cert.json

    Rahasianya sekarang dalam format JSON dan siap ditambahkan ke brankas.

  4. Untuk mendapatkan nama pod untuk consumer vault, jalankan perintah berikut:

    kubectl get pods -n consumer | egrep "vault|NAME"

    Nama pod akan mirip dengan"vault-consumer-0". Nama ini digunakan saat membuat port forward ke vault. Port forward memberi Anda akses ke brankas untuk menambahkan rahasia. Anda harus menjalankan ini dari workstation yang memiliki AWS kredensyal yang dikonfigurasi.

  5. Untuk mengakses vault, gunakan kubectl untuk mengonfigurasi port forward:

    kubectl port-forward <VAULT_POD_NAME> 8201:8200 -n consumer

Port lokal adalah 8201 kali ini sehingga Anda dapat memiliki port forward untuk produsen dan konsumen.

Browser

Anda dapat menggunakan browser Anda untuk terhubung ke http://localhost:8201/ untuk mengakses brankas konsumen dan membuat rahasia dengan nama dan konten seperti yang diuraikan.

Rahasia dan file yang berisi konten adalah sebagai berikut:

  • Rahasia transfer-proxy-token-signer-private-key dengan nama file consumer-private-key.pem.line

  • Rahasia transfer-proxy-token-signer-public-key dengan nama file consumer-cert.pem.line

  • Rahasia transfer-proxy-token-encryption-aes-key dengan nama file consumer-aes.key.line

CLI Lemari Brankas

Menggunakan Vault CLI, Anda dapat menjalankan perintah berikut untuk masuk ke lemari besi dan membuat rahasia:

  1. Masuk ke brankas dengan menggunakan token yang Anda konfigurasikan di dalamconsumer_edc.yml:

    vault login -address=http://127.0.0.1:8201

    Dengan token yang benar, Anda akan melihat pesan "Success! You are now authenticated."

  2. Untuk membuat rahasia menggunakan file berformat JSON yang Anda buat sebelumnya, jalankan kode berikut:

    vault kv put -address=http://127.0.0.1:8201 secret/transfer-proxy-token-signer-private-key @consumer-private-key.json vault kv put -address=http://127.0.0.1:8201 secret/transfer-proxy-token-signer-public-key @consumer-cert.json vault kv put -address=http://127.0.0.1:8201 secret/transfer-proxy-token-encryption-aes-key @consumer-aes.json vault kv put -address=http://127.0.0.1:8201 secret/daps-private-key @daps-consumer.key.json vault kv put -address=http://127.0.0.1:8201 secret/daps-public-key @daps-consumer.cert.json
DevOps insinyur
TugasDeskripsiKeterampilan yang dibutuhkan

Mengatur penerusan port.

  1. Untuk memeriksa status pod, jalankan perintah berikut:

    kubectl get pods -n provider kubectl get pods -n consumer
  2. Untuk memastikan bahwa penerapan Kubernetes berhasil, lihat log pod penyedia dan konsumen Kubernetes dengan menjalankan perintah berikut:

    kubectl logs -n provider <producer control plane pod name> kubectl logs -n consumer <consumer control plane pod name>

Cluster bersifat pribadi dan tidak dapat diakses publik. Untuk berinteraksi dengan konektor, gunakan fitur port-forwarding Kubernetes untuk meneruskan lalu lintas yang dihasilkan oleh mesin Anda ke bidang kontrol konektor.

  1. Pada terminal pertama, teruskan permintaan konsumen ke API manajemen melalui port 8300:

    kubectl port-forward deployment/consumer-tractusx-connector-controlplane 8300:8081 -n consumer
  2. Pada terminal kedua, teruskan permintaan penyedia ke API manajemen melalui port 8400:

    kubectl port-forward deployment/provider-tractusx-connector-controlplane 8400:8081 -n provider
DevOps insinyur

Buat bucket S3 untuk penyedia dan konsumen.

Konektor EDC saat ini tidak menggunakan kredensil AWS sementara, seperti yang disediakan dengan mengambil peran. EDC hanya mendukung penggunaan ID kunci akses IAM dan kombinasi tombol akses rahasia.

Dua ember S3 diperlukan untuk langkah selanjutnya. Satu bucket S3 digunakan untuk menyimpan data yang disediakan oleh penyedia. Bucket S3 lainnya adalah untuk data yang diterima oleh konsumen.

Pengguna IAM harus memiliki izin untuk membaca dan menulis objek hanya di dua ember bernama.

Access Key ID dan Secret Access Key Pair harus dibuat dan disimpan dengan aman. Setelah MVDS ini dinonaktifkan, pengguna IAM harus dihapus.

Kode berikut adalah contoh kebijakan IAM untuk pengguna:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1708699805237", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:ListBucketVersions", "s3:PutObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::<S3 Provider Bucket>", "arn:aws:s3:::<S3 Consumer Bucket>", "arn:aws:s3:::<S3 Provider Bucket>/*", "arn:aws:s3:::<S3 Consumer Bucket>/*" ] } ] }
DevOps insinyur

Siapkan Postman untuk berinteraksi dengan konektor.

Anda sekarang dapat berinteraksi dengan konektor melalui EC2 instans Anda. Gunakan Postman sebagai klien HTTP, dan berikan Koleksi Tukang Pos untuk penyedia dan konektor konsumen.

Impor koleksi dari aws-pattern-edc repositori ke instance Postman Anda.

Pola ini menggunakan variabel koleksi Postman untuk memberikan masukan ke permintaan Anda.

Pengembang aplikasi, Insinyur data
TugasDeskripsiKeterampilan yang dibutuhkan

Siapkan data intensitas emisi karbon untuk dibagikan.

Pertama, Anda perlu memutuskan aset data yang akan dibagikan. Data perusahaan X mewakili jejak emisi karbon dari armada kendaraannya. Berat adalah Berat Kendaraan Kotor (GVW) dalam ton, dan emisi dalam gram CO2 per ton-kilometer (g CO2 e/t-km) menurut pengukuran (WTW): Wheel-to-Well

  • Jenis kendaraan: Van; berat: < 3.5; emisi: 800

  • Jenis kendaraan: Truk perkotaan; berat: 3,5-7,5; emisi: 315

  • Jenis kendaraan: Kendaraan barang menengah (MGV); berat: 7,5-20; emisi: 195

  • Jenis kendaraan: Kendaraan barang berat (HGV); berat: > 20; emisi: 115

Contoh data ada di carbon_emissions_data.json file di aws-patterns-edc repositori.

Perusahaan X menggunakan Amazon S3 untuk menyimpan objek.

Buat bucket S3 dan simpan objek data contoh di sana. Perintah berikut membuat bucket S3 dengan pengaturan keamanan default. Kami sangat merekomendasikan konsultasi praktik terbaik Keamanan untuk Amazon S3.

aws s3api create-bucket <BUCKET_NAME> --region <AWS_REGION> # You need to add '--create-bucket-configuration # LocationConstraint=<AWS_REGION>' if you want to create # the bucket outside of us-east-1 region aws s3api put-object --bucket <BUCKET_NAME> \ --key <S3 OBJECT NAME> \ --body <PATH OF THE FILE TO UPLOAD>

Nama bucket S3 harus unik secara global. Untuk informasi selengkapnya tentang aturan penamaan, lihat dokumentasi AWS.

Insinyur data, Pengembang aplikasi

Daftarkan aset data ke konektor penyedia dengan menggunakan Postman.

Aset data konektor EDC memegang nama data dan lokasinya. Dalam hal ini, aset data konektor EDC akan menunjuk ke objek yang dibuat di bucket S3:

  • Konektor: Penyedia

  • Permintaan: Buat Aset

  • Variabel Koleksi: PerbaruiASSET_NAME. Pilih nama yang berarti yang mewakili aset.

  • Request Body: Perbarui isi permintaan dengan bucket S3 yang Anda buat untuk penyedia.

    "dataAddress": { "edc:type": "AmazonS3", "name": "Vehicle Carbon Footprint", "bucketName": "<REPLACE WITH THE SOURCE BUCKET NAME>", "keyName": "<REPLACE WITH YOUR OBJECT NAME>", "region": "<REPLACE WITH THE BUCKET REGION>", "accessKeyId": "<REPLACE WITH YOUR ACCESS KEY ID>", "secretAccessKey": "<REPLACE WITH SECRET ACCESS KEY>" }
  • Respons: Permintaan yang berhasil mengembalikan waktu yang dibuat dan ID aset dari aset yang baru dibuat.

    { "@id": "c89aa31c-ec4c-44ed-9e8c-1647f19d7583" }
  • Variabel koleksi ASSET_ID: Perbarui variabel koleksi Postman ASSET_ID dengan ID yang dihasilkan secara otomatis oleh konektor EDC setelah pembuatan.

Pengembang aplikasi, Insinyur data

Tentukan kebijakan penggunaan aset.

Aset data EDC harus dikaitkan dengan kebijakan penggunaan yang jelas. Pertama, buat Definisi Kebijakan di konektor penyedia.

Kebijakan perusahaan X adalah untuk memungkinkan peserta ruang data untuk menggunakan data jejak emisi karbon.

  • Badan Permintaan:

    • Konektor: Penyedia

    • Permintaan: Buat Kebijakan

    • Variabel Koleksi: Perbarui Policy Name variabel dengan nama kebijakan.

  • Respons: Permintaan yang berhasil mengembalikan waktu yang dibuat dan ID kebijakan kebijakan yang baru dibuat. Perbarui variabel koleksi POLICY_ID dengan ID kebijakan yang dihasilkan oleh konektor EDC setelah pembuatan.

Pengembang aplikasi, Insinyur data

Tentukan Penawaran Kontrak EDC untuk aset dan kebijakan penggunaannya.

Untuk memungkinkan peserta lain meminta akses ke data Anda, tawarkan dalam kontrak yang menentukan kondisi dan izin penggunaan:

  • Konektor: Penyedia

  • Permintaan: Buat Definisi Kontrak

  • Variabel Koleksi: Perbarui Contract Name variabel dengan nama untuk penawaran atau definisi kontrak.

Pengembang aplikasi, Insinyur data
TugasDeskripsiKeterampilan yang dibutuhkan

Minta katalog data yang dibagikan oleh perusahaan X.

Sebagai konsumen data di ruang data, perusahaan Y pertama-tama perlu menemukan data yang dibagikan oleh peserta lain.

Dalam pengaturan dasar ini, Anda dapat melakukan ini dengan meminta konektor konsumen untuk meminta katalog aset yang tersedia dari konektor penyedia secara langsung.

  • Konektor: Konsumen

  • Permintaan: Permintaan Katalog

  • Tanggapan: Semua aset data yang tersedia dari penyedia bersama dengan kebijakan penggunaan terlampirnya. Sebagai konsumen data, cari kontrak yang Anda minati dan perbarui variabel pengumpulan berikut yang sesuai.

    • CONTRACT_OFFER_IDID penawaran kontrak yang ingin dinegosiasikan konsumen

    • ASSET_IDID aset yang ingin dinegosiasikan konsumen

    • PROVIDER_CLIENT_IDID konektor penyedia untuk dinegosiasikan

Pengembang aplikasi, Insinyur data

Memulai negosiasi kontrak untuk data intensitas emisi karbon dari perusahaan X.

Sekarang setelah Anda mengidentifikasi aset yang ingin Anda konsumsi, mulailah proses negosiasi kontrak antara konektor konsumen dan penyedia.

  • Konektor: Konsumen

  • Permintaan: Negosiasi Kontrak

  • Variabel Koleksi: Perbarui CONSUMER_CLIENT_ID variabel dengan ID konektor konsumen untuk dinegosiasikan.

Prosesnya mungkin memakan waktu sebelum mencapai status VERIFIED.

Anda dapat memeriksa status Negosiasi Kontrak dan ID Perjanjian yang sesuai dengan menggunakan Get Negotiation permintaan.

Pengembang aplikasi, Insinyur data
TugasDeskripsiKeterampilan yang dibutuhkan

Mengkonsumsi data dari titik akhir HTTP.

(Opsi 1) Untuk menggunakan bidang data HTTP untuk mengkonsumsi data di ruang data, Anda dapat menggunakan webhook.site untuk meniru server HTTP, dan memulai proses transfer di konektor konsumen:

  • Konektor: Konsumen

  • Permintaan: Negosiasi Kontrak

  • Variabel Koleksi: Perbarui Contract Agreement ID variabel dengan ID perjanjian kontrak yang dihasilkan oleh konektor EDC.

  • Request Body: Perbarui badan permintaan untuk ditentukan HTTP sebagai dataDestination di samping URL webhook:

    { "dataDestination": { "type": "HttpProxy" }, "privateProperties": { "receiverHttpEndpoint": "<WEBHOOK URL>" } }

    Konektor akan mengirimkan informasi yang diperlukan untuk mengunduh file langsung ke URL webhook.

    Muatan yang diterima mirip dengan yang berikut:

    { "id": "dcc90391-3819-4b54-b401-1a005a029b78", "endpoint": "http://consumer-tractusx-connector-dataplane.consumer:8081/api/public", "authKey": "Authorization", "authCode": "<AUTH CODE YOU RECEIVE IN THE ENDPOINT>", "properties": { "https://w3id.org/edc/v0.0.1/ns/cid": "vehicle-carbon-footprint-contract:4563abf7-5dc7-4c28-bc3d-97f45e32edac:b073669b-db20-4c83-82df-46b583c4c062" } }

    Gunakan kredensyal yang diterima untuk mendapatkan aset S3 yang dibagikan oleh penyedia.

Pada langkah terakhir ini, Anda harus mengirim permintaan ke bidang data konsumen (port teruskan dengan benar), sebagaimana dinyatakan dalam payload (endpoint).

Pengembang aplikasi, Insinyur data

Konsumsi data dari ember S3 secara langsung.

(Opsi 2) Gunakan integrasi Amazon S3 dengan konektor EDC, dan langsung arahkan ke bucket S3 di infrastruktur konsumen sebagai tujuan:

  • Request Body: Perbarui isi permintaan untuk menentukan bucket S3 sebagai DataDeStination.

    Ini harus menjadi bucket S3 yang sebelumnya Anda buat untuk menyimpan data yang diterima oleh konsumen.

    { "dataDestination": { "type": "AmazonS3", "bucketName": "{{ REPLACE WITH THE DESTINATION BUCKET NAME }}", "keyName": "{{ REPLACE WITH YOUR OBJECT NAME }}", "region": "{{ REPLACE WITH THE BUCKET REGION }}", "accessKeyId": "{{ REPLACE WITH YOUR ACCESS KEY ID }}", "secretAccessKey": "{{ REPLACE WITH SECRET ACCESS KEY }}" } } }
Insinyur data, Pengembang aplikasi

Pemecahan Masalah

IsuSolusi

Konektor mungkin menimbulkan masalah tentang format PEM sertifikat.

Gabungkan isi setiap file ke satu baris dengan menambahkan. \n

Sumber daya terkait

Informasi tambahan

Spesifikasi ruang data

Peserta

Peserta

Deskripsi perusahaan

Fokus perusahaan

Perusahaan X

Mengoperasikan armada kendaraan di seluruh Eropa dan Amerika Selatan untuk mengangkut berbagai barang.

Bertujuan untuk membuat keputusan berbasis data untuk mengurangi intensitas jejak emisi karbonnya.

Perusahaan Y

Otoritas pengatur lingkungan

Menegakkan peraturan dan kebijakan lingkungan yang dirancang untuk memantau dan mengurangi dampak lingkungan dari bisnis dan industri, termasuk intensitas emisi karbon.

Kasus bisnis

Perusahaan X menggunakan teknologi ruang data untuk berbagi data jejak karbon dengan auditor kepatuhan, perusahaan Y, untuk mengevaluasi dan mengatasi dampak lingkungan dari operasi logistik perusahaan X.

Otoritas ruang data

Otoritas ruang data adalah konsorsium organisasi yang mengatur ruang data. Dalam pola ini, baik perusahaan X dan perusahaan Y membentuk badan tata kelola dan mewakili otoritas ruang data federasi.

Komponen ruang data

Komponen

Implementasi yang dipilih

Informasi tambahan

Protokol pertukaran dataset

Protokol Dataspace versi 0.8

Konektor ruang data

Konektor EDC Traktus-X versi 0.4.1

Kebijakan pertukaran data

Kebijakan PENGGUNAAN Default

Layanan ruang data

Layanan

Implementasi

Informasi tambahan

Layanan identitas

Sistem Penyediaan Atribut Dinamis (DAPS)

Sistem Penyediaan Atribut Dinamis (DAPS) memiliki maksud untuk memastikan atribut tertentu ke organisasi dan konektor. Oleh karena itu, pihak ketiga tidak perlu mempercayai yang terakhir asalkan mereka mempercayai pernyataan DAPS.” — DAPS

Untuk fokus pada logika konektor, ruang data diterapkan pada EC2 mesin Amazon menggunakan Docker Compose.

Layanan Penemuan

Katalog Federasi Gaia-X

“Katalog Federasi merupakan repositori terindeks dari Deskripsi Diri Gaia-X untuk memungkinkan penemuan dan pemilihan Penyedia dan penawaran layanan mereka. Deskripsi Diri adalah informasi yang diberikan oleh Peserta tentang diri mereka sendiri dan tentang layanan mereka dalam bentuk properti dan klaim. — Kickstarter Ekosistem Gaia-X

Data yang akan dipertukarkan

Aset data

Deskripsi

Format

Data emisi karbon

Nilai intensitas untuk berbagai jenis kendaraan di wilayah yang ditentukan (Eropa dan Amerika Selatan) dari seluruh armada kendaraan

File JSON

Model data

{ "region": "string", "vehicles": [ // Each vehicle type has its Gross Vehicle Weight (GVW) category and its emission intensity in grams of CO2 per Tonne-Kilometer (g CO2 e/t-km) according to the "Well-to-Wheel" (WTW) measurement. { "type": "string", "gross_vehicle_weight": "string", "emission_intensity": { "CO2": "number", "unit": "string" } } ] }

Konektor EDC Traktus-X

Untuk dokumentasi setiap parameter Tractus-X EDC, lihat file nilai asli.

Tabel berikut mencantumkan semua layanan, bersama dengan port terbuka dan titik akhir yang sesuai untuk referensi.

Nama layanan

Pelabuhan dan jalur

Bidang kontrol

manajemen: - Pelabuhan: 8081 Jalur: /management

kontrol - Port: 8083 Jalur: /control

● Port protokol: 8084 Jalur: /api/v1/dsp

metrik - Port: 9090 Jalur: /metrics

observabilitas - Pelabuhan: 8085 Jalur: /observability

Bidang data

default - Port: 8080 Jalur: /api

publik - Pelabuhan: 8081 Jalur: /api/dataplane/control

proxy - Pelabuhan: 8186 Jalur: /proxy

metrik - Port: 9090 Jalur: /metrics

observabilitas - Pelabuhan: 8085 Jalur: /observability

Vault

Pelabuhan: 8200

PostgreSQL

Pelabuhan: 5432

Menggunakan AWS Secrets Manager Manajer

Dimungkinkan untuk menggunakan Secrets Manager alih-alih HashiCorp Vault sebagai manajer rahasia. Untuk melakukannya, Anda harus menggunakan atau membangun ekstensi AWS Secrets Manager EDC.

Anda akan bertanggung jawab untuk membuat dan memelihara citra Anda sendiri, karena Tractus-X tidak memberikan dukungan untuk Secrets Manager.

Untuk mencapai itu, Anda perlu memodifikasi file Gradle build dari bidang kontrol dan bidang data konektor dengan memperkenalkan ekstensi AWS Secrets Manager EDC Anda (lihat artefak maven ini sebagai contoh), lalu membangun, memelihara, dan mereferensikan image Docker.

Untuk wawasan lebih lanjut tentang refactoring gambar Docker konektor Tractus-X, lihat Bagan Helm EDC Refactor Tractus-X.

Untuk tujuan kesederhanaan, kami menghindari membangun kembali gambar konektor dalam pola ini dan menggunakan HashiCorp Vault.