xref: /aosp_15_r20/external/googleapis/google/iam/README.md (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker## IAM (Identity and Access Management) Protos
2*d5c09012SAndroid Build Coastguard Worker
3*d5c09012SAndroid Build Coastguard WorkerThis folder contains [protocol buffer][protobuf] types which represent IAM
4*d5c09012SAndroid Build Coastguard Worker(Identity and Access Management) concepts plus a mix-in service declaration (IAMPolicy)
5*d5c09012SAndroid Build Coastguard Workerwhich can be inherited by APIs so that they follow a consistent pattern for
6*d5c09012SAndroid Build Coastguard WorkerIAM operations.
7*d5c09012SAndroid Build Coastguard Worker
8*d5c09012SAndroid Build Coastguard Worker### Key Concepts
9*d5c09012SAndroid Build Coastguard Worker
10*d5c09012SAndroid Build Coastguard Worker- **Binding**: Associates a list of identities with a particular role. An identity can
11*d5c09012SAndroid Build Coastguard Worker  match things like all users, all authenticated users, a single user, a single service
12*d5c09012SAndroid Build Coastguard Worker  account, a single group, or a single domain. A role is a permission defined by IAM, such as
13*d5c09012SAndroid Build Coastguard Worker  `roles/viewer`, `roles/editor`, or `roles/owner`.
14*d5c09012SAndroid Build Coastguard Worker- **Policy**: A list of bindings where each role can only appear once. It also contains
15*d5c09012SAndroid Build Coastguard Worker  a version to track iterations of the bindings.
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Worker### Key Service definitions
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Worker- **IAMPolicy**: This is a mix-in service which defines three operations:
20*d5c09012SAndroid Build Coastguard Worker  - `SetIamPolicy`: Sets the access control policy on the specified resource.
21*d5c09012SAndroid Build Coastguard Worker  - `GetIamPolicy`: Gets the access control policy for a resource.
22*d5c09012SAndroid Build Coastguard Worker  - `TestIamPermissions`: Returns permissions that a caller has on the specified resource.
23*d5c09012SAndroid Build Coastguard Worker
24*d5c09012SAndroid Build Coastguard Worker[protobuf]: https://developers.google.com/protocol-buffers/
25