Binding

Powiąż podmioty members lub podmioty zabezpieczeń z role.

Zapis JSON
{
  "role": string,
  "members": [
    string
  ],
  "condition": {
    object (Expr)
  }
}
Pola
role

string

Rola przypisana do listy members lub podmiotów zabezpieczeń. na przykład roles/viewer, roles/editor lub roles/owner.

Omówienie ról i uprawnień znajdziesz w dokumentacji IAM. Listę dostępnych wstępnie zdefiniowanych ról znajdziesz tutaj.

members[]

string

Określa podmioty zabezpieczeń, które żądają dostępu do zasobu Google Cloud. members może mieć te wartości:

  • allUsers: specjalny identyfikator, który reprezentuje każdego użytkownika internetu, niezależnie od tego, czy ma konto Google.

  • allAuthenticatedUsers: specjalny identyfikator, który reprezentuje każdą osobę uwierzytelnioną za pomocą konta Google lub konta usługi. Nie obejmuje tożsamości pochodzących od zewnętrznych dostawców tożsamości w ramach federacji tożsamości.

  • user:{emailid}: adres e-mail, który reprezentuje konkretne konto Google. Na przykład alice@example.com .

  • serviceAccount:{emailid}: adres e-mail reprezentujący konto usługi Google. Na przykład: my-other-app@appspot.gserviceaccount.com.

  • serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: identyfikator konta usługi Kubernetes. Na przykład: my-project.svc.id.goog[my-namespace/my-kubernetes-sa].

  • group:{emailid}: adres e-mail reprezentujący grupę dyskusyjną Google. Na przykład: admins@example.com.

  • domain:{domain}: domena G Suite (podstawowa), która reprezentuje wszystkich użytkowników tej domeny. Na przykład google.com lub example.com.
  • principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Jedna tożsamość w puli tożsamości pracowników.

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{groupId}: Wszystkie tożsamości pracowników w grupie.

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attributeName}/{attribute_value}: wszystkie tożsamości pracowników z określoną wartością atrybutu.

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: wszystkie tożsamości w puli tożsamości pracowników.

  • principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: jedna tożsamość w puli tożsamości zadań.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{groupId}: grupa puli tożsamości zadań.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attributeName}/{attribute_value}: wszystkie tożsamości w puli tożsamości zadań z określonym atrybutem.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: wszystkie tożsamości w puli tożsamości zadań.

  • deleted:user:{emailid}?uid={uniqueid}: adres e-mail (wraz z unikalnym identyfikatorem) reprezentujący niedawno usuniętego użytkownika. Na przykład: alice@example.com?uid=123456789012345678901. Jeśli użytkownik zostanie przywrócony, ta wartość wróci do user:{emailid}, a przywrócony użytkownik zachowa rolę w powiązaniu.

  • deleted:serviceAccount:{emailid}?uid={uniqueid}: adres e-mail (wraz z unikalnym identyfikatorem) reprezentujący niedawno usunięte konto usługi. Na przykład: my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. Jeśli konto usługi zostanie przywrócone, ta wartość wróci do serviceAccount:{emailid}, a przywrócone konto usługi zachowa rolę w powiązaniu.

  • deleted:group:{emailid}?uid={uniqueid}: adres e-mail (wraz z unikalnym identyfikatorem) reprezentujący niedawno usuniętą grupę Google. Na przykład: admins@example.com?uid=123456789012345678901. Jeśli grupa zostanie przywrócona, ta wartość wróci do group:{emailid}, a przywrócona grupa zachowa rolę w powiązaniu.

  • deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Usunięto pojedynczą tożsamość w puli tożsamości pracowników. Na przykład: deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value.

condition

object (Expr)

Warunek powiązany z tym powiązaniem.

Jeśli warunek ma wartość true, to powiązanie ma zastosowanie do bieżącego żądania.

Jeśli warunek ma wartość false, to powiązanie nie ma zastosowania do bieżącego żądania. Inne powiązanie roli może jednak przyznawać tę samą rolę jednemu lub kilku podmiotom zabezpieczeń w tym powiązaniu.

Informacje o tym, które zasoby obsługują warunki w swoich zasadach uprawnień, znajdziesz w dokumentacji IAM.

Expr

Reprezentuje wyrażenie tekstowe w składni języka CEL (Common Expression Language). CEL to język wyrażeń podobny do C. Składnia i semantyka języka CEL są opisane na stronie https://github.com/google/cel-spec.

Przykład (porównanie):

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

Przykład (równość):

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

Przykład (logika):

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

Przykład (manipulacja danymi):

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

Dokładne zmienne i funkcje, do których można się odwoływać w wyrażeniu, są określane przez usługę, która je oblicza. Więcej informacji znajdziesz w dokumentacji usługi.

Zapis JSON
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
Pola
expression

string

Tekstowa reprezentacja wyrażenia w składni Common Expression Language.

title

string

Opcjonalnie. Tytuł wyrażenia, czyli krótki ciąg znaków opisujący jego przeznaczenie. Może to być używane np. w interfejsach, które umożliwiają wpisywanie wyrażeń.

description

string

Opcjonalnie. Opis wyrażenia. To jest dłuższy tekst opisujący wyrażenie, np. po najechaniu na nie w interfejsie.

location

string

Opcjonalnie. Ciąg znaków wskazujący lokalizację wyrażenia na potrzeby raportowania błędów, np. nazwę pliku i pozycję w pliku.