iam_meta_api.yaml 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. type: google.api.Service
  2. config_version: 2
  3. name: iam-meta-api.googleapis.com
  4. title: IAM Meta API
  5. apis:
  6. - name: google.iam.v1.IAMPolicy
  7. types:
  8. - name: google.iam.v1.PolicyDelta
  9. documentation:
  10. summary: Manages access control for Google Cloud Platform resources.
  11. overview: |-
  12. # Google Identity and Access Management (IAM) API
  13. Documentation of the access control API that will be implemented by all
  14. 1st party services provided by the Google Cloud Platform (like Cloud
  15. Storage, Compute Engine, App Engine).
  16. Any implementation of an API that offers access control features
  17. will implement the google.iam.v1.IAMPolicy interface.
  18. ## Data model
  19. Access control is applied when a principal (user or service account),
  20. takes some action on a resource exposed by a service. Resources,
  21. identified by
  22. URI-like names, are the unit of access control specification. It is up to
  23. the service implementations to choose what granularity of access control
  24. to support and what set of actions (permissions) to support for the
  25. resources
  26. they provide. For example one database service may allow access control to
  27. be specified only at the Table level, whereas another might allow access
  28. control to also be specified at the Column level.
  29. This is intentionally not a CRUD style API because access control policies
  30. are created and deleted implicitly with the resources to which they are
  31. attached.
  32. ## Policy
  33. A `Policy` consists of a list of bindings. A `Binding` binds a set of
  34. members to a role, where the members can include user accounts, user
  35. groups, user
  36. domains, and service accounts. A role is a named set of permissions,
  37. defined by the IAM system. The definition of a role is outside the
  38. policy.
  39. A permission check involves determining the roles that include the
  40. specified permission, and then determining if the principal specified by
  41. the check is a member of a binding to at least one of these roles. The
  42. membership check is recursive when a group is bound to a role.
  43. rules:
  44. - selector: google.iam.v1.IAMPolicy.GetIamPolicy
  45. description: |-
  46. Gets the access control policy for a resource. Returns an empty policy
  47. if the resource exists and does not have a policy set.
  48. - selector: google.iam.v1.IAMPolicy.SetIamPolicy
  49. description: |-
  50. Sets the access control policy on the specified resource. Replaces
  51. any existing policy.
  52. - selector: google.iam.v1.IAMPolicy.TestIamPermissions
  53. description: |-
  54. Returns permissions that a caller has on the specified resource. If the
  55. resource does not exist, this will return an empty set of
  56. permissions, not a NOT_FOUND error.
  57. Note: This operation is designed to be used for building
  58. permission-aware UIs and command-line tools, not for authorization
  59. checking. This operation may "fail open" without warning.
  60. http:
  61. rules:
  62. - selector: google.iam.v1.IAMPolicy.GetIamPolicy
  63. post: '/v1/{resource=**}:getIamPolicy'
  64. body: '*'
  65. - selector: google.iam.v1.IAMPolicy.SetIamPolicy
  66. post: '/v1/{resource=**}:setIamPolicy'
  67. body: '*'
  68. - selector: google.iam.v1.IAMPolicy.TestIamPermissions
  69. post: '/v1/{resource=**}:testIamPermissions'
  70. body: '*'