Azure Key Vault とはWhat is Azure Key Vault?

Azure Key Vault は、次の問題の解決に役立ちます。Azure Key Vault helps solve the following problems:

  • シークレットの管理 - Azure Key Vault を使用すると、トークン、パスワード、証明書、API キー、その他のシークレットを安全に格納し、それらへのアクセスを厳密に制御できます。Secrets Management - Azure Key Vault can be used to Securely store and tightly control access to tokens, passwords, certificates, API keys, and other secrets
  • キー管理 - Azure Key Vault は、キー管理ソリューションとしても使用できます。Key Management - Azure Key Vault can also be used as a Key Management solution. Azure Key Vault により、データの暗号化に使用される暗号化キーの作成と制御が簡単になります。Azure Key Vault makes it easy to create and control the encryption keys used to encrypt your data.
  • 証明書の管理 - Azure Key Vault は、Azure および内部の接続されているリソースで使用するためのパブリックおよびプライベートの Secure Sockets Layer/Transport Layer Security (SSL/TLS) 証明書を簡単にプロビジョニング、管理、デプロイすることができるサービスでもあります。Certificate Management - Azure Key Vault is also a service that lets you easily provision, manage, and deploy public and private Secure Sockets Layer/Transport Layer Security (SSL/TLS) certificates for use with Azure and your internal connected resources.
  • ハードウェア セキュリティ モジュールに基づくシークレットの格納 - シークレットとキーは、ソフトウェアまたは FIPS 140-2 レベル 2 検証済み HSM で保護できます。Store secrets backed by Hardware Security Modules - The secrets and keys can be protected either by software or FIPS 140-2 Level 2 validates HSMs

Azure Key Vault を使用する理由Why use Azure Key Vault?

アプリケーション シークレットの一元化Centralize application secrets

アプリケーション シークレットのストレージを Azure Key Vault に一元化することで、その配布を制御できます。Centralizing storage of application secrets in Azure Key Vault allows you to control their distribution. Key Vault によって、シークレットが誤って漏洩する可能性が大幅に小さくなります。Key Vault greatly reduces the chances that secrets may be accidentally leaked. Key Vault を使用すると、アプリケーション開発者は、アプリケーションにセキュリティ情報を格納する必要がなくなります。When using Key Vault, application developers no longer need to store security information in their application. アプリケーションにセキュリティ情報を格納する必要がなくなると、コードのこの情報部分を作成する必要がなくなります。Not having to store security information in applications eliminates the need to make this information part of the code. たとえば、必要に応じてデータベースに接続するアプリケーションがあるとします。For example, an application may need to connect to a database. この場合、接続文字列をアプリのコードに格納する代わりに、Key Vault に安全に格納できます。Instead of storing the connection string in the app's code, you can store it securely in Key Vault.

アプリケーションでは、URI を使用して、必要な情報に安全にアクセスできます。Your applications can securely access the information they need by using URIs. アプリケーションでは、これらの URI を使用して特定のバージョンのシークレットを取得できます。These URIs allow the applications to retrieve specific versions of a secret. Key Vault に格納されているシークレット情報のいずれかを保護するためにカスタム コードを記述する必要はありません。There is no need to write custom code to protect any of the secret information stored in Key Vault.

シークレットとキーを安全に保存Securely store secrets and keys

シークレットとキーは、業界標準のアルゴリズム、キーの長さ、ハードウェア セキュリティ モジュール (HSM) を使用して、Azure によってセキュリティで保護されています。Secrets and keys are safeguarded by Azure, using industry-standard algorithms, key lengths, and hardware security modules (HSMs). 使用される HSM では、Federal Information Processing Standards (FIPS) 140-2 Level 2 が検証されています。The HSMs used are Federal Information Processing Standards (FIPS) 140-2 Level 2 validated.

キー コンテナーにアクセスする場合、呼び出し元 (ユーザーまたはアプリケーション) がアクセスする前に適切な認証と認可が必要になります。Access to a key vault requires proper authentication and authorization before a caller (user or application) can get access. 認証では呼び出し元の ID を確認し、認可では呼び出し元が実行できる操作を決定します。Authentication establishes the identity of the caller, while authorization determines the operations that they are allowed to perform.

認証は Azure Active Directory を介して行われます。Authentication is done via Azure Active Directory. 認可は、ロールベースのアクセス制御 (RBAC) または Key Vault のアクセス ポリシーを使用して行うことができます。Authorization may be done via role-based access control (RBAC) or Key Vault access policy. RBAC は、コンテナーを管理するときに使用されます。キー コンテナーのアクセス ポリシーは、コンテナーに格納されているデータにアクセスするときに使用されます。RBAC is used when dealing with the management of the vaults and key vault access policy is used when attempting to access data stored in a vault.

Azure Key Vault は、ソフトウェアまたはハードウェアの HSM で保護されます。Azure Key Vaults may be either software- or hardware-HSM protected. さらに追加の保証が必要な状況では、ハードウェア セキュリティ モジュール (HSM) 内でキーのインポートや生成を行うことができ、キーは HSM の境界内から出ることはありません。For situations where you require added assurance you can import or generate keys in hardware security modules (HSMs) that never leave the HSM boundary. Microsoft は nCipher ハードウェア セキュリティ モジュールを使用しています。Microsoft uses nCipher hardware security modules. nCipher ツールを使用して、キーを HSM から Azure Key Vault に移動できます。You can use nCipher tools to move a key from your HSM to Azure Key Vault.

最後に、Azure Key Vault は、Microsoft がデータを確認および抽出しないように設計されています。Finally, Azure Key Vault is designed so that Microsoft does not see or extract your data.

アクセスおよび利用状況の監視Monitor access and use

キー コンテナーをいくつか作成したら、キーとシークレットにアクセスする方法とタイミングを監視することをお勧めします。Once you have created a couple of Key Vaults, you will want to monitor how and when your keys and secrets are being accessed. アクティビティを監視するには、コンテナーのログ記録を有効にします。You can monitor activity by enabling logging for your vaults. Azure Key Vault を構成して、次の操作を行うことができます。You can configure Azure Key Vault to:

  • ストレージ アカウントへのアーカイブ。Archive to a storage account.
  • イベント ハブへのストリーム配信。Stream to an event hub.
  • Azure Monitor ログにログを送信します。Send the logs to Azure Monitor logs.

ユーザーは、ログを管理できます。ユーザーは、アクセスを制限することによってログを保護することができ、不要になったログを削除することもできます。You have control over your logs and you may secure them by restricting access and you may also delete logs that you no longer need.

簡単なアプリケーション シークレットの管理Simplified administration of application secrets

重要なデータを格納する場合は、いくつかの手順を実行する必要があります。When storing valuable data, you must take several steps. セキュリティ情報は、保護されていなければならず、ライフサイクルに従わなければならず、高可用性を備えていなければなりません。Security information must be secured, it must follow a life cycle, it must be highly available. Azure Key Vault では、これらの要件を満たすプロセスが次の方法で簡略化されます。Azure Key Vault simplifies the process of meeting these requirements by:

  • ハードウェア セキュリティ モジュールに関するインハウスの知識の必要性を排除する。Removing the need for in-house knowledge of Hardware Security Modules
  • 組織の使用量の急増に対応するために急なスケールアップを可能にする。Scaling up on short notice to meet your organization’s usage spikes.
  • リージョン内およびセカンダリ リージョンに Key Vault の内容をレプリケートする。Replicating the contents of your Key Vault within a region and to a secondary region. データ レプリケーションによって高可用性が確保され、フェールオーバーをトリガーするための管理者の操作が不要になります。Data replication ensures high availability and takes away the need of any action from the administrator to trigger the failover.
  • ポータル、Azure CLI、および PowerShell を使用した標準 Azure 管理オプションを提供する。Providing standard Azure administration options via the portal, Azure CLI and PowerShell.
  • パブリック CA から購入した証明書に関する特定のタスク (登録や更新など) を自動化する。Automating certain tasks on certificates that you purchase from Public CAs, such as enrollment and renewal.

さらに、Azure Key Vault では、アプリケーション シークレットを分離することができます。In addition, Azure Key Vaults allow you to segregate application secrets. アプリケーションは、アクセスが許可されたコンテナーにのみアクセスし、特定の操作のみを実行するように制限することができます。Applications may access only the vault that they are allowed to access, and they can be limited to only perform specific operations. アプリケーションごとに Azure Key Vault を作成し、Key Vault に格納されているシークレットを特定のアプリケーションと開発者チームに制限することができます。You can create an Azure Key Vault per application and restrict the secrets stored in a Key Vault to a specific application and team of developers.

他の Azure サービスとの統合Integrate with other Azure services

Azure 内の安全なストアとして、Key Vault は次のようなシナリオの簡略化に使用されてきました。As a secure store in Azure, Key Vault has been used to simplify scenarios like:

Key Vault 自体は、ストレージ アカウント、イベント ハブ、ログ分析と統合できます。Key Vault itself can integrate with storage accounts, event hubs, and log analytics.

次の手順Next steps