Giới thiệu Gói Python và CLI của Oblivious!
Chúng tôi rất vui mừng được thông báo về việc phát hành gói Python của chúng tôi, được tích hợp với một cli. Bản phát hành này giúp giảm đáng kể việc sử dụng OpenAPI của chúng tôi và cải thiện quy trình làm việc của khách hàng.
Lý lịch
Hãy để chúng tôi nói thêm một chút về Oblivious trước khi tiếp tục. Chúng tôi tại Oblivious, nỗ lực cải thiện công nghệ bảo mật và giúp xử lý dữ liệu bí mật một cách minh bạch. Các công cụ của chúng tôi giúp bạn xây dựng và triển khai API bằng cách sử dụng các vùng bảo mật trên nền tảng đám mây. Tài liệu của chúng tôi giải thích rất chi tiết về cách chúng tôi đạt được điều tương tự. Các công cụ của chúng tôi có thể được sử dụng để triển khai theo hai cách, thứ nhất, thông qua Giao diện người dùng bảng điều khiển của chúng tôi và thứ hai thông qua OpenAPI của chúng tôi .
Tóm lại, các công cụ của chúng tôi cho phép bạn xây dựng hình ảnh docker và triển khai nó vào một vùng an toàn. Họ cũng cung cấp một proxy an toàn cho phép bạn kết nối với vùng chứa mà không cần tin tưởng vào máy chủ lưu trữ.
Bản phát hành này nhằm cung cấp một cách dễ dàng hơn để tương tác với các OpenAPI của chúng tôi, với gói python PyOblv và cli oblv-ctl .
PyOblv
PyOblv là gói python triển khai tất cả các OpenAPI được mô tả bởi Oblivious. Gói cho phép tương tác với API mà không cần đọc tài liệu hoặc hiểu cách triển khai. Nó có thể dễ dàng tích hợp với ứng dụng của bạn và giảm nhu cầu truy cập bảng điều khiển bất cứ khi nào bạn muốn triển khai.
oblv-ctl
Khi bạn cài đặt PyOblv , bạn cũng sẽ cài đặt CLI. Lệnh oblv-ctl sẽ cho phép bạn thực hiện tất cả các hoạt động được xác định trong gói trực tiếp từ dòng lệnh. Công cụ này rất hữu ích khi người dùng muốn tránh viết tập lệnh khi gọi API Oblv.
Bắt đầu
Để bắt đầu hành trình với Oblivious, bạn có thể đăng ký tại Oblivious Console . Sau khi đăng ký, di chuyển đến màn hình cài đặt. Trong phần cài đặt, bạn sẽ thấy tùy chọn tạo Khóa API. Giữ chìa khóa này tiện dụng.
Với khóa này, bạn có thể tự xác thực thông qua PyOblv và oblv-ctl và tiếp tục tạo vùng chứa.
xác thực
Tập lệnh python sẽ tiếp tục như hình bên dưới. Ứng dụng khách được tạo chứa tất cả các hoạt động mà bạn có thể thực hiện.
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 - Hình ảnh docker cơ sở. Có một số tùy chọn bạn có thể chọn.
- oblv_ubuntu_18_04_proxy — Dịch vụ không rõ ràng trên Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_nsm_api — Oblvious Services cùng với API NSM trên Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_python_3_8 — Dịch vụ không rõ ràng cùng với Python 3.8 trên Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_nsm_api_python_3_8 — Oblvious Services cùng với Python 3.8 và API NSM trên Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_python_3_9 — Oblivious Services cùng với Python 3.9 trên Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_nsm_api_python_3_9 — Oblvious Services cùng với Python 3.9 và API NSM trên Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_node_14 — Oblvious Services cùng với NodeJs 14 trên Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_nsm_api_node_14 — Oblvious Services cùng với NodeJs 14 và API NSM trên Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_node_16 — Oblvious Services cùng với NodeJs 16 trên Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_nsm_api_node_16 — Oblvious Services cùng với NodeJs 16 và API NSM trên Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_node_18 — Oblvious Services cùng với NodeJs 18 trên Ubuntu 18.04
- oblv_ubuntu_18_04_proxy_nsm_api_node_18 — Oblvious Services cùng với NodeJs 18 và API NSM trên Ubuntu 18.04
- auth_name - Tên của phương thức xác thực.
- auth_type - Loại xác thực được sử dụng. Hiện tại, giá trị được phép duy nhất là sign_headers
- role_name — Tên của vai trò.
- role_description — Mô tả chức năng của vai trò này.
- role_cardinality — Đây là số lượng người dùng có thể đảm nhận vai trò này.
- role_auth — Đại diện cho phương pháp xác thực được xác định trước đó sẽ được sử dụng để xác thực người dùng này.
- đường dẫn — Đường dẫn được thêm vào URL phiên bản gốc. quyền truy cập — Danh sách các vai trò được phân tách bằng dấu phẩy có quyền truy cập vào đường dẫn này (chúng phải tồn tại trong các vai trò)
- short_description — Mô tả ngắn về chức năng của đường dẫn
- tên - Tên của đối số xây dựng
- loại - Loại đối số. Các giá trị được chấp nhận là {số, chuỗi, số nguyên, boolean}
- required_arg — Cho biết đối số này là bắt buộc hay tùy chọn để xây dựng dịch vụ. Nó là một giá trị boolean.
- inbound — Danh sách các cổng được phép lưu lượng truy cập vào. Mỗi đối tượng trong danh sách nên có
- tên — Tên giao thông
- loại — Loại lưu lượng. Chỉ TCP được phép
- cổng — Cổng giao thông
- outbound — Lưu lượng truy cập ra bên ngoài được phép từ vùng chứa. Để nó dưới dạng danh sách trống trong trường hợp không có lưu lượng truy cập ra bên ngoài. Mỗi đối tượng nên có -
- tên — Tên giao thông
- loại — Loại lưu lượng. Chỉ TCP được phép
- miền — Phần FQDN của URL để cho phép truy cập. Ví dụ: console.oblivious.ai
- cổng — Cổng giao thông
- tác giả - Tên của (các) tác giả của dịch vụ (được phân tách bằng dấu phẩy)
- author_email - Email của (các) tác giả của dịch vụ (được phân tách bằng dấu phẩy)
- git — Nguồn GIT
- phiên bản — Phiên bản của dịch vụ (Major.Minor.Patch)
- docs — Vị trí của tệp đánh dấu hoặc thư mục đánh dấu có ít nhất một tệp có tên index.md
- links_sec_ops — Mảng cổng chất lượng cho bảo mật và chất lượng
{
"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 Nếu được cung cấp, ref được coi là một thẻ trên kho lưu trữ.
- –service-file Tệp Service.yaml ở định dạng JSON. Không được phép với — tag
Để tạo một vùng đất, bạn cần quyết định một số tham số -
- Deploy_name — Một tên triển khai duy nhất. Bạn không thể có hai
triển khai đang chạy có cùng tên. - region_name — có thể là một trong các khu vực AWS từ
- chúng tôi-đông-1 (N. Virginia)
- chúng tôi-tây-2 (Oregon)
- eu-trung tâm-1 (Frankfurt)
- eu-tây-2 (London)
- khả năng hiển thị - riêng tư hoặc công khai
- is_dev_env — Đúng hoặc Sai .
- thẻ - Danh sách các thẻ để triển khai của bạn
- account_type — Đây là loại VCS và
hiện chỉ có GitHub*** được hỗ trợ. - build_args — Đối số dành riêng cho việc triển khai của bạn. Nó bao gồm việc thêm người dùng vào vai trò của họ bằng khóa chung, đối số thời gian chạy và
bất kỳ đối số bổ sung nào cho bản dựng của bạn. Nó cũng bao gồm
kích thước cơ sở hạ tầng cần thiết cho việc triển khai. Các tùy chọn là - - c5.xlarge — CPU:4 RAM:8 GB — Sử dụng tín dụng: 68,0/giờ
- m5.xlarge — CPU:4 RAM:16 GB — Sử dụng tín dụng:
76,8/giờ - r5.xlarge — CPU:4 RAM:32 GB — Sử dụng tín dụng:
100,8/giờ - c5.2xlarge — CPU:8 RAM:16 GB — Sử dụng tín dụng:
136,0/giờ - m5.2xlarge — CPU:8 RAM:32 GB — Sử dụng tín dụng:
153,6/giờ
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
- –public Nếu được cung cấp, việc triển khai sẽ được công khai, nếu không, nó vẫn ở chế độ riêng tư và không hiển thị với những người dùng khác.
- –is-dev Đặt môi trường triển khai là DEV
- –khu vực Khu vực nơi enclave sẽ được triển khai. Các tùy chọn bao gồm [“us-east-1” (N. Virginia), “us-west-2” (Oregon), “eu-central-1” (Frankfurt), “eu-west-2” (London)] . Giá trị mặc định là us-east-1
- –args-file đường dẫn tệp đối số để triển khai enclave
Với tập lệnh python:
client.remove_deployment("<your_deployment_id>")
oblv-ctl deployment terminate DEPLOYMENT_ID
Các API của chúng tôi hiện đang ở giai đoạn alpha và nhận được các bản cập nhật thường xuyên, dẫn đến các bản cập nhật thường xuyên cho gói của chúng tôi. Hiện có khoảng 28 hoạt động được PyOblv hỗ trợ, nhưng con số này sẽ tăng lên với các bản phát hành trong tương lai để cung cấp nhiều hỗ trợ hơn xung quanh các khu vực.
Nếu bạn cần làm rõ thêm hoặc có bất kỳ suy nghĩ nào muốn chia sẻ, vui lòng liên hệ với chúng tôi tại Discord .
Nếu bạn có bất kỳ yêu cầu tính năng bổ sung hoặc lỗi nào mà bạn muốn chúng tôi giải quyết, vui lòng thêm chúng vào đây !

![Dù sao thì một danh sách được liên kết là gì? [Phần 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































