Azure Key Vault について説明する
Azure Key Vault は、シークレットを安全に保管し、それにアクセスするためのクラウド サービスです。 シークレットは、API キー、パスワード、証明書、暗号化キーなど、アクセスを厳密に制御する必要がある任意のものです。
Azure Key Vault は、次の問題の解決に役立ちます。
- シークレットの管理。 Key Vault を使用すると、トークン、パスワード、証明書、アプリケーション プログラミング インターフェイス (API) キー、その他のシークレットを安全に格納し、それらへのアクセスを厳密に制御できます。
- キー管理。 Key Vault をキー管理ソリューションとして使用できます。 Key Vault により、データの暗号化に使用される暗号化キーの作成と制御が簡単になります。
- 証明書管理。 Key Vault を使用すると、Azure および内部の接続されているリソースでの使用でパブリックおよびプライベートの Secure Sockets Layer/Transport Layer Security (SSL/TLS) 証明書をプロビジョニング、管理、デプロイすることができます。
Azure Key Vault には 2 つのサービス レベル: ソフトウェア キーを使用して暗号化する Standard レベルと、ハードウェア セキュリティ モジュール (HSM) で保護されたキーを含む Premium レベルがあります。
Key Vault を使用する理由
アプリケーション シークレットを一元化する。 Azure Key Vault 内でアプリケーション シークレットのストレージを一元管理することで、その配布を制御できます。また、シークレットが誤って漏洩する可能性が大幅に減ります。 Key Vault を使用すると、アプリケーション開発者は、アプリケーション内にコードの一部としてセキュリティ情報を格納する必要がなくなります。 代わりに、アプリケーションは、キー コンテナー内のオブジェクトを一意に識別する Key Vault オブジェクト識別子を使用して、必要な情報に安全にアクセスできます。 Key Vault オブジェクト識別子は、アプリケーションがシークレットの特定のバージョンを取得できるようにする URL です。 Key Vault に格納されているシークレット情報のいずれかを保護するためにカスタム コードを記述する必要はありません。
Standard レベルの Azure Key Vault オブジェクト識別子と Premium レベルのマネージド HSM の URL 形式の例を次に示します。
Standard レベルのコンテナーの場合: https://{vault-name}.vault.azure.net/{object-type}/{object-name}/{object-version}
マネージド HSM の場合: https://{hsm-name}.managedhsm.azure.net/{object-type}/{object-name}/{object-version}
秘密と鍵を安全に保管する。 キー コンテナーにアクセスする場合、呼び出し元 (ユーザーまたはアプリケーション) がアクセスする前に適切な認証と認可が必要になります。 認証では呼び出し元の ID を確立し、認可では呼び出し元が実行できる操作を決定します。
認証は、Microsoft Entra を介して行われます。 認可は、Azure ロールベースのアクセス制御 (Azure RBAC) または Key Vault のアクセス ポリシーを使用して行うことができます。
Azure Key Vault は、Microsoft によってお客様のデータが表示または抽出されないように設計されています。
アクセスおよび利用状況の監視。 いくつかの Key Vault を作成したら、コンテナーのログ記録を有効にすることで、アクティビティを監視できます。 ユーザーは、ログを管理できます。ユーザーは、アクセスを制限することによってログを保護することができ、不要になったログを削除することもできます。
簡単なアプリケーション シークレットの管理。 Azure Key Vault を使用すると、アプリケーション シークレットをセキュリティで保護するために通常必要となる管理が以下により簡略化されます。
- リージョン内およびセカンダリ リージョンに Key Vault の内容をレプリケートする。 データ レプリケーションによって高可用性が確保され、フェールオーバーをトリガーするための管理者の操作が不要になります。
- ポータル、Azure CLI、および PowerShell を使用した標準 Azure 管理オプションを提供する。
- 加入契約や更新など、パブリック CA (証明機関) から購入した証明書の特定のタスクを自動化します。
さらに、Azure Key Vault では、アプリケーション シークレットを分離することができます。 アプリケーションは、アクセスが許可されたコンテナーにのみアクセスし、特定の操作のみを実行するように制限されることがあります。 アプリケーションごとに Azure Key Vault を作成し、Key Vault に格納されているシークレットを特定のアプリケーションと開発者チームに制限することができます。