問題タブ [google-cloud-kms]
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.
java - Google クラウド KMS を使用して yml ファイルのプロパティを暗号化および復号化するには?
Google クラウド KMS を使用して yml ファイルの機密プロパティを暗号化および復号化できるかどうかを理解しようとしています。そのため、アプリケーションの起動時に値を復号化し、アプリケーションで使用します。たとえば、読み取りおよび書き込みアクセス権を持つデータベースのユーザー名とパスワード。
Spring クラウド構成サーバーはありません。
security - Binary Authorization - デプロイに失敗しました - Attestor によって拒否されました。Attestor は GKE のイメージを証明できません
クライアントにバイナリ認証をPOCとして紹介しようとしていました。展開中に、次のエラー メッセージで失敗します。
ポッド "hello-app-6589454ddd-wlkbg" は禁止されています: イメージ ポリシー webhook バックエンドが 1 つ以上のイメージを拒否しました: us-central1.staging-cluster のクラスター アドミッション ルールによって拒否されました。アテスターによって拒否されました。イメージ gcr.io//hello-app:e1479a4 はプロジェクトによって拒否されました//attestors/vulnz-attestor: アテスターは、タグによってデプロイされたイメージを証明できません
サイトに記載されているすべての手順を順守しました。
たとえば、以下のコマンドを使用して完全に認証を強制するなど、画像を繰り返し検証しました。
次のようにエラーをスローします。
エラー: (gcloud.alpha.container.binauthz.attestations.sign-and-create) プロジェクト [プロジェクト xyz] のリソースは競合の対象です: オカレンス ID "c5f03cc3-3829-44cc-ae38-2b2b3967ba61" はプロジェクトに既に存在します「projectxyz」
だから私が確認したとき、私は証明が存在することを発見しました:
スクリーンショットは次のとおりです。
フィードバックをお願いします。
前もって感謝します。
c# - GCP ストレージ バケットにコンテンツをアップロードするための KMS 権限の 403 エラー
理解した
したがって、これを解決するには 2 つの方法があります。
オプション1:
ストレージ バケットの暗号化/復号化に使用されていた KMS キーにプロジェクトがアクセスできるようにしていませんでした。自分自身としてログインしているときに、cli で次のコマンドを実行してテストできました。
/li>- 次に、サービス アカウントとしてログインし、ファイルをアップロードしようとしました。そうしたら成功しました。
オプション 2:
- クラウド コンソールを調べてみたところ、Encrypt Decrypt へのアクセスが必要なストレージ サービス アカウントが存在することがわかりました。このアカウントは、[ストレージ] > [設定] > [クラウド ストレージ サービス アカウント] の下に表示されます。
- GCP は実際の作業をこのアカウントに委任して、アップロード タスクを実行しているようです。そのため、バケットへのアクセスはありますが (明らかに、これはストレージ サービス アカウントであるため)、KMS アクセスはありませんでした。KMS 暗号化/復号化をこの SA に追加した後、gsutil の介入なしで自動的に機能するようになりました。
また、アップロード用の SA 資格情報の範囲を更新して、cloudkms と devstorage.full_control の両方を含めました。ただし、それが何かに影響したかどうかはわかりません。
元の質問:
マルチテナント ホスティング環境向けに、サービス アカウント、ストレージ バケット、および KMS キー リングとキーを自動的に作成するワークフローを作成しています。
KMS、SA、およびストレージのアクセス許可が制限されたサービス アカウントを持っています。このサービス アカウントは、他のサービス アカウントを作成し、それらが独自のテナント アイテムの管理者になることを許可します (例: テナントのサービス アカウントを作成すると、それを完全に制御できます)。テナントの KMS とバケット。ただし、他のテナントのものではありません)。
ただし、現在、新しいサービス アカウントでファイルをアップロードできるようにする際に問題が発生しています。必要なすべての権限があります。
1. KMS 管理者とそのキーリングの暗号化/復号化
2. ストレージ バケット管理者
しかし、そのサービス アカウントで何かをアップロードしようとすると、次のエラーが発生します。
アクセス許可の割り当てに使用しているコードと、バケットへのアクセスに使用するコードを次に示します。
}
私が間違っているかもしれないアイデアはありますか?パーミッションの問題のようですが、その場で作成されるこの新しいサービス アカウントに割り当てられたストレージと KMS の両方で使用できるほぼすべてのものがあります。
完全なスタック トレース: