Binding

members 또는 주 구성원을 role과 연결합니다.

JSON 표현
{
  "role": string,
  "members": [
    string
  ],
  "condition": {
    object (Expr)
  }
}
필드
role

string

members 또는 주 구성원 목록에 할당된 역할입니다. 예를 들면 roles/viewer, roles/editor, roles/owner입니다.

members[]

string

Google Cloud 리소스에 대한 액세스를 요청하는 주 구성원을 지정합니다. members는 다음 값을 보유할 수 있습니다.

  • allUsers: Google 계정 유무에 관계없이 임의의 인터넷 사용자를 나타내는 특수한 식별자입니다.

  • allAuthenticatedUsers: Google 계정 또는 서비스 계정으로 인증한 사용자를 나타내는 특수한 식별자입니다. ID 제휴를 통해 외부 ID 공급업체(IdP)에서 가져온 ID는 포함되지 않습니다.

  • user:{emailid}: 특정 Google 계정을 나타내는 이메일 주소입니다. 예를 들면 alice@example.com입니다.

  • serviceAccount:{emailid}: Google 서비스 계정을 나타내는 이메일 주소입니다. 예를 들면 my-other-app@appspot.gserviceaccount.com입니다.

  • serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: Kubernetes 서비스 계정의 식별자입니다. 예를 들면 my-project.svc.id.goog[my-namespace/my-kubernetes-sa]입니다.

  • group:{emailid}: Google 그룹을 나타내는 이메일 주소입니다. 예를 들면 admins@example.com입니다.

  • domain:{domain}: 해당 도메인의 모든 사용자를 나타내는 G Suite 도메인(기본)입니다. 예를 들면 google.com 또는 example.com입니다.
  • principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: 직원 ID 풀의 단일 ID

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{groupId}: 그룹의 모든 직원 ID

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: 특정 속성값의 모든 직원 ID

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: 직원 ID 풀의 모든 ID

  • principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: 워크로드 아이덴티티 풀의 단일 ID

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{groupId}: 워크로드 아이덴티티 풀 그룹

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: 특정 속성이 있는 워크로드 아이덴티티 풀의 모든 ID

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: 워크로드 아이덴티티 풀의 모든 ID

  • deleted:user:{emailid}?uid={uniqueid}: 최근에 삭제된 사용자를 나타내는 이메일 주소 및 고유 식별자입니다. 예를 들면 alice@example.com?uid=123456789012345678901입니다. 사용자가 복구되면 이 값은 user:{emailid}로 되돌아가고 복구된 사용자는 binding에서 역할을 유지합니다.

  • deleted:serviceAccount:{emailid}?uid={uniqueid}: 최근에 삭제된 서비스 계정을 나타내는 이메일 주소 및 고유 식별자입니다. 예를 들면 my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901입니다. 서비스 계정이 삭제 취소되면 이 값은 serviceAccount:{emailid}로 되돌아가고 삭제되지 않은 서비스 계정은 binding에서 역할을 유지합니다.

  • deleted:group:{emailid}?uid={uniqueid}: 최근에 삭제된 Google 그룹을 나타내는 이메일 주소 및 고유 식별자입니다. 예를 들면 admins@example.com?uid=123456789012345678901입니다. 그룹이 복구되면 이 값은 group:{emailid}로 되돌아가고 복구된 그룹은 binding에서 역할을 유지합니다.

  • deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: 직원 ID 풀의 단일 ID입니다. 예를 들면 deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value입니다.

condition

object (Expr)

이 결합에 연결된 조건입니다.

조건이 true로 평가되면 이 binding이 현재 요청에 적용됩니다.

조건이 false로 평가되면 이 binding이 현재 요청에 적용되지 않습니다. 그러나 다른 역할 결합은 이 binding에 있는 하나 이상의 주 구성원에게 동일한 역할을 부여할 수 있습니다.

IAM 정책의 지원을 지원하는 리소스에 대해 알아보려면 IAM 문서를 참조하세요.

Expr

Common Expression Language(CEL) 구문으로 된 텍스트 표현식을 나타냅니다. CEL은 C와 같은 표현식 언어입니다. CEL의 구문과 시맨틱스는 https://github.com/google/cel-spec에 설명되어 있습니다.

예시(비교):

title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"

예시(균등):

title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner == request.auth.claims.email"

예시(로직):

title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"

예시(데이터 조작):

title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' + string(document.create_time)"

표현식 내에서 참조할 수 있는 정확한 변수와 함수는 이를 계산하는 서비스에 의해 결정됩니다. 자세한 내용은 서비스 문서를 참조하세요.

JSON 표현
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
필드
expression

string

Common Expression Language 구문으로 된 표현식의 텍스트 표현입니다.

title

string

선택사항. 표현식의 제목으로, 목적을 설명하는 짧은 문자열입니다. 표현식을 입력할 수 있는 UI 등에 사용할 수 있습니다.

description

string

선택사항. 표현식에 대한 설명입니다. 표현식을 설명하는 더 긴 텍스트입니다. 예를 들어 UI에서 마우스를 가져갈 때 표시할 수 있습니다.

location

string

선택사항. 오류 보고를 위해 표현식의 위치를 나타내는 문자열입니다. 예를 들어 파일 이름 및 파일 내 위치일 수 있습니다.