IAM으로 액세스 제어

ID 및 액세스 관리(IAM) 역할에서는 Secret Manager API를 사용할 수 있는 방법을 지정합니다. 다음은 Secret Manager에 사용할 수 있는 각 IAM 역할과 그 역할에 부여된 기능의 목록입니다.

Role Permissions

Secret Manager Admin
(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.*

Secret Manager Secret Accessor
(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

Secret Manager Secret Version Adder
(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

Secret Manager Secret Version Manager
(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

Secret Manager Viewer
(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.secrets.get
  • secretmanager.secrets.getIamPolicy
  • secretmanager.secrets.list
  • secretmanager.versions.get
  • secretmanager.versions.list

최소 권한 원칙

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

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

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

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

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

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

IAM 조건

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

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

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

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

다음 단계