AzureCLIへの証明書インストール方法
Azureのテナント制御
Azureにテナント制御という仕組みがあります。詳細はリンクを参照してください。
https://blogs.technet.microsoft.com/office365-tech-japan/2017/02/06/tenant-restrictions/
これは、自社のAzureテナントのみサインイン可能とする仕組みをプロキシサーバとAzureADを利用して実現するのですが、その際にプロキシでSSLインターセプトする必要があります。
証明書インストールの必要性
このSSLインターセプトをする際に、接続元にプロキシの証明書をインストールする必要があります。ブラウザでAzureポータルにサインインする場合は、インターネットオプションやMMCから証明書をインストールすれば良いのですが、AzureCLIはこれとは別に証明書ストアを持っています。そのためAzureCLIの実体であるPythonに証明書をインストールする必要があります。
AzureCLIへの証明書インストール手順
証明書のエンコード形式
AzureCLIに証明書をインストールする場合は、Base64 エンコード形式を利用する必要があります。Base64 エンコード形式でない場合は以下の方法で変換可能です。
Base 64 エンコードへの変換手順
-
Windows 上で、証明書ファイルをダブルクリック
-
“詳細”タブにて、”ファイルにコピー”をクリック
-
証明書のエクスポートウィザードが起動するので、 ”Base 64 encoded X.509(.CER)(S)”を選択、ファイル名を指定して、エクスポートする
WindowsでのAzureCLIへの証明書インストール
Windowsの場合は、以下のコマンドを実行します
C:\temp
にCertificate_CA.cer
という名前の証明書を配置した場合のコマンド例です。
type "C:\temp\Certificate_CA.cer" >> "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\certifi\cacert.pem"
LinuxでのAzureCLIへの証明書インストール
Windowsの場合は、以下のコマンドを実行します
/tmp
にCertificate_CA.cer
という名前の証明書を配置した場合のコマンド例です。
cat /tmp/Certificate_CA.cer >> /usr/lib64/az/lib/python2.7/site-packages/websocket/cacert.pem