How to Secure Azure OpenAI Keys Using Environment Variables, Azure Vault, and Streamlit Secrets(open

I. OpenAI API介绍

A. OpenAI API安装方法

要使用OpenAI API,您需要先安装OpenAI API Python库。

  1. 通过以下命令使用pip install openai安装OpenAI API:

pip install openai

  1. 安装成功后,为了使用API,需要设置环境变量OPENAI_API_KEY。

II. 设置OpenAI API密钥环境变量

A. Windows系统设置

在Windows系统上,可使用Anaconda3 PowerShell运行环境来设置OpenAI API密钥环境变量。

  1. 打开Anaconda3 PowerShell。
  2. 在命令行中使用以下命令设置密钥环境变量:

$Env:OPENAI_API_KEY=”your_api_key”

B. Linux/Mac系统设置

在Linux/Mac系统上,可使用Terminal或命令行界面来设置OpenAI API密钥环境变量。

  1. 打开Terminal或命令行界面。
  2. 使用以下命令设置OPENAI_API_KEY环境变量:

export OPENAI_API_KEY=”your_api_key”

III. 密钥环境变量的作用与优势

A. 安全性

设置OpenAI API密钥环境变量可以提高代码的安全性。

  1. 不需要直接在代码中暴露API密钥,避免泄漏风险。
  2. 可使用系统环境变量来存储密钥,保证密钥的安全性。

B. 灵活性

设置OpenAI API密钥环境变量可以提供灵活性。

  1. 可以在区别的运行环境中轻松配置和更改密钥。
  2. 可以方便地切换API密钥而无需修改代码。

IV. 其他设置API密钥方法

A. 直接在代码中设置API密钥

虽然不推荐,在代码中设置API密钥也是可能的。

  1. 使用以下代码即将API密钥设置为变量:
import openai
openai.api_key = "your_api_key"
  1. 但是,这类硬编码方式不安全,容易致使密钥泄漏和修改麻烦。

B. 使用配置文件或JSON文件存储API密钥

将API密钥存储在配置文件或JSON文件中也是一种选择。

  1. 将API密钥存储在配置文件或JSON文件中。
  2. 在代码中读取配置文件或JSON文件来获得API密钥。

V. 如何获得OpenAI API密钥

A. 在OpenAI平台上创建账号

要获得OpenAI API密钥,您需要在OpenAI平台上创建一个账号。

B. 登录账号并进入API Keys页面

登录您的账号后,进入API Keys页面。

C. 在API Keys页面中获得API密钥

在API Keys页面中,您可以直接复制API密钥或从环境变量或密钥文件中读取。

  1. 直接复制API密钥。
  2. 从环境变量或密钥文件中获得API密钥。

总结

本文介绍了怎样设置OpenAI API密钥环境变量,并提供了Windows和Linux/Mac系统下的具体设置方法。同时,还探讨了密钥环境变量的作用和优势,和其他设置API密钥的方法。最后,还给出了获得OpenAI API密钥的步骤,并提供了多种获得密钥的方式。

通过正确设置API密钥环境变量,可以提高代码的安全性和灵活性,方便地使用和管理OpenAI API。

openai api key env的进一步展开说明

怎样使用环境变量、Azure Vault和Streamlit Secrets来保护Azure OpenAI密钥

摘要:

在当前快节奏的世界中,保护敏感数据和凭据相当重要。在使用Azure和OpenAI时,确保API密钥和其他凭据的安全存储是相当重要的。一种常见的方法是使用环境变量。但是,环境变量其实不总是最安全的选择,也存在更好的替换方案。

在本博客文章中,我们将探讨怎样使用环境变量、Azure Key Vault和Streamlit Secrets来保护Azure OpenAI密钥。我们还将介绍保护API密钥的最好实践,并提供示例,以帮助您在自己的项目中实行这些技术。

介绍:

Azure OpenAI是一个强大的平台,允许开发人员以范围构建和部署AI模型。但是,与任何平台一样,确保数据和凭据的安全非常重要。其中一种方式是使用环境变量存储API密钥。但是,环境变量可以被具有服务器访问权限的任何人访问,使其不太安全。

为解决这个问题,可使用Azure Key Vault来安全存储和管理API密钥。另外,环境变量允许您在代码以外存储敏感数据,Azure Vault提供了安全的密钥存储,而Streamlit Secrets则允许您在Streamlit利用程序中安全访问密钥。

安装:

在开始之前,您需要进行一些设置:

创建一个Azure账户并定阅Azure OpenAI。

在本地机器上安装Azure CLI。

安装Streamlit库。(pip install streamlit)

设置完成后:

挑战:

保护密钥的最大挑战之一是确保它们不会心外暴露。如果将它们硬编码到代码中或存储在不安全的位置,便可能产生这类情况。通过使用环境变量、Azure Vault和Streamlit Secrets,我们可以确保我们的密钥安全存储,并且只能被授权的用户访问。

以下是使用环境变量、Azure Vault和Streamlit Secrets保护Azure OpenAI密钥的步骤:

将Azure OpenAI密钥存储在环境变量中:

打开命令提示符或终端,输入以下命令:

export OPENAI_KEY=

这将将您的密钥存储在名为OPENAI_KEY的环境变量中。

最好实践:使用唯一且复杂的名称为您的环境变量,避免意外暴露。

创建Azure Key Vault:

登录Azure门户,创建一个新的Key Vault。

为Key Vault生成一个新的访问密钥。

2a> # 创建一个新的Key Vault实例

az keyvault create –name mykeyvault –resource-group myresourcegroup –location westus2

最好实践:使用诸如多因素身份验证之类的强身份验证方法来保护您的Azure账户。

2b> # 向Key Vault添加一个密钥

az keyvault secret set –name myapikey –vault-name mykeyvault –value

将Azure OpenAI密钥存储在Azure Key Vault中:

使用Azure CLI,输入以下命令:

az keyvault secret set –vault-name –name openai-key –value

这将您的Azure OpenAI密钥存储在Azure Key Vault中。

最好实践:使用基于角色的访问控制确保只有授权用户可以访问Key Vault。

在Streamlit利用程序中使用Streamlit Secrets访问Azure OpenAI密钥:

在您的Streamlit利用程序中,导入Streamlit Secrets库。

使用Azure CLI从Key Vault中检索您的Azure OpenAI密钥:

az keyvault secret show –vault-name –name openai-key –query value -o tsv

使用Streamlit Secrets安全访问您的密钥:

st.secrets[‘openai-key’]

示例1:

接下来,让我们创建一个Streamlit利用程序,使用Azure SDK从Key Vault检索我们的API密钥:

import os

from azure.identity import DefaultAzureCredential

from azure.keyvault.secrets import SecretClient

# 设置Key Vault客户端

credential = DefaultAzureCredential()

client = SecretClient(vault_url=os.environ[“AZURE_KEYVAULT_URL”], credential=credential)

# 从Key Vault中检索API密钥

在此示例中,Azure OpenAI密钥从Streamlit secret中加载,并用于向Azure OpenAI API发送要求。密钥不会在代码中暴露,使其更安全。

api_key = client.get_secret(“myapikey”).value

示例2:使用Streamlit Secrets保护您的Azure OpenAI密钥:

import streamlit as st

import os

# 从Streamlit secret中加载Azure OpenAI密钥

key = st.secrets[“azure_openai_key”]

# 使用该密钥向Azure OpenAI API发送要求

response = requests.get(“https://api.openai.com/v1/engines/davinci-codex/completions”, headers={“Authorization”: f”Bearer {key}”})

# 在利用程序中使用API密钥

最好实践:将您的Streamlit利用程序的范围限制在只有需要访问密钥的用户。

示例3:使用Streamlit “secrets”

这是使用Streamlit Secrets的最简单方法:

1.在您的代码所在的目录中创建一个名为“.streamlit”的文件夹。

2.在“.streamlit”文件夹下创建一个名为“secrets.toml”的文件。

3.在“secrets.toml”中指定密钥路径。

路径= ‘363e5eaaaaaabbbbbccccc’

流程以下:projectfolder.streamlit

当您在代码中调用密钥时,请使用以下代码:openai.api_key = st.secrets[‘path’]

确保添加其他凭据。将以下所示:

# 设置OpenAI API凭据

openai.api_type = “azure”

openai.api_base = ‘https://xxxxxx.openai.azure.com/’

openai.api_version = “2023-03⑴5-preview”

openai.api_key = st.secrets[‘path’]

示例4:使用环境变量

为了说明如何安全存储Azure OpenAI密钥,让我们斟酌一个使用GPT⑶语言模型生成文本的示例利用程序。首先,我们将API密钥存储为环境变量,可以通过将以下行添加到您的代码中来实现:

import os

os.environ[“OPENAI_API_KEY”] = “your_api_key_here”

虽然这是一个简单的解决方案,但不是最安全的,由于任何具有对您的代码访问权限的人都可以轻松查看您的API密钥。相反,我们可使用Azure Vault来安全地存储密钥,并在代码中以编程方式检索它。可以通过在Azure Vault中创建一个密钥,并使用Azure Key Vault库在代码中检索它来实现:

from azure.keyvault.secrets import SecretClient

from azure.identity import DefaultAzureCredential

credential = DefaultAzureCredential()

client = SecretClient(vault_url=”https://yourvaultname.vault.azure.net/”, credential=credential)

key = client.get_secret(“openai-api-key”)

os.environ[“OPENAI_API_KEY”] = key.value

整体最好实践:

为确保您的Azure OpenAI密钥的安全性和机密性,以下是一些最好实践:

永久不要将密钥硬编码到代码中或以纯文本文件存储。

使用安全的密钥管理解决方案,如Azure Key Vault或Streamlit Secrets来保护您的密钥。

定期更换您的密钥并撤消未使用的密钥。

使用Azure AD身份验证来控制对您的密钥的访问。

监控和审计密钥使用情况,以检测任何未经授权的访问。

结论:

保护Azure OpenAI密钥对避免未经授权的访问和滥用相当重要。通过使用Azure Key Vault和Streamlit Secrets,您可以安全地存储和使用密钥在您的利用程序中。请记住遵守密钥保护的最好实践,以确保您的利用程序的安全性。

参考资料:

Azure Key Vault文档:https://docs.microsoft.com/zh-cn/azure/key-vault/

openai api key env的常见问答Q&A

问题1:OpenAI API keys如何申请和测试?

答案:要申请和测试OpenAI API keys,您可以依照以下步骤进行操作:

  1. 访问https://platform.openai.com,如果您还没有账号,请先创建一个账号。
  2. 登录后,点击Personal(个人)并选择View API keys(查看API密钥)。
  3. 在API密钥页面,点击Create New Key(创建新密钥)。
  4. 生成的API密钥将显示在屏幕上,将其保存到安全的地方。
  5. 现在,您可使用这个API密钥进行OpenAI API的测试。

问题2:怎样设置OpenAI API key的环境变量?

答案:要设置OpenAI API key的环境变量,您可以依照以下步骤进行操作:

  1. 打开命令行终端。
  2. 运行以下命令,将您的API密钥添加为环境变量,将your_key替换为您自己的API密钥:
    • 对Windows系统:setx OPENAI_API_KEY “your_key”
    • 对Mac和Linux系统:export OPENAI_API_KEY=”your_key”
  3. 现在,您已成功设置OpenAI API key的环境变量。

问题3:OpenAI API提供了哪些参考文档?

答案:OpenAI API提供了以下参考文档(均为英文文档):

  1. API Reference(API参考文档):提供了OpenAI API的详细技术规范和使用说明。
  2. Best Practices for API Key Safety(API密钥安全最好实践):介绍了保护OpenAI API密钥安全的最好实践方法。
  3. openai-python/README.md at main(openai-python在主要分支的README.md):提供了使用Python语言访问OpenAI API的详细文档。
  4. 8 tips for securely using API keys(安全使用API密钥的8个提示):介绍了使用API密钥时的安全注意事项。
  5. How to Secure Azure OpenAI Keys Using Environment(怎样使用环境变量来保护Azure OpenAI密钥):介绍了怎样使用环境变量来保护Azure OpenAI密钥。

ChatGPT相关资讯

ChatGPT热门资讯

X

截屏,微信识别二维码

微信号:muhuanidc

(点击微信号复制,添加好友)

打开微信

微信号已复制,请打开微信添加咨询详情!