AWS CLI は、任意のターミナル プログラムを介して AWS サービスとやり取りできるツールです。
しかし、Netskope Clientを有効にした状態でCLI経由でAWSサービスにアクセスすると、次のようなエラーが発生します。
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)
この記事では、このエラーを解消し、Netskope Clientを有効にした状態でAWS CLIツールを介してAWSサービスにアクセスするために必要な手順について説明します。
根本的な原因
ユーザーは通常、AWSを設定します 以下のようにコマンドを実行します。
aws configure
次に、クレデンシャルへのアクセスに関する詳細と地域情報を入力するよう求められます。
この情報を提供すると、期待される出力はAWSインスタンスへの接続が確立されることです。しかし、この設定はうまくいかない。
ユーザーが事前に設定済みのAWS CLIを使用している状態で、 Netskope Client後からインストールした場合にも、エラーが発生する可能性があります。
これらのシナリオでは、ユーザーはコマンド実行時に次のエラーメッセージを受け取ります。
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)
どちらも証明書のエラーが原因です。Netskope Client有効になっている場合、AWSインスタンスに提示される証明書はNetskope Client証明書です。 これはAWS側で想定されている証明書ではないため、認証が完了せず、初期化が失敗します。
AWS CLI は、プライベート証明書ストアに保存されている認証局 (CA) が発行したサーバー証明書のみを信頼します。それはNetskope Client証明書のエントリを持つシステム証明書ストア。
解決
Netskope Client証明書をAWS CLI証明書ストアに登録しておくことで、ツールがNetskopeと連携できるようになります。
AmazonはAWS CLIのバージョン2をリリースしました。
インストールされている AWS CLI のバージョンに応じて、特定のソリューションを使用します。
AWS CLI バージョン 1
AWS CLIツールをインストールするデバイスに応じて、サポートポータルからスクリプトをダウンロードできます。
Windowsユーザーはns_certbundle_aws_cli_v1.batスクリプトが必要で、Macユーザーはns_certbundle_aws_cli_v1.shスクリプトが必要です。この KB記事
をご覧ください これらのスクリプトファイルは、弊社のサポートサイトから入手できます。
スクリプトをダウンロードしたら、以下の手順に従ってください。
-
スクリプトをユーザーの
aws configフォルダにコピーしてください。 -
Windowsの場合:
C:\Users\<<user>>\.aws(<<user>>をWindowsユーザー名に置き換えてください)。 -
Mac OSの場合:
~/.aws -
netskope-cert-bundle.pemを作成するスクリプトを実行します。 -
その他の設定が既に完了していると仮定して、このコマンドを実行して、証明書バンドルを aws config に設定します。必要に応じて、WindowsとMacの証明書バンドルのパスを変更してください。
aws configure set default.ca_bundle <path_to-cert_bundle>
aws config: の環境変数でcertバンドルを設定する環境変数を使うことができます。export AWS_CA_BUNDLE="~/.aws/nskp_config/netskope-cert-bundle.pem"SSL証明書を検証するためにCA証明書バンドルを指定する方法は複数あります。 証明書バンドルの設定の詳細については、「 Configuration and クレデンシャル File Settings 」を参照してください。 それはユーザーの好みに左右される。Windowsユーザーは.batを実行する必要がありますファイルではなく、.sh ファイルではないファイル。
-
(Windows版)
C:\Users\<<user>>\.aws\netskope-cert-bundle.pem -
(Macの場合)
~/.aws/netskope-cert-bundle.pemこれらの証明書が設定されると、AWS CLI はすべての AWS サービスにアクセスできるようになります。
AWS CLI バージョン 2
AWS CLIツールをインストールするデバイスに応じて、サポートポータルからスクリプトをダウンロードできます。
Windowsユーザーはns_certbundle_aws_cli_v2.batスクリプトが必要で、Macユーザーはns_certbundle_aws_cli_v2.shスクリプトが必要です。この KB記事
をご覧ください これらのスクリプトファイルは、弊社のサポートサイトから入手できます。
スクリプトをダウンロードしたら、以下の手順に従ってください。
For Windows:
-
スクリプトと生成された証明書バンドルを格納するための設定フォルダを作成します。
mkdir C:\Program Files\Amazon\AWSCLIV2\nskp_config
-
上記で作成したconfigフォルダにスクリプトをコピーしてください。
-
netskope-cert-bundle.pemを作成するスクリプトを実行します。 -
残りの設定が既に完了していると仮定して、このコマンドを実行して証明書バンドルを
aws configに設定します。aws configure set default.ca_bundle “C:\Program Files\Amazon\AWSCLIV2\nskp_config\netskope-cert-bundle.pem”
代わりに、aws config: の環境変数でcertバンドルを設定する環境変数を使うことができます。export AWS_CA_BUNDLE="~/.aws/nskp_config/netskope-cert-bundle.pem"
SSL証明書を検証するためにCA証明書バンドルを指定する方法は複数あります。 証明書バンドルの設定の詳細については、「 Configuration and クレデンシャル File Settings 」を参照してください。 それはユーザーの好みに左右される。Windowsユーザーは.batを実行する必要がありますファイルではなく、.sh ファイルではないファイル。
For Mac OS:
AWS CLI V2では、すべてのユーザーに対してグローバルにインストールするか、現在のユーザーに対してインストールするかを選択できます。選択したオプションによって、インストールが行われるパスが異なります。
/usr/local/aws-cli-
.aws ディレクトリ内に nskp_config フォルダを作成します。証明書バンドルを格納するディレクトリ。
mkdir ~/.aws/nskp_config
-
ダウンロードしたスクリプト「ns_certbundle_aws_cli_v2.sh」をconfigフォルダに移動してください。
mv ~/Downloads/ns_certbundle_aws_cli_v2.sh ~/.aws/nskp_config
-
スクリプトを実行します
-
AWS CLI v2がすべてのユーザー向けにグローバルにインストールされている場合は、以下のスクリプトを実行するだけで済みます。
./ns_certbundle_aws_cli_v2.sh
-
現在のユーザーに対してAWS CLI v2がインストールされている場合は、AWS CLIがインストールされているパスを指定してください。これは、AWS CLI のインストール時(XML ファイル内)に指定されているパスと同じです。
./ns_certbundle_aws_cli_v2.sh -p <aws_cli_install_path>
-
-
その他の設定が既に完了していると仮定して、このコマンドを実行して、証明書バンドルを aws config に設定します。証明書バンドルのパスを変更します。
aws configure set default.ca_bundle ~/.aws/nskp_config/netskope-cert-bundle.pem
代わりに、aws config: の環境変数でcertバンドルを設定する環境変数を使うことができます。export AWS_CA_BUNDLE="~/.aws/nskp_config/netskope-cert-bundle.pem"
SSL証明書を検証するためにCA証明書バンドルを指定する方法は複数あります。 証明書バンドルの設定の詳細については、「 Configuration and クレデンシャル File Settings 」を参照してください。 それはユーザーの好みに左右される。Windowsユーザーは.batを実行する必要がありますファイルではなく、.sh ファイルではないファイル。
For Linux
Linuxでも同様のSSL証明書エラーを解決できます。これらの手順は、AWS CLI V2を搭載したUbuntu 22および24で検証済みです。
- スクリプトに必要なので、インストールされているAWS CLIのバージョンを確認してください。
aws --version - サポートポータルから
ns_certbundle_aws_cli_v2_linux.shをダウンロードし、システム上の任意の場所(例えば、デスクトップ)に保存してください。 - スクリプトを開き、AWS CLI のバージョン変数を手順 1 のバージョンと一致するように更新します
これが一致しない場合、スクリプトは正しいパスを見つけることができません。 - 証明書バンドルを格納するフォルダを作成します。
mkdir ~/.aws/nskp_config - スクリプトをそのフォルダに移動してください。
mv ~/Desktop/ns_certbundle_aws_cli_v2_linux.sh ~/.aws/nskp_config - スクリプトを実行可能にする:
chmod +x ~/.aws/nskp_config/ns_certbundle_aws_cli_v2_linux.sh - スクリプトを実行して
netskope-cert-bundle.pem:
~/.aws/nskp_config/ns_certbundle_aws_cli_v2_linux.shを生成します - AWSのCLIを新しい証明書バンドルに向けてください:
aws configure set default.ca_bundle ~/.aws/nskp_config/netskope-cert-bundle.pem
あるいは環境変数で設定する方法もあります:export AWS_CA_BUNDLE="~/.aws/nskp_config/netskope-cert-bundle.pem"
どちらの方法でもうまくいきます — 使う、あなたの環境に合う方を選びましょう。 証明書バンドルの設定については、AWSの 設定およびクレデンシャルファイル設定 をご覧ください。 - Netskope Clientが有効のまま、証明書エラーが消えたことを確認するためにAWS CLIコマンドを実行してください。

