Retrieves the policies of the specified kind that are attached to a
resource.
The response lists only policy metadata. In particular, policy rules are
omitted.
Updates the specified policy.
You can update only the rules and the display name for the policy.
To update a policy, you should use a read-modify-write loop:
Use GetPolicy to read the current version of the policy.
Modify the policy as needed.
Use UpdatePolicy to write the updated policy.
This pattern helps prevent conflicts between concurrent updates.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Interface PoliciesGrpc.AsyncService (1.55.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.55.0 (latest)](/java/docs/reference/proto-google-iam-v1/latest/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.54.2](/java/docs/reference/proto-google-iam-v1/1.54.2/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.53.0](/java/docs/reference/proto-google-iam-v1/1.53.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.52.0](/java/docs/reference/proto-google-iam-v1/1.52.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.51.0](/java/docs/reference/proto-google-iam-v1/1.51.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.49.1](/java/docs/reference/proto-google-iam-v1/1.49.1/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.48.0](/java/docs/reference/proto-google-iam-v1/1.48.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.47.0](/java/docs/reference/proto-google-iam-v1/1.47.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.46.0](/java/docs/reference/proto-google-iam-v1/1.46.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.45.1](/java/docs/reference/proto-google-iam-v1/1.45.1/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.44.0](/java/docs/reference/proto-google-iam-v1/1.44.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.43.0](/java/docs/reference/proto-google-iam-v1/1.43.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.41.0](/java/docs/reference/proto-google-iam-v1/1.41.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.40.1](/java/docs/reference/proto-google-iam-v1/1.40.1/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.39.0](/java/docs/reference/proto-google-iam-v1/1.39.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.38.0](/java/docs/reference/proto-google-iam-v1/1.38.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.37.0](/java/docs/reference/proto-google-iam-v1/1.37.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.36.0](/java/docs/reference/proto-google-iam-v1/1.36.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.35.0](/java/docs/reference/proto-google-iam-v1/1.35.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.34.1](/java/docs/reference/proto-google-iam-v1/1.34.1/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.33.0](/java/docs/reference/proto-google-iam-v1/1.33.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.32.1](/java/docs/reference/proto-google-iam-v1/1.32.1/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.31.0](/java/docs/reference/proto-google-iam-v1/1.31.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.29.0](/java/docs/reference/proto-google-iam-v1/1.29.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.28.0](/java/docs/reference/proto-google-iam-v1/1.28.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.27.0](/java/docs/reference/proto-google-iam-v1/1.27.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.25.0](/java/docs/reference/proto-google-iam-v1/1.25.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.24.0](/java/docs/reference/proto-google-iam-v1/1.24.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.23.0](/java/docs/reference/proto-google-iam-v1/1.23.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.22.0](/java/docs/reference/proto-google-iam-v1/1.22.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.21.0](/java/docs/reference/proto-google-iam-v1/1.21.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.20.1](/java/docs/reference/proto-google-iam-v1/1.20.1/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.19.0](/java/docs/reference/proto-google-iam-v1/1.19.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.18.1](/java/docs/reference/proto-google-iam-v1/1.18.1/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.17.1](/java/docs/reference/proto-google-iam-v1/1.17.1/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.16.1](/java/docs/reference/proto-google-iam-v1/1.16.1/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.10.0](/java/docs/reference/proto-google-iam-v1/1.10.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.9.3](/java/docs/reference/proto-google-iam-v1/1.9.3/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.8.0](/java/docs/reference/proto-google-iam-v1/1.8.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.7.0](/java/docs/reference/proto-google-iam-v1/1.7.0/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.6.23](/java/docs/reference/proto-google-iam-v1/1.6.23/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.5.1](/java/docs/reference/proto-google-iam-v1/1.5.1/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.4.1](/java/docs/reference/proto-google-iam-v1/1.4.1/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.3.4](/java/docs/reference/proto-google-iam-v1/1.3.4/com.google.iam.v2.PoliciesGrpc.AsyncService)\n- [1.2.12](/java/docs/reference/proto-google-iam-v1/1.2.12/com.google.iam.v2.PoliciesGrpc.AsyncService) \n\n public static interface PoliciesGrpc.AsyncService\n\nAn interface for managing Identity and Access Management (IAM) policies.\n\nMethods\n-------\n\n### createPolicy(CreatePolicyRequest request, StreamObserver\\\u003cOperation\\\u003e responseObserver)\n\n public default void createPolicy(CreatePolicyRequest request, StreamObserver\u003cOperation\u003e responseObserver)\n\nCreates a policy.\n\n### deletePolicy(DeletePolicyRequest request, StreamObserver\\\u003cOperation\\\u003e responseObserver)\n\n public default void deletePolicy(DeletePolicyRequest request, StreamObserver\u003cOperation\u003e responseObserver)\n\nDeletes a policy. This action is permanent.\n\n### getPolicy(GetPolicyRequest request, StreamObserver\\\u003cPolicy\\\u003e responseObserver)\n\n public default void getPolicy(GetPolicyRequest request, StreamObserver\u003cPolicy\u003e responseObserver)\n\nGets a policy.\n\n### listPolicies(ListPoliciesRequest request, StreamObserver\\\u003cListPoliciesResponse\\\u003e responseObserver)\n\n public default void listPolicies(ListPoliciesRequest request, StreamObserver\u003cListPoliciesResponse\u003e responseObserver)\n\nRetrieves the policies of the specified kind that are attached to a\nresource.\nThe response lists only policy metadata. In particular, policy rules are\nomitted.\n\n### updatePolicy(UpdatePolicyRequest request, StreamObserver\\\u003cOperation\\\u003e responseObserver)\n\n public default void updatePolicy(UpdatePolicyRequest request, StreamObserver\u003cOperation\u003e responseObserver)\n\nUpdates the specified policy.\nYou can update only the rules and the display name for the policy.\nTo update a policy, you should use a read-modify-write loop:\n\n1. Use GetPolicy to read the current version of the policy.\n2. Modify the policy as needed.\n3. Use `UpdatePolicy` to write the updated policy. This pattern helps prevent conflicts between concurrent updates."]]