Key Vault アクセス ポリシーを割り当てる (レガシ)
- [アーティクル]
-
-
重要
アクセス ポリシーの権限モデルを使用する場合、Contributor
、Key Vault Contributor
、または、キー コンテナー管理プレーンの Microsoft.KeyVault/vaults/write
権限を含むその他のロールを持つユーザーは、キー コンテナー アクセス ポリシーを設定することで、自分自身にデータ プレーン アクセスを付与できます。 キー コンテナー、キー、シークレット、証明書への不正なアクセスと管理を防ぐには、アクセス ポリシーの権限モデルで、投稿者ロールのアクセスをキー コンテナーに制限することが不可欠です。 このリスクを軽減するために、ロールベースのアクセス制御 (RBAC) の権限モデルを使用することをお勧めします。これにより、権限管理を「所有者」ロールと「ユーザー アクセス管理者」ロールに制限し、セキュリティ オペレーションと管理業務を明確に分離できます。 詳細については、「キー コンテナーの RBAC ガイド」および「Azure RBAC とは」を参照してください。
Key Vault アクセス ポリシーは、特定のセキュリティ プリンシパル (ユーザー、アプリケーション、またはユーザー グループ) が、Key Vault のシークレット、キー、および証明書に対して、さまざまな操作を実行できるかどうかを決定します。 アクセス ポリシーは、Azure portal、Azure CLI、または Azure PowerShell を使用して割り当てることができます。
キー コンテナーでは、最大 1,024 個のアクセス ポリシー エントリがサポートされており、各エントリでは、特定のセキュリティ プリンシパルに個別のアクセス許可セットを付与します。 このような制限があるため、可能な場合は、アクセス ポリシーを個別のユーザーではなく、ユーザーのグループに割り当てることをお勧めします。 グループを使用すると、組織内の複数のユーザーに対するアクセス許可を管理しやすくなります。 詳細については、Microsoft Entra グループを使用してアプリとリソースへのアクセスを管理するを参照してください。
アクセス ポリシーを割り当てる
Azure portal で、Key Vault リソースに移動します。
[アクセス ポリシー] を選択し、[作成] をクリックします。
[キーのアクセス許可]、[シークレットのアクセス許可]、および [証明書のアクセス許可] でアクセス許可を選択します。
[プリンシパル] 選択ウィンドウで検索フィールドにユーザー、アプリ、またはサービス プリンシパルの名前を入力し、適切な結果を選択します。
アプリにマネージド ID を使用している場合は、アプリ自体の名前を検索して選択します。 (セキュリティ プリンシパルの詳細については、「Key Vault 認証」 を参照してください。
アクセス ポリシーの変更を確認し、[作成] を選択してアクセス ポリシーを保存します。
[アクセス ポリシー] ページに戻り、アクセス ポリシーが表示されていることを確認します。
Microsoft Entra ID での Azure CLI を使ったグループの作成の詳細については、az ad group create および az ad group member add に関する記事を参照してください。
Azure CLI コマンドをローカルで実行するには、Azure CLI をインストールします。
コマンドをクラウドで直接実行するには、Azure Cloud Shell を使用します。
ローカル CLI のみ: az login
を使用して Azure にサインインします。
az login
az login
コマンドを実行すると、必要に応じて、資格情報を収集するためのブラウザー ウィンドウが開きます。
オブジェクト ID を取得する
アクセス ポリシーの割り当て先となるアプリケーション、グループ、またはユーザーのオブジェクト ID を決定します。
アプリケーションとその他のサービス プリンシパル: az ad sp list コマンドを使用して、サービス プリンシパルを取得します。 コマンドの出力を調べて、アクセス ポリシーの割り当て先となるセキュリティ プリンシパルのオブジェクト ID を決定します。
az ad sp list --show-mine
グループ: az ad group list コマンドを使用して、--display-name
パラメーターを使用し、結果をフィルター処理します。
az ad group list --display-name <search-string>
ユーザー: az ad user show コマンドを使用して、ユーザーの電子メール アドレスを --id
パラメーターに渡します。
az ad user show --id <email-address-of-user>
アクセス ポリシーを割り当てる
az keyvault set-policy コマンドを使用して、必要なアクセス許可を割り当てます。
az keyvault set-policy --name myKeyVault --object-id <object-id> --secret-permissions <secret-permissions> --key-permissions <key-permissions> --certificate-permissions <certificate-permissions>
<object-id>
を、お使いのセキュリティ プリンシパルのオブジェクト ID に置き換えます。
これらの特定の種類にアクセス許可を割り当てるときに含める必要があるのは、--secret-permissions
、--key-permissions
、--certificate-permissions
のみです。 <secret-permissions>
、<key-permissions>
、<certificate-permissions>
に使用できる値は、az keyvault set-policy ドキュメントに記載されています。
Azure PowerShell を使って Microsoft Entra ID にグループを作成する方法の詳細については、「New-AzADGroup」および「Add-AzADGroupMember」を参照してください。
コマンドをローカルで実行するには、Azure PowerShell をインストールします (まだインストールしていない場合)。
コマンドを直接クラウドで実行するには、Azure Cloud Shell を使用します。
ローカル PowerShell のみ:
Azure Active Directory PowerShell モジュールをインストールします。
Azure にサインインします。
Connect-AzAccount
オブジェクト ID を取得する
アクセス ポリシーの割り当て先となるアプリケーション、グループ、またはユーザーのオブジェクト ID を決定します。
アプリケーションとその他のサービスプリンシパル: Get-AzADServicePrincipal コマンドレットを -SearchString
パラメーターを指定して使用し、結果を目的のサービス プリンシパルの名前にフィルター処理します。
Get-AzADServicePrincipal -SearchString <search-string>
グループ: Get-AzADGroup コマンドレットを -SearchString
パラメーターを指定して使用し、結果を目的のグループの名前にフィルター処理します。
Get-AzADGroup -SearchString <search-string>
出力では、オブジェクト ID が Id
として一覧表示されます。
ユーザー: Get-AzADUser コマンドレットを使用して、そのユーザーのメール アドレスを -UserPrincipalName
パラメーターに渡します。
Get-AzAdUser -UserPrincipalName <email-address-of-user>
出力では、オブジェクト ID が Id
として一覧表示されます。
アクセス ポリシーを割り当てる
Set-AzKeyVaultAccessPolicy コマンドレットを使用して、アクセス ポリシーを割り当てます。
Set-AzKeyVaultAccessPolicy -VaultName <key-vault-name> -ObjectId <Id> -PermissionsToSecrets <secrets-permissions> -PermissionsToKeys <keys-permissions> -PermissionsToCertificates <certificate-permissions
これらの特定の種類にアクセス許可を割り当てるときに含める必要があるのは、-PermissionsToSecrets
、-PermissionsToKeys
、-PermissionsToCertificates
のみです。 <secret-permissions>
、<key-permissions>
、<certificate-permissions>
に使用できる値は、Set-AzKeyVaultAccessPolicy に関するドキュメントのパラメーターに関する説明に記載されています。
次のステップ