通过secret_id和role_id连接Vault

news/2024/11/1 3:10:58/

怎么生成secret_id 和role_id 通过这篇文章可以找到:

Jenkins pipeline 怎么连接Vault_jenkinsfile withvault-CSDN博客

当你拥有了secret_id 和role_id,你就可以通过以下代码来进行连接:

VaultLoginByApprole(){role_id=$1secret_id=$2export VAULT_ADDR=your vault addrexport VAULT_NAMESPACE=your namesapceexport VAULT_TOKEN="$(vault write -ns '$ns' -field=token auth/approle/login role_id="$role_id" secret_id="$secret_id")"}

Python实现

import subprocess
import osdef VaultLoginByApprole(role_id, secret_id):# Set environment variablesos.environ['VAULT_ADDR'] = 'your vault addr'os.environ['VAULT_NAMESPACE'] = 'your namespace'# Run the vault write command and get the tokencommand = f"vault write -ns {os.environ['VAULT_NAMESPACE']} -field=token auth/approle/login role_id={role_id} secret_id={secret_id}"output = subprocess.run(command.split(), capture_output=True, text=True)token = output.stdout.strip()# Set the VAULT_TOKEN environment variableos.environ['VAULT_TOKEN'] = token
import os
import hvacdef VaultLoginByApprole(role_id, secret_id):# Set environment variablesos.environ['VAULT_ADDR'] = 'your_vault_addr'os.environ['VAULT_NAMESPACE'] = 'your_namespace'# Create a Vault clientclient = hvac.Client()# Login using AppRoleresponse = client.auth_approle(role_id, secret_id)# Extract the token from the responsetoken = response['auth']['client_token']# Set the VAULT_TOKEN environment variableos.environ['VAULT_TOKEN'] = token


http://www.ppmy.cn/news/1543470.html

相关文章

C语言数据结构学习:单链表

C语言数据结构学习: 汇总入口:C语言数据结构学习:[汇总] 单链表 1. 基础了解 学习之前先了解线性表、顺序表和链表 线性表的两个特点: 有限的序列序列中的每一个元素都有唯一的前驱和后继,除了开头和结尾两个节点 …

「Mac畅玩鸿蒙与硬件8」鸿蒙开发环境配置篇8 - 应用依赖与资源管理

本篇将介绍如何在 HarmonyOS 项目中高效管理资源文件和依赖,以确保代码结构清晰并提升应用性能。资源管理涉及图片、字符串、多语言文件等,通过优化文件加载和依赖管理,可以显著提升项目的加载速度和运行效率。 关键词 资源管理应用依赖优化…

【格言分享】程序员的经典名言解读

上一期文章我们分享了一些程序员的经典名言,每一句都蕴含着深刻的道理。 接下来就给大家一个一个分析一下 这些格言确实捕捉到了编程和软件开发的精髓,每一条都蕴含着丰富的经验和智慧。下面我将逐一解释这些格言,并分享一些我的看法。 C程序员永远不会灭亡。他们只是cast…

day03-LogStash

LogStash环境搭建 1.下载Logstash [10:17:18 rootelk2:/usr/local]#wget http://192.168.13.253/Resources/ElasticStack/softwares/logstash-7.17.23-amd64.deb2.安装Logstash [10:17:35 rootelk2:/usr/local]#dpkg -i logstash-7.17.23-amd64.deb 3.创建软连接&#xff0…

python psutil 模块概述

文章目录 psutil 模块概述支持的系统安装 psutil 使用示例CPU 信息获取内存信息获取磁盘信息获取网络信息获取 进程管理功能查看系统进程获取进程详情示例脚本:监控系统资源 总结核心功能使用场景主要优点 psutil 模块概述 psutil 是一个强大的跨平台 Python 库&am…

无人机之集群控制方法篇

无人机的集群控制方法涉及多个技术和策略,以确保多架无人机能够协同、高效地执行任务。以下是一些主要的无人机集群控制方法: 一、编队控制方法 领航-跟随法(Leader-Follower) 通过设定一架无人机作为领航者(长机&am…

java.sql.SQLException: ORA-00971: 缺失 SET 关键字

目录 背景: 过程: 错误原因: 解决办法: 总结: 背景: 正在运行某个项目程序,提交信息之后发现库中并没有刚刚的相关数据,后来查看后台信息,发现提示错误,java.sql.SQLException…

ReactNative 启动应用(2)

ReactNative 启动应用 简述 本节我们来看一下ReactNative在Android上启动Activity的流程,ReactNative在Android上也是一个Apk,它的实现全部都在应用层,所以它肯定也是符合我们Android应用的启动流程的,UI页面的载体也是一个Acti…