ขอแนะนำแพ็คเกจ Python และ CLI ของ Oblivious!
เรารู้สึกตื่นเต้นที่จะประกาศเปิดตัวแพ็คเกจ Python ของเราที่รวมเข้ากับ cli รุ่นนี้ช่วยลดการใช้ OpenAPI ของเราลงอย่างมากและปรับปรุงเวิร์กโฟลว์ของลูกค้า
พื้นหลัง
ให้เราพูดเพิ่มเติมเกี่ยวกับObliviousก่อนดำเนินการต่อ พวกเราที่ Oblivious ทำงานเพื่อปรับปรุงเทคโนโลยีความเป็นส่วนตัวและช่วยในการประมวลผลข้อมูลที่เป็นความลับอย่างโปร่งใส เครื่องมือของเราช่วยให้คุณสร้างและปรับใช้ API โดยใช้เครือข่ายที่ปลอดภัยบนแพลตฟอร์มคลาวด์ เอกสารของเราอธิบายรายละเอียดอย่างมากว่าเราบรรลุสิ่งเดียวกันได้อย่างไร เครื่องมือของเราสามารถใช้สำหรับการปรับใช้ได้สองวิธี วิธีแรกผ่าน Console UI ของเราและวิธีที่สองผ่านOpenAPI ของเรา
กล่าวโดยย่อ เครื่องมือของเราช่วยให้คุณสร้างอิมเมจนักเทียบท่าและปรับใช้กับวงล้อมที่ปลอดภัย พวกเขายังมีพร็อกซีที่ปลอดภัยที่ให้คุณเชื่อมต่อกับวงล้อมโดยไม่จำเป็นต้องเชื่อถือโฮสต์
รุ่นนี้มีไว้เพื่อมอบวิธีที่ง่ายกว่าในการโต้ตอบกับ OpenAPI ด้วยแพ็คเกจ python PyOblvและ cli oblv-ctlของเรา
PyOblv
PyOblvเป็นแพ็คเกจ python ที่ใช้ OpenAPI ทั้งหมดที่อธิบายโดย Oblivious แพ็คเกจอนุญาตให้มีการโต้ตอบกับ API โดยไม่จำเป็นต้องอ่านเอกสารประกอบหรือเข้าใจการใช้งาน สามารถรวมเข้ากับแอปพลิเคชันของคุณได้อย่างง่ายดาย และลดความจำเป็นในการเยี่ยมชมแดชบอร์ดเมื่อใดก็ตามที่คุณต้องการนำการปรับใช้
oblv-ctl
เมื่อคุณติดตั้งPyOblvคุณจะได้รับการติดตั้ง CLI ด้วย คำสั่งoblv-ctlจะช่วยให้คุณดำเนินการทั้งหมดที่กำหนดไว้ในแพ็คเกจได้โดยตรงจากบรรทัดคำสั่ง เครื่องมือนี้มีประโยชน์เมื่อผู้ใช้ต้องการหลีกเลี่ยงการเขียนสคริปต์เมื่อเรียกใช้ Oblv APIs
เริ่มต้นใช้งาน
หากต้องการเริ่มต้นการเดินทาง ของคุณกับ Oblivious คุณสามารถลงทะเบียนได้ที่Oblivious Console เมื่อลงทะเบียนแล้ว ให้ย้ายไปที่หน้าจอการตั้งค่า ในการตั้งค่า คุณจะเห็นตัวเลือกในการสร้างคีย์ API เก็บกุญแจนี้ไว้ในมือ
ด้วยคีย์นี้ คุณสามารถตรวจสอบตัวเองผ่าน PyOblv และ oblv-ctl และดำเนินการสร้างวงล้อมได้
การรับรองความถูกต้อง
สคริปต์ไพ ธ อนจะดำเนินการต่อตามที่แสดงด้านล่าง ไคลเอนต์ที่สร้างขึ้นประกอบด้วยการดำเนินการทั้งหมดที่คุณสามารถทำได้
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 — อิมเมจนักเทียบท่าฐาน มีไม่กี่ตัวเลือกที่คุณสามารถเลือกได้
- oblv_ubuntu_18_04_proxy — บริการลืมเลือนที่อยู่ด้านบนของ Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_nsm_api — Oblivious Services พร้อมด้วย NSM API ที่ด้านบนของ Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_python_3_8 — Oblivious Services พร้อมด้วย Python 3.8 ที่ด้านบนของ Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_nsm_api_python_3_8 — Oblivious Services พร้อมด้วย Python 3.8 และ NSM API ที่ด้านบนของ Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_python_3_9 — Oblivious Services พร้อมด้วย Python 3.9 ที่ด้านบนของ Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_nsm_api_python_3_9 — Oblivious Services พร้อมด้วย Python 3.9 และ NSM API ที่ด้านบนของ Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_node_14 — Oblivious Services พร้อมด้วย NodeJs 14 ที่ด้านบนของ Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_nsm_api_node_14 — Oblivious Services พร้อมด้วย NodeJs 14 และ NSM API ที่ด้านบนของ Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_node_16 — Oblivious Services พร้อมด้วย NodeJs 16 ที่ด้านบนของ Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_nsm_api_node_16 — Oblivious Services พร้อมด้วย NodeJs 16 และ NSM API ที่ด้านบนของ Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_node_18 — Oblivious Services พร้อมด้วย NodeJs 18 ที่ด้านบนของ Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_nsm_api_node_18 — Oblivious Services พร้อมด้วย NodeJs 18 และ NSM API ที่ด้านบนของ Ubuntu 18.04
- auth_name — ชื่อของวิธีการตรวจสอบสิทธิ์
- auth_type — ประเภทของการรับรองความถูกต้องที่ใช้ สำหรับตอนนี้ ค่าเดียวที่อนุญาตคือsign_headers
- role_name — ชื่อของบทบาท
- role_description — อธิบายการทำงานของบทบาทนี้
- role_cardinality — นี่คือจำนวนผู้ใช้ที่สามารถรับบทบาทนี้ได้
- role_auth — แสดงถึงวิธีการตรวจสอบสิทธิ์ที่กำหนดไว้ก่อนหน้านี้เพื่อใช้ในการตรวจสอบสิทธิ์ผู้ใช้รายนี้
- เส้นทาง — เส้นทางที่จะต่อท้าย URL ของอินสแตนซ์หลัก การเข้าถึง — รายการที่คั่นด้วยเครื่องหมายจุลภาคของบทบาทที่สามารถเข้าถึงเส้นทางนี้ (ต้องมีอยู่ในบทบาท)
- short_description — คำอธิบายสั้น ๆ ของฟังก์ชันเส้นทาง
- ชื่อ — ชื่อของอาร์กิวเมนต์บิลด์
- ประเภท — ประเภทของอาร์กิวเมนต์ ค่าที่ยอมรับได้คือ {number, string, integer, boolean}
- required_arg — แสดงว่าอาร์กิวเมนต์นี้จำเป็นหรือไม่บังคับสำหรับการสร้างบริการ เป็นค่าบูลีน
- ขาเข้า — รายการของพอร์ตที่อนุญาตทราฟฟิกขาเข้า แต่ละวัตถุในรายการควรมี
- ชื่อ — ชื่อการจราจร
- ประเภท — ประเภทการจราจร อนุญาตเฉพาะTCP เท่านั้น
- พอร์ต — พอร์ตจราจร
- ขาออก — อนุญาตการจราจรขาออกจากวงล้อม ปล่อยให้เป็นรายการว่างในกรณีที่ไม่มีทราฟฟิกขาออก แต่ละวัตถุควรมี -
- ชื่อ — ชื่อการจราจร
- ประเภท — ประเภทการจราจร อนุญาตเฉพาะTCP เท่านั้น
- โดเมน — ส่วน FQDN ของ URL ที่อนุญาตการเข้าถึง ตัวอย่าง: console.oblivious.ai
- พอร์ต — พอร์ตจราจร
- ผู้เขียน — ชื่อผู้เขียนบริการ (คั่นด้วยเครื่องหมายจุลภาค)
- author_email — อีเมลของผู้เขียนบริการ (คั่นด้วยเครื่องหมายจุลภาค)
- git - แหล่ง GIT
- เวอร์ชัน — เวอร์ชันของบริการ (Major.Minor.Patch)
- docs — ตำแหน่งของไฟล์ markdown หรือโฟลเดอร์ของ markdown ที่มีไฟล์ชื่อindex.md อย่างน้อยหนึ่งไฟล์
- Links_sec_ops — อาร์เรย์ของประตูคุณภาพเพื่อความปลอดภัยและคุณภาพ
{
"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หากมีให้ ref จะถือว่าเป็นแท็กบน repository
- –service-fileไฟล์ Service.yaml ในรูปแบบ JSON ไม่อนุญาตด้วย — แท็ก
ในการสร้างวงล้อม คุณต้องตัดสินใจเลือกพารามิเตอร์ -
- Deployment_name — ชื่อการปรับใช้ที่ไม่ซ้ำใคร คุณไม่สามารถมี
การเรียกใช้การปรับใช้สองรายการด้วยชื่อเดียวกัน - region_name — อาจเป็นหนึ่งในภูมิภาค AWS จาก
- เรา-ตะวันออก-1 (เวอร์จิเนียเหนือ)
- เราตะวันตก-2 (ออริกอน)
- eu-central-1 (แฟรงค์เฟิร์ต)
- eu-west-2 (ลอนดอน)
- ทัศนวิสัย — ส่วนตัวหรือสาธารณะ
- is_dev_env — จริงหรือเท็จ _
- แท็ก — รายการแท็กสำหรับการใช้งานของคุณ
- account_type — นี่คือประเภท VCS และ
รองรับเฉพาะ GitHub*** เท่านั้นในตอนนี้ - build_args — อาร์กิวเมนต์เฉพาะสำหรับการปรับใช้ของคุณ ซึ่งรวมถึงการเพิ่มผู้ใช้ในบทบาทของพวกเขาด้วยคีย์สาธารณะ อาร์กิวเมนต์รันไทม์ และ
อาร์กิวเมนต์เพิ่มเติมสำหรับบิลด์ของคุณ นอกจากนี้ยังมี
ขนาดอินฟาเรดที่จำเป็นสำหรับการปรับใช้ ตัวเลือกคือ - - c5.xlarge — CPU:4 RAM:8 GB — การใช้เครดิต: 68.0/ชม
- m5.xlarge — CPU:4 RAM:16 GB — การใช้เครดิต:
76.8/ชม - r5.xlarge — CPU:4 RAM:32 GB — การใช้เครดิต:
100.8/ชม. - c5.2xlarge — CPU:8 RAM:16 GB — การใช้เครดิต:
136.0/ชม. - m5.2xlarge — CPU:8 RAM:32 GB — การใช้เครดิต:
153.6/ชม.
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
- –สาธารณะหากมี การปรับใช้จะถูกทำให้เป็นสาธารณะ มิฉะนั้นจะยังคงเป็นส่วนตัวและไม่ปรากฏแก่ผู้ใช้รายอื่น
- –is-devตั้งค่าสภาพแวดล้อมของการปรับใช้เป็น DEV
- –regionภูมิภาคที่จะปรับใช้วงล้อม ตัวเลือกประกอบด้วย ["us-east-1" (เวอร์จิเนียเหนือ), "us-west-2" (ออริกอน), "eu-central-1" (แฟรงค์เฟิร์ต), "eu-west-2" (ลอนดอน)] . ค่าเริ่มต้นคือus-east-1
- เส้นทางไฟล์อาร์กิวเมนต์–args-file สำหรับการปรับใช้แบบวงล้อม
ด้วยสคริปต์หลาม:
client.remove_deployment("<your_deployment_id>")
oblv-ctl deployment terminate DEPLOYMENT_ID
ขณะนี้ API ของเราอยู่ในอัลฟ่าและได้รับการอัปเดตเป็นประจำ ทำให้มีการอัปเดตบ่อยครั้งสำหรับแพ็คเกจของเรา ขณะนี้มีการดำเนินการประมาณ 28 รายการที่สนับสนุนโดย PyOblv แต่จำนวนนี้จะเพิ่มขึ้นเมื่อมีการเผยแพร่ในอนาคตเพื่อให้การสนับสนุนเพิ่มเติมในวงล้อม
หากคุณ ต้องการคำชี้แจงเพิ่มเติมหรือมีความคิดที่จะแบ่งปัน โปรดติดต่อเราได้ที่Discord
หากคุณมีคำขอคุณลักษณะเพิ่มเติมหรือจุดบกพร่องที่คุณต้องการให้เราแก้ไข โปรดเพิ่มที่นี่ !





































![รายการที่เชื่อมโยงคืออะไร? [ส่วนที่ 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)