上一篇文章介绍了如何通过添加用户名和密码的方式实现自动化部署服务中与Azure Subscription的连接。

本文将介绍如何使用证书的方式实现Azure Automation与Azure的Subscription的连接方式。

一. 创建证书

通过openssl创建Private Key、Certification和pfx文件:

a. 创建Private Key

openssl genrsa -out hwazure.key

b. 根据Private Key生成crt证书

openssl req -new -x509 -key hwazure.key -out hwazure.crt

c. 通过Private Key和crt文件生成pfx文件

openssl pkcs12 -export -out hwazure.pfx -inkey hwazure.key -in hwazure.crt

二、上传httpd.crt到Azure

在Azure的管理界面中选择"设置",选择"证书管理"。在证书管理中选择"上传":

选择httpd.cer文件:

上传后:

  1. 创建、配置Automation
  1. 创建Automation的账户

点击Automation

  1. 添加资产

点击"资产":

  1. 添加连接

这里需要添加证书名称和Subscription ID两个参数:

选择"证书",名称填写证书的名称:

选择pfx的文件,并输入其密码:

两个添加的参数如下:

  1. 创建、编辑Runbook

在新建中创建Runbook:

创建Runbook后,对Runbook进行编辑:

具体的脚本如下:

workflow hwrunbook

{

$AzureconnName = 'hwazure'

$Azureconnection = get-automationconnection -name $AzureconnName

write-output $AzureConnection.AutomationCertificateName

$Certificate = Get-AutomationCertificate -Name $AzureConnection.AutomationCertificateName

write-output $Certificate

write-output $AzureconnName

set-azuresubscription -SubscriptionName $AzureconnName -subscriptionid $Azureconnection.SubscriptionID -Certificate $Certificate -environment AzureChinaCloud

select-azuresubscription -Default -subscriptionid $Azureconnection.SubscriptionID

$vm = get-azurevm

write-output $vm

}

  1. 总结

Azure的Automation有两种方式对Azure的Subscription进行管理,用户名、密码的方式和证书的方式。

由于用户名、密码的方式根据password policy要经常进行更新,所以建议采用证书的方式在Automation中进行管理。

Azure自动化部署服务 (2)的更多相关文章

  1. Azure自动化部署服务 (1)

    Azure中已经发布了自动化部署服务的PaaS功能. 本文将介绍自动化服务Automation初始化过程. 在Azure Management Portal上左边可以看到Azure的各种服务,其中一项 ...

  2. shell脚本自动化部署服务

    shell脚本自动化部署 !/bin/bash #export PATH=$PATH:/export/maven/bin run_flag_dir="/data0/shell/deploy_ ...

  3. Kickstart + http Linux自动化部署服务端

    设备需要开启Network Boot功能.具体PXE技术就另外提,本文主要讲解配置. 在搭建该服务器之前需要关闭SELinux和iptables不然可能dhcp服务都起不来,客户端收不到IP地址,无法 ...

  4. 通过 Azure Pipelines 实现持续集成之docker容器化及自动化部署

    通过 Azure Pipelines 实现持续集成之docker容器化及自动化部署 Intro Azure DevOps Pipeline 现在对于公开的项目完全免费,这对于开源项目来讲无疑是个巨大的 ...

  5. kubernetes+Azure DevOps实现.Net Core项目的自动化部署&均衡负载

    1. 前言 2. Net Core项目本身的准备 2.1 dockerfile 2.2 创建kubernetes用于helm的chart包 2.2.1 说明 2.2.2 chart文件目录和文件组成 ...

  6. Azure Terraform(九)GitHub Actions 实现 Infra 资源的自动化部署

    思路浅析 使用 Terraform Code 部署 Azure 基础设施资源是特别受欢迎的,我曾经有写文章分享过利用 Azure DevOps 自动部署 Terraform Code 所描述的 Azu ...

  7. 为 Azure IoT Edge 设备部署 Azure Stream Analytics 服务

    在前面的两篇文章<Azure IoT Edge on Windows 10 IoT Core>和<Azure IoT Edge on Raspberry Pi 3 with Rasp ...

  8. Linux 自动化部署Rsyslog服务

    Linux 自动化部署Rsyslog服务 源码如下: #/bin/bash #该脚本用于自动化部署Ryslog服务配置 #作者:雨中落叶 #博客:https://www.cnblogs.com/yuz ...

  9. 品尝阿里云容器服务:初步尝试ASP.NET Core Web API站点的Docker自动化部署

    部署场景是这样的,我们基于 ASP.NET Core 2.0 Preview 1 开发了一个用于管理缓存的 Web API ,想通过阿里云容器服务基于 Docker 部署为内网服务. 在这篇博文中分享 ...

随机推荐

  1. python爬虫之Selenium

    Selenium的使用 #!/usr/bin/env python # -*- coding:utf-8 -*- """ Selenium是一个第三方模块,可以完全模拟用 ...

  2. Django之CURD插件

    什么是CURD? CURD顾名思义就是create,update,rearch,delete(所谓的增删改查). 当我们接到一个项目的时候,夸夸夸的就写完表结构,然后就一直写增删改查,增删改查,写了一 ...

  3. git clone了整个远程仓库分支

    git之远程标签下载(远程分支) 一般我们发布一个新版本到线上服务器时都会在版本库中打一个标签,这样我们可以随时查看这个打标签的版本,就是说标签其实是版本库中一个快照.git的标签与分支类似,区别是分 ...

  4. JQuery日记 5.11 Sizzle选择器(五)

    //设置当前document和document相应的变量和方法 setDocument = Sizzle.setDocument = function( node ) { var hasCompare ...

  5. mysql设置指定ip远程访问连接的方法

    本文实例讲述了mysql设置指定ip远程访问连接的方法,分享给大家供大家参考.具体实现方法如下: 1. 授权用户root使用密码jb51从任意主机连接到mysql服务器: 复制代码 代码如下: GRA ...

  6. js hoisting

    1.变量提升 var x = 2; function test(){ console.log(x) var x = 1; } ==>运行程序报错,在test()函数中,x被提升到了顶部声明,相当 ...

  7. Python日期和时间

    日期和时间主要有两个库,datetime和time. datetime: 日期:datetime.date.today() 日期和时间:datetime.datetime.now() 1000天之后: ...

  8. python 统计单词出现次数

    #use python3.6 import re from collections import Counter FILESOURCE = './abc.txt' def getMostCommonW ...

  9. python基础5 ---python文件处理

    python文件处理 一.文件处理的流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 二.文件的操作方法 1.文件打开模式格式: 文件句柄 = open('文件路径', ...

  10. log4j2.xml的例子

    项目中用到的一个log4j2.xml的配置文件: <?xml version="1.0" encoding="UTF-8"?> <!--设置l ...