Azure CLI を使用して機密情報を管理する

Azure リソースを管理する場合、Azure CLI コマンドの出力によって、保護する必要がある機密情報が公開される場合があります。 たとえば、キー、パスワード、接続文字列は、Azure CLI コマンドで作成し、ターミナル ウィンドウに表示できます。 一部のコマンドの出力はログ ファイルにも格納できます。これは、GitHub アクションやその他の DevOps ランナーを操作する場合によくあることです。

この情報を保護することが重要です。 アクセス許可の少ない環境からパブリックに取得した場合、シークレットの公開によって重大な損害が発生し、会社の製品やサービスに対する信頼が失われる可能性があります。 機密情報を保護するために、Azure CLI では、いくつかの参照コマンドの出力でシークレットが検出され、シークレットが識別されたときに警告メッセージが表示されます。

シークレットの警告構成を設定する

Azure CLI 2.57 以降では、参照コマンドによって機密情報が出力されたときに警告メッセージを表示できます。

構成プロパティyesを設定して、機密情報の警告をclients.show_secrets_warningオンまたはnoオフにします。

az config set clients.show_secrets_warning=yes

考慮事項

警告メッセージの目的は、意図しないシークレットの公開を減らすることですが、これらのメッセージでは既存のスクリプトを変更する必要がある場合があります。

重要

新しい警告メッセージは、標準出力 (STDOUT) ではなく標準エラー (STDERR) に送信されます。 そのため、機密情報の出力が発生する Azure CLI コマンドを実行している場合は、警告メッセージをトラップするか、 を使用して clients.show_secrets_warning=no警告をオフにする必要があります。

たとえば、Azure DevOps Services パイプラインで、パラメーターが failOnStderr Bash v3 タスクに True 設定されている場合、警告メッセージはパイプラインを停止します。 メッセージを show_secrets_warning 有効にして、パイプラインでシークレットが公開されているかどうかを特定し、修復アクションを実行することを検討してください。

既定の動作

警告は、 Azure Cloud Shell で既定で有効になっています 。 サポートされているシェル (PowerShell や zsh など) を使用して Azure CLI をローカルで実行する場合、警告は 既定で無効になります

関連項目