IAM으로 액세스 제어

이 페이지에서는 Secret Manager를 구성하는 데 사용할 수 있는 Identity and Access Management(IAM) 역할을 설명합니다. 역할은 주 구성원의 리소스 액세스 기능을 제한합니다. 항상 지정된 태스크를 수행하는 데 필요한 최소한의 권한 집합을 부여하세요.

Secret Manager 역할

다음은 Secret Manager와 연결된 IAM 역할입니다. IAM 역할을 사용해 리소스에 대한 액세스 권한을 부여, 변경 또는 취소하는 방법에 대한 자세한 내용은 리소스에 대한 액세스 권한 부여, 변경, 취소를 참조하세요.

Role Permissions

(roles/secretmanager.admin)

Full access to administer Secret Manager resources.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.*

  • secretmanager.locations.get
  • secretmanager.locations.list
  • secretmanager.secrets.create
  • secretmanager.secrets.createTagBinding
  • secretmanager.secrets.delete
  • secretmanager.secrets.deleteTagBinding
  • secretmanager.secrets.get
  • secretmanager.secrets.getIamPolicy
  • secretmanager.secrets.list
  • secretmanager.secrets.listEffectiveTags
  • secretmanager.secrets.listTagBindings
  • secretmanager.secrets.setIamPolicy
  • secretmanager.secrets.update
  • secretmanager.versions.access
  • secretmanager.versions.add
  • secretmanager.versions.destroy
  • secretmanager.versions.disable
  • secretmanager.versions.enable
  • secretmanager.versions.get
  • secretmanager.versions.list

(roles/secretmanager.secretAccessor)

Allows accessing the payload of secrets.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.versions.access

(roles/secretmanager.secretVersionAdder)

Allows adding versions to existing secrets.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.versions.add

(roles/secretmanager.secretVersionManager)

Allows creating and managing versions of existing secrets.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.versions.add

secretmanager.versions.destroy

secretmanager.versions.disable

secretmanager.versions.enable

secretmanager.versions.get

secretmanager.versions.list

(roles/secretmanager.viewer)

Allows viewing metadata of all Secret Manager resources

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.locations.*

  • secretmanager.locations.get
  • secretmanager.locations.list

secretmanager.secrets.get

secretmanager.secrets.getIamPolicy

secretmanager.secrets.list

secretmanager.secrets.listEffectiveTags

secretmanager.secrets.listTagBindings

secretmanager.versions.get

secretmanager.versions.list

최소 권한의 원칙

최소 권한의 원칙을 따르면 지정된 태스크를 수행하는 데 필요한 최소 수준의 액세스 권한이 부여됩니다. 예를 들어 주 구성원이 단일 보안 비밀에 액세스해야 하는 경우 주 구성원에게 프로젝트 또는 조직의 다른 보안 비밀이나 모든 보안 비밀에 대한 액세스 권한을 부여하지 마세요. 주 구성원이 보안 비밀을 읽기만 해야 하는 경우에는 주 구성원에게 보안 비밀을 수정할 수 있는 권한을 부여하지 마세요.

IAM을 사용하여 Google Cloud 보안 비밀, 프로젝트, 폴더 또는 조직 수준의 IAM 역할과 권한을 부여할 수 있습니다. 항상 리소스 계층 구조에서 가장 낮은 수준의 권한을 적용합니다.

다음 표에는 Secret Manager 보안 비밀 접근자 역할(roles/secretmanager.secretAccessor)이 부여된 리소스 계층 구조의 수준을 기준으로 서비스 계정의 효과적인 기능이 나와 있습니다.

리소스 계층 구조 기능
보안 비밀 보안 비밀에만 액세스
프로젝트 프로젝트의 모든 보안 비밀에 액세스
폴더 폴더 내 모든 프로젝트의 모든 보안 비밀에 액세스
조직 조직 내 모든 프로젝트의 모든 보안 비밀에 액세스

roles/owner 역할에는 `secretmanager.versions.access` 권한이 포함되어 있지만 roles/editorroles/viewer에는 포함되어 있지 않습니다.

주 구성원이 단일 보안 비밀 값에만 액세스해야 하는 경우 주 구성원에게 모든 보안 비밀에 액세스할 수 있는 권한을 부여하지 마세요. 예를 들어 서비스 계정에 단일 보안 비밀의 Secret Manager 보안 비밀 접근자 역할(roles/secretmanager.secretAccessor)을 부여할 수 있습니다.

주 구성원이 단일 보안 비밀만 관리해야 하는 경우 주 구성원에게 모든 보안 비밀을 관리할 수 있는 권한을 부여하지 마세요. 예를 들어 서비스 계정에 단일 보안 비밀의 Secret Manager 관리 역할(roles/secretmanager.admin)을 부여할 수 있습니다.

IAM 조건

IAM 조건을 사용하면 Secret Manager 리소스를 비롯한 일부 Google Cloud 리소스에 조건부 속성 기반 액세스 제어를 정의하고 적용할 수 있습니다.

Secret Manager에서 다음 속성을 기준으로 조건부 액세스를 적용할 수 있습니다.

  • 날짜/시간 속성: Secret Manager 리소스에 만료, 예약 또는 기간 제한 액세스를 설정하는 데 사용합니다. 예를 들어 사용자가 지정된 날짜까지 보안 비밀에 액세스하도록 허용할 수 있습니다.
  • 리소스 속성: 리소스 이름, 리소스 유형 또는 리소스 서비스 속성을 기반으로 조건부 액세스를 구성하는 데 사용합니다. Secret Manager에서 보안 비밀 속성과 보안 비밀 버전을 사용하여 조건부 액세스를 구성할 수 있습니다. 예를 들어 사용자가 특정 프리픽스로 시작하는 보안 비밀의 보안 비밀 버전만 관리하도록 허용하거나 특정 보안 비밀 버전에만 액세스하도록 허용할 수 있습니다.

IAM 조건에 대한 자세한 내용은 조건 개요를 참조하세요.

다음 단계