0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Secret Managerの編集を最小権限で行う

Posted at

Google CloudのSecret Managerに新たなシークレットを作成、もしくはバージョンの作成を行いたい。ただし、シークレットが削除されたり、バージョンの中身を見られるのは防ぎたい。

roles/secretmanager.adminは、当然ながら強すぎる。
roles/secretmanager.secretVersionAdderは、バージョンの追加しかできない。API経由でバージョン追加のみを行うには、適している。Web UIから行うには、secretsのlist, getなどがないので不十分。加えて、シークレットの新規作成はできない。
では、カスタムロールを作って対応する。

最小権限を作る

Web UIで以下のみができるようにしたい。

  • シークレットの作成
  • バージョンの作成

つまり、以下のようなことはできない状態にする。

  • シークレットの削除
  • シークレットの権限付与
  • バージョンの有効化
  • バージョンの無効化
  • バージョンの削除
  • バージョンのアクセス
resource "google_project_iam_custom_role" "secret_writer" {
  title       = "シークレット書き込み"
  description = "シークレットとバージョンの作成・更新を行うロール"
  role_id     = "secret_writer"

  permissions = [
    "secretmanager.locations.get",
    "secretmanager.locations.list",
    "secretmanager.secrets.create",
    "secretmanager.secrets.createTagBinding",
    "secretmanager.secrets.get",
    "secretmanager.secrets.getIamPolicy",
    "secretmanager.secrets.list",
    "secretmanager.secrets.listEffectiveTags",
    "secretmanager.secrets.listTagBindings",
    "secretmanager.secrets.update",
    "secretmanager.versions.add",
    "secretmanager.versions.get",
    "secretmanager.versions.list",
  ]
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?