Memperkenalkan Paket Python dan CLI yang Terlupakan!
Kami sangat senang mengumumkan perilisan paket Python kami, terintegrasi dengan cli. Rilis ini secara signifikan memudahkan penggunaan OpenAPI kami dan meningkatkan alur kerja pelanggan.
Latar belakang
Mari kita bicara lebih banyak tentang Oblivious , sebelum melanjutkan. Kami di Oblivious, berupaya meningkatkan teknologi privasi dan membantu memproses data rahasia secara transparan. Alat kami membantu Anda membangun dan menerapkan API menggunakan kantong aman di platform cloud. Dokumen kami menjelaskan dengan sangat rinci, bagaimana kami mencapai hal yang sama. Alat kami dapat digunakan untuk penerapan dengan dua cara, pertama, melalui UI Konsol kami , dan kedua melalui OpenAPI kami .
Singkatnya, alat kami memungkinkan Anda membuat image buruh pelabuhan dan menerapkannya ke enklave yang aman. Mereka juga menawarkan proxy aman yang memungkinkan Anda terhubung ke enklave tanpa perlu mempercayai host.
Rilis ini untuk menyediakan cara yang lebih mudah untuk berinteraksi dengan OpenAPI kami, dengan paket python kami PyOblv dan cli oblv-ctl .
PyOblv
PyOblv adalah paket python yang mengimplementasikan semua OpenAPI yang dijelaskan oleh Oblivious. Paket memungkinkan interaksi dengan API tanpa perlu membaca dokumentasi atau memahami implementasinya. Ini dapat dengan mudah diintegrasikan dengan aplikasi Anda dan mengurangi kebutuhan untuk mengunjungi dasbor kapan pun Anda ingin melakukan penerapan.
oblv-ctl
Saat Anda menginstal PyOblv , Anda juga menginstal CLI. Perintah oblv-ctl akan membiarkan Anda menjalankan semua operasi yang ditentukan dalam paket langsung dari baris perintah. Alat ini berguna saat pengguna ingin menghindari penulisan skrip saat memanggil API Oblv.
Mulai
Untuk memulai perjalanan Anda dengan Oblivious, Anda dapat mendaftar di Konsol Oblivious . Setelah terdaftar, pindah ke layar pengaturan. Di pengaturan, Anda akan melihat opsi untuk membuat Kunci API. Jauhkan kunci ini berguna.
Dengan kunci ini, Anda dapat mengautentikasi diri sendiri melalui PyOblv dan oblv-ctl dan melanjutkan pembuatan enklave.
Autentikasi
Skrip python akan berjalan seperti yang ditunjukkan di bawah ini. Klien yang dihasilkan berisi semua operasi yang dapat Anda lakukan.
from oblv import authenticate
client = authenticate(apikey=*your_api_key*)
oblv-ctl login *your_api_key*
from oblv import authenticate
client = authenticate (apikey=*your_api_key*)
client.add_service(repo_owner="ObliviousAI", repo_name="FastAPI-Enclave-Services", ref="master")
- base_image — Gambar buruh pelabuhan dasar. Ada beberapa pilihan yang bisa Anda pilih.
- oblv_ubuntu_18_04_proxy — Layanan Terlupakan di atas Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_nsm_api — Layanan Terlupakan bersama dengan NSM API di atas Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_python_3_8 — Layanan Terlupakan bersama dengan Python 3.8 di atas Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_nsm_api_python_3_8 — Layanan Terlupakan bersama dengan Python 3.8 dan NSM API di atas Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_python_3_9 — Layanan Terlupakan bersama dengan Python 3.9 di atas Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_nsm_api_python_3_9 — Layanan Terlupakan bersama dengan Python 3.9 dan NSM API di atas Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_node_14 — Layanan Terlupakan bersama dengan NodeJs 14 di atas Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_nsm_api_node_14 — Layanan Terlupakan bersama dengan NodeJs 14 dan NSM API di atas Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_node_16 — Layanan Terlupakan bersama dengan NodeJs 16 di atas Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_nsm_api_node_16 — Layanan Terlupakan bersama dengan NodeJs 16 dan NSM API di atas Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_node_18 — Layanan Terlupakan bersama dengan NodeJs 18 di atas Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_nsm_api_node_18 — Layanan Terlupakan bersama dengan NodeJs 18 dan NSM API di atas Ubuntu 18.04
- auth_name — Nama metode autentikasi.
- auth_type — Jenis autentikasi yang digunakan. Untuk saat ini, satu-satunya nilai yang diizinkan adalah signed_headers
- role_name — Nama peran.
- role_description — Jelaskan fungsi peran ini.
- role_cardinality — Ini adalah jumlah pengguna yang dapat mengambil peran ini.
- role_auth — Mewakili pendekatan autentikasi yang ditentukan sebelumnya untuk digunakan untuk mengautentikasi pengguna ini.
- path — Jalur yang akan ditambahkan ke URL instance induk. akses — Daftar peran yang dipisahkan koma yang memiliki akses ke jalur ini (harus ada dalam peran)
- short_description — Deskripsi singkat tentang fungsionalitas jalur
- name — Nama argumen build
- type — Jenis argumen. Nilai yang dapat diterima adalah {angka, string, bilangan bulat, boolean}
- required_arg — Menampilkan apakah argumen ini wajib atau opsional untuk membangun layanan. Ini adalah nilai boolean.
- masuk — Daftar port tempat lalu lintas masuk diizinkan. Setiap objek dalam daftar harus memiliki
- nama — Nama Lalu Lintas
- jenis — Jenis Lalu Lintas. Hanya TCP yang diizinkan
- pelabuhan — Pelabuhan lalu lintas
- keluar — Lalu lintas keluar diizinkan dari kantong. Biarkan sebagai daftar kosong jika tidak ada lalu lintas keluar. Setiap objek harus memiliki -
- nama — Nama Lalu Lintas
- jenis — Jenis Lalu Lintas. Hanya TCP yang diizinkan
- domain — Bagian FQDN dari URL untuk mengizinkan akses. Contoh: console.oblivious.ai
- pelabuhan — Pelabuhan lalu lintas
- penulis — Nama penulis layanan (dipisahkan koma)
- author_email — Email penulis layanan (dipisahkan dengan koma)
- git — Sumber GIT
- versi — Versi layanan (Major.Minor.Patch)
- docs — Lokasi file markdown atau folder markdown dengan setidaknya satu file bernama index.md
- links_sec_ops — Susunan gerbang kualitas untuk keamanan dan kualitas
{
"base_image": "oblv_ubuntu_18_04_proxy_nsm_api_python_3_8",
"auth": [
{
"auth_name": "pkipsk",
"auth_type": "signed_headers"
}
],
"roles": [
{
"role_auth": "pkipsk",
"role_cardinality": 2,
"role_description": "This is simply an example role for demonstration purposes",
"role_name": "admin"
}
],
"paths": [
{
"access": "admin",
"path": "/hello/",
"short_description": "Hello world example"
}
],
"build_args": [
{
"name": "user_name",
"type": "string",
"required_arg": true
}
],
"traffic": {
"inbound": [
{
"name": "inbound",
"port": 80,
"type": "tcp"
}
],
"outbound": [
{
"domain": "example.com",
"name": "example",
"port": 443,
"type": "tcp"
}
]
},
"meta": {
"author": "Team Oblivious",
"author_email": "[email protected]",
"git": "https://github.com/ObliviousAI/FastAPI-Enclave-Services.git",
"version": "0.1.0"
},
}
oblv-ctl service create [OPTIONS] REPO_OWNER REPO_NAME REF
- –tag Jika tersedia, ref dianggap sebagai tag pada repositori.
- –service-file Service.yaml file dalam format JSON. Tidak diizinkan dengan — tag
Untuk membuat enklave, Anda perlu memutuskan beberapa parameter -
- deployment_name — Nama penerapan yang unik. Anda tidak dapat menjalankan dua
penerapan dengan nama yang sama. - region_name — bisa jadi salah satu wilayah AWS dari
- us-east-1 (Virginia U.)
- kami-barat-2 (Oregon)
- eu-central-1 (Frankfurt)
- eu-barat-2 (London)
- visibilitas — pribadi atau publik
- is_dev_env — Benar atau Salah .
- tags — Daftar tag untuk penerapan Anda
- account_type — Ini adalah tipe VCS, dan hanya GitHub*** yang
didukung untuk saat ini. - build_args — Argumen khusus untuk penerapan Anda. Ini termasuk menambahkan pengguna ke peran mereka dengan kunci publik, argumen waktu proses, dan
argumen tambahan apa pun untuk bangunan Anda. Ini juga mencakup ukuran infra
yang diperlukan untuk penyebaran. Pilihannya adalah - - c5.xlarge — CPU:4 RAM:8 GB — Pemanfaatan Kredit: 68,0/jam
- m5.xlarge — CPU:4 RAM:16 GB — Pemanfaatan Kredit:
76,8/jam - r5.xlarge — CPU:4 RAM:32 GB — Pemanfaatan Kredit:
100,8/jam - c5.2xlarge — CPU:8 RAM:16 GB — Pemanfaatan Kredit:
136,0/jam - m5.2xlarge — CPU:8 RAM:32 GB — Pemanfaatan Kredit:
153,6/jam
args = {
"users": {
"admin": [
"user_name": "<your name>",
"public key": "<your publickey>"
]
},
"infra_reqs":"m5.xlarge"
}
from oblv.models import CreateDeploymentInput
input = CreateDeploymentInput(
owner="ObliviousAI",
repo="FastAPI-Enclave-Services",
account_type="github", ref="master",
region-name="us-east-1", deployment="Depl",
visibility="private",
is_dev_env=True,
tags=[],
build_args=args
)
deployment = client.create_deployment(input)
oblv-ctl deployment create [OPTIONS] REPO_OWNER REPO_NAME REF NAME
- –publik Jika disediakan, penyebaran dibuat publik selain itu tetap pribadi dan tidak terlihat oleh pengguna lain.
- –is-dev Mengatur lingkungan penerapan sebagai DEV
- –region Wilayah di mana enclave akan ditempatkan. Opsinya termasuk [“us-east-1” (Virginia U.), “us-west-2” (Oregon), “eu-central-1” (Frankfurt), “eu-west-2” (London)] . Nilai defaultnya adalah us-east-1
- jalur file argumen –args-file untuk penerapan enclave
Dengan skrip python:
client.remove_deployment("<your_deployment_id>")
oblv-ctl deployment terminate DEPLOYMENT_ID
API kami saat ini dalam versi alfa dan menerima pembaruan rutin, sehingga sering terjadi pembaruan untuk paket kami. Ada sekitar 28 operasi yang didukung oleh PyOblv sekarang, tetapi jumlah ini akan meningkat dengan rilis mendatang untuk memberikan lebih banyak dukungan di sekitar kantong.
Jika Anda memerlukan klarifikasi tambahan atau memiliki pemikiran untuk dibagikan, jangan ragu untuk menghubungi kami di Discord .
Jika Anda memiliki permintaan fitur tambahan atau bug yang ingin kami tangani, tambahkan di sini !

![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































