問題タブ [azure-keyvault]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - Azure Key Vault アクセス ポリシーがグループに対して機能しない
Azure Key Vault のグループによるアクセス ポリシーが機能していないようです。
新しいキー コンテナーを作成する場合
そして、キーを確認します(現在はありません)
それはうまくいきます。
現在のユーザーがメンバーであるグループへのアクセスを追加した場合
そして、直接アクセスを削除します
リスト操作が失敗するようになりました
グループごとに許可するにはどうすればよいですか?
adfs - 本番環境と開発環境でシークレットを管理するための Azure Key Vault
Azure Key Vault は、グループに割り当てられたアクセス ポリシーをサポートしていないようです。ユーザーまたはサービス プリンシパルに割り当てられたもののみ。また、キー コンテナーごとに最大 10 個のアクセス ポリシーをサポートしているため、アクセスしたいすべてのユーザーを個別に割り当てることはできません。
すべての開発者にクライアント シークレットを渡したくありません。デプロイされたアプリケーションの場合、単一のクライアント シークレットを渡して、コードがサービス プリンシパルとして認証され、シークレットを取得できるようにすることは問題ありません。
開発者は、(クライアント シークレットではなく) NTLM/Kerberos を介して (ADFS を介して) AAD に対して認証を行い、アクセス トークンを取得します。このアクセス トークンを取得することで、アプリケーションの実行に必要な他のすべてのシークレットの安全に保存された形式にアクセスできるようになります (サービス プリンシパルとして認証するときに運用コードが行うのと同じように)。
どうすればこれを達成できますか?
c# - Azure RsaKey 永続
Azure プロジェクトで暗号化を使用していますが、RsaKey に問題があります。ユーザーがアプリケーションにサインアップすると、RsaKey が作成され、ユーザーに関連付けられます。これはコードです:
この後、RsaKey を永続化する必要があり、ユーザー コンテナー内の専用 BLOB に格納します。RsaKey は Serializable ではないため、Json 文字列でちょっとした「トリック」を使用します。ここにコード:
登録後、もちろん、RsaKey を使用していくつかの操作を実行する必要があります。たとえば、いくつかの非表示フィールドへのアクセス、他の BLOB 内のいくつかの特別なファイルへのアクセスなどです。この場合に行うことは、次のコードに示されています。
Resolver は IKeyResolver を実装するクラスであり、ResolveKeyAsync
取得操作を実行するメソッドを定義する必要があります。このクラスのコードは次のとおりです。
実際、私の問題は、逆シリアル化された RsaKey が以前のものと同じではないことです。プロパティが正しく設定されているにもかかわらずjsonString
、の「Kid」フィールドresult
が異なります。おそらく、デシリアライゼーション操作での暗黙的なインスタンス化の原因です (そして、おそらく新しい Kid が作成されます)。したがって、保存したのと同じ Kid を使用して新しい RsaKey を作成しようとしましたRsaKey key = new RsaKey(partitionKey)
が ( )、取得操作は失敗しました (TableResult result
残っていますnull
)。何を指示してるんですか?たぶん、永続化メカニズムを変更する必要がありますか?
編集
table.Execute(operation, retrieveOptions, null);
try/catch ブロック (でインスタンス化された RsaKey を使用) で実行しようとすると、次RsaKey key = new RsaKey(partitionKey)
の例外がスローされます。
c# - Azure Webjob を Azure Keyvault に接続する方法は?
クライアント側の暗号化機能を使用するために webjob を keyvault に接続する方法を理解できないようです...問題は keyvault のセットアップにあり、理論的には、接続したら webjob 内でどの関数を使用するかを知っていますキーボールトに。Webジョブをキーボールトへのアクセスが許可されているプログラムとして識別する何らかの接続または識別文字列が必要なようですが、その文字列がどこにも見つからないため、この時点でそれを行う方法が本当にわかりません.. .
違いが生じる場合、.NET/C# で作業していて、テーブルとキューにアクセスする作業中の Web ジョブに暗号化を追加しようとしている場合、テーブルは暗号化されますが、キューは重要ではありません。
どんな助けでも大歓迎です。
sql-server - SQL TD EKM Azure Key Vault - 暗号化されたデータベースを復元できません
この MS 記事で説明されている手順を使用して、Azure を EKM として使用して SQL TDE を正常に有効にしました。DR シナリオが発生した場合に別のサーバーでデータを復号化できるようにするために、まず、この手順に従って、自分の非対称キー (パスワードで保護された pfx ファイルの形式) を Key Vault にアップロードしました。 MS記事。
現在、DR をテストしようとしています。暗号化された DB のバックアップを別の SQL サーバーに復元する必要がありますが、何を試しても動作しません。SQL 暗号化に精通している人にとっては痛々しいほど明白なことだと思いますが、私は困惑しました!
PVKConverter.exe を使用して pfx 証明書を変換してインポートする方法を説明するこの記事など、さまざまな記事を読みました。最初に、変換された pfx をインポートしようとすると、エラーメッセージ 15581、レベル 16、状態 1、行 1 がスローされました。この操作を実行する前に、データベースでマスター キーを作成するか、セッションでマスター キーを開いてください。だから私は使用してマスターDBに作成しました
バックアップがまだ復元されないため、これ以上はうまくいきませんでした。
2 つのサーバーを比較すると、明らかな違いは、マスター DB が Key Vault にリンクされた非対称キーを暗号化されたサーバー A ( SELECT * FROM sys.asymmetric_keys
) に保持し、証明書をサーバー B ( SELECT * FROM sys.certificates
) に保持していることです。SQL から非対称キーをエクスポートできないことは理解しています (したがって、Key Vault で既存の pfx を使用しました) が、サーバー B でその pfx を使用/インポートして、暗号化された DB を復元できるようにする方法がわかりません。サーバーAからバックアップします。以下を使用して、pfxファイルからマスターDBに非対称キーを作成しようとするたびに:
次のエラーが表示されます:メッセージ 15208、レベル 16、状態 43、行 18 証明書、非対称キー、または秘密キー ファイルが有効でないか、存在しません。または権限がありません。
サーバー A で TDE を有効にするために使用される完全な SQL を以下に示します。これにより、問題を特定するために必要な洞察が得られることを願っています。