利用Azure Automation实现云端自动化运维(3)

Azure automation的认证方式:证书

该种方式是推荐的进行Automation认证的方式,好处在于安全性高,过期时间由自己控制,不好的地方在于大家在Windows上要生成证书比较麻烦,而且必须上传到Azure management和Automation,

Automation需要两个文件:.pfx证书用于用户自动化端连接Azure,.cer文件,Azure管理端证书文件,这两个文件必须互相匹配。

对于创建证书,个人比较推荐的办法,或者我喜欢用的方法,就是利用开源的openssl工具,几个命令快速搞定,我在我的本机安装的是Ubuntu on windows,非常方便,大家感兴趣可以参考:

http://cloudapps.blog.51cto.com/3136598/1761954

基于Linux的Openssl生成证书:

  1. 一般的Linux上都自带了OpenSSL,如果没有需要安装一下,当然你用Windows的也可以,首先第一步,生成服务器端的X509文件和key,记住在此处生成的密码

    $ openssl req -x509 -days 365 -newkey rsa:1024 -keyout server-key.pem -out server-cert.pem

  1. 然后通过pem文件,key,利用openssl生成Azure automation需要的pfx文件:

    $ openssl pkcs12 -export -in server-cert.pem -inkey server-key.pem -out mycert.pfx

  2. 最后,通过pem文件生成Azure服务器管理端需要的x.509的cer文件:

    $ openssl x509 -inform pem -in server-cert.pem -outform der -out mycert.cer

使用Windows的makecert生成证书

你也可以使用Windows的makecert工具生成Azure需要的cer和pfx文件。

  1. 首先下载Windows SDK for Windows 10或者windows 8:

    https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk

    https://developer.microsoft.com/en-us/windows/downloads/windows-8-sdk

  2. 安装完成后在program Files下的Windows kits下可以看到makecert命令行,使用makecert生成cer文件:

    makecert.exe -sky exchange -r -n "CN=AzureAutomation" -pe -a sha1 -len 2048 -ss My "AzureAutomation.cer"

  1. 生成cer文件以后,我们可以使用Powershell生成pfx文件,请用管理员权限打开Powershell:

    #myautomation是pfx的密码,在导入到Azure Automation时需要使用

    $MyPwd = ConvertTo-SecureString -String "myautomation" -Force –AsPlainText

    # "AzureAutomation"是certificate的名字,在第一步生成的

    $AzureCert = Get-ChildItem -Path Cert:\CurrentUser\My | where {$_.Subject -match "AzureAutomation"}

    #导出生成pfx文件

    Export-PfxCertificate -FilePath C:\AzureAutomation.pfx -Password $MyPwd -Cert $AzureCert

使用证书

无论你是使用Linux还是Windows生成证书,必须确保你有一个X509的cer证书和一个带密码的pfx证书,前者用于上传到management证书,pfx上传给runbook的资产作为授权凭证。

  1. 上传cer文件到Azure的管理证书,登陆Azure的portal,选择设置,管理证书,然后再下方选择"上载",选择你在上述步骤中生成的.cer并选择确定:

  2. 打开自动化管理账号,选择资产,并在下方菜单中选择添加设置:

  3. 在添加类型中选择添加凭据,在凭据类型中选择证书,

  1. 选择在上述步骤中生成的pfx文件,输入密码,然后确定,完成上传:

在后续章节中介绍如何使用凭证进行验证使用。

时间: 2024-11-05 20:38:55

利用Azure Automation实现云端自动化运维(3)的相关文章

利用Azure Automation实现云端自动化运维(1)

Azure Automation是Azure上的一个自动化工作流引擎,基于Powershell,来帮助用户简化,集成和自动化Azure上的运维工作,例如: 实现定时开关虚拟机,节约成本 实现定时创建删除HDInsight cluster执行大数据计算任务 定时备份虚拟机上的数据库 定时归档或者删除无用的日志文件 自动化部署或者更新应用 等等 微软实际上有3个基于runbook的工作流引擎,用来完成不同的自动化工作: Azure automation用来自动化云端Azure环境中的各项任务,也是基

利用Azure Automation实现云端自动化运维(4)

在上述基本准备工作做完后,wo们看看如何实现利用Azure Automation实现定时自动开关机的操作,这种场景非常适合Dev/Test环境,因为Azure的虚拟机是按照分钟收费的,所以我们可以在开发测试人员上班的时候打开虚拟机,而在下班,周末的时候关闭虚拟机,从而节约成本,从另外一个层面来讲,也是体现云的灵活性. 首先讲一下设计的基本原则,如何做能让你的自动化脚本更灵活,更具有可移植性: 参数化:尽量不要在脚本中写死任何变量,负责除了修改代码,别无他法,而且可维护性会变的很差 合理使用资产:

利用Azure Automation实现云端自动化运维(2)

Azure automation的认证: 用户名和密码 在Azure的automation中使用Powershell可以管理当前订阅的资源,也可以管理不同订阅的资源,那么问题就来了,安全性如何保障呢?Azure的自动化和其他使用或者管理Azure的客户端一样,对任何需要管理的Azure,都需要认证,最基本的有两种认证方式,一种是基于订阅的用户名密码的,一种是基于证书的,本节介绍基于用户名密码. 不建议直接在automation中使用当前管理生产订阅的账号的OrgID和密码,建议单独为automa

手游公司运维之利用Rundeck自动化运维工具和Shell脚本构建测试环境代码发布平台和生产环境代码发布平台

在做手游运维工作之前,我接触的代码发布都是常规的软件发布,有固定的发布周期.之前工作的那个外企有严格的发布周期,一年中的所有发布计划都是由Release Manager来控制,每次发布之前都需要做一些准备工作,如填写发布表单,上传发布需要的资源文件,联系发布过程中的相关人员,如开发和测试.最后在公司内部开发的发布平台上按照指定的时间点击鼠标对一个集群内的几台主机或全部主机进行代码发布.这个发布平台还是基于rsync服务实现的.虽然每个星期都有各种服务的发布,但是整个发布流程是可以控制的,并且发布

IPhone手机利用Siri自动化运维思路

前言 最近研究智能家居与Siri结合,突发奇想:运维是否也可以通过Siri去下指令? 那答案当然是肯定,简单测试一番,大概是这样的画风: 对着Siri说相对应的执行对象与方法,脚本执行后,返回结果,Siri读出执行返回结果. 思路 使用Apple快捷指令做脚本逻辑. 脚本执行触发现有运维平台,平台根据内容去做运维处理操作. 实现 打开快捷指令 编辑流程 听写文本 语言 中文停止聆听 较短暂暂停之后 获取变量 变量 听写的文本 文本 输入运维平台API 获取URL内容 方法POSTPOST内容使用

新书《Linux集群和自动化运维》目录

推荐序一 在全球"互联网+"的大背景下,互联网创业企业的数量如雨后春笋般大量产生并得到了快速发展!对"互联网+"最有力的支撑就是Linux运维架构师.云计算和大数据工程师,以及自动化开发工程师等! 但是,随着计算机技术的发展,企业对Linux运维人员的能力要求越来越高,这就使得很多想入门运维的新手不知所措,望而却步,甚至努力了很久却仍然徘徊在运维岗位的边缘:而有些已经工作了的运维人员也往往是疲于奔命,没有时间和精力去学习企业所需的新知识和新技能,从而使得个人的职业发

简单聊一聊Ansible自动化运维

一.Ansible概述 Ansible是今年来越来越火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少人为失误.Ansible通过本身集成的非常丰富的模块可以实现各种管理任务,其自带模块超过上千个.更为重要的是,它操作非常简单,即使小白也可以轻松上手,但它提供的功能又非常丰富,在运维领域,几乎可以做任何事. 1.Ansible特点 Ansible自2012年发布以来,很快在全球流行,其特点如下: Ansible基于Python开发,运维工程师对其二次

自动化运维工具之ansible

ansible ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架. 主要包括: (1).连接插件connection plugins:负责和被监控端实现通信: (2).host inventory:指定

ansible自动化运维必备工具详解

第2章 ansible简单介绍: 2.1 ansible是什么? ansible是新出现的 自动化 运维工具 , 基于Python研发 . 糅合了众多老牌运维工具的优点实现了批量操作系统配置.批量程序的部署.批量运行命令等功能. 仅需在管理工作站上安装 ansible 程序配置被管控主机的 IP 信息,被管控的主机无客户端. ansible 应用程序存在于 epel( 第三方社区 ) 源,依赖于很多 python 组件 python语言是运维人员必会的语言!ansible是一个基于Python开