Control: 2.15 Ensure 'Access Approval' is 'Enabled'
Description
GCP Access Approval enables you to require your organizations' explicit approval whenever Google support try to access your projects. You can then select users within your organization who can approve these requests through giving them a security role in IAM. All access requests display which Google Employee requested them in an email or Pub/Sub message that you can choose to Approve. This adds an additional control and logging of who in your organization approved/denied these requests.
Controlling access to your information is one of the foundations of information security. Google Employees do have access to your organizations' projects for support reasons. With Access Approval, organizations can then be certain that their information is accessed by only approved Google Personnel.
Remediation
From Google Cloud Console
From the Google Cloud Home, within the project you wish to enable, click on the Navigation hamburger menu in the top left. Hover over the
SecurityMenu. SelectAccess Approvalin the middle of the column that opens.The status will be displayed here. On this screen, there is an option to click
Enroll. If it is greyed out and you see an error bar at the top of the screen that saysAccess Transparency is not enabledplease view the corresponding reference within this section to enable it.In the second screen click
Enroll.
Grant an IAM Group or User the role with permissions to Add Users to be Access Approval message Recipients
From the Google Cloud Home, within the project you wish to enable, click on the Navigation hamburger menu in the top left. Hover over the
IAM and Admin. SelectIAMin the middle of the column that opens.Click the blue button the says
+ ADDat the top of the screen.In the
principalsfield, select a user or group by typing in their associated email address.Click on the role field to expand it. In the filter field enter
Access Approval Approverand select it.Click
save.
Add a Group or User as an Approver for Access Approval Requests
As a user with the
Access Approval Approverpermission, within the project where you wish to add an email address to which request will be sent, click on the Navigation hamburger menu in the top left. Hover over theSecurityMenu. SelectAccess Approvalin the middle of the column that opens.Click
Manage Settings.Under
Set up approval notifications, enter the email address associated with a Google Cloud User or Group you wish to send Access Approval requests to. All future access approvals will be sent as emails to this address.
From Google Cloud CLI
- To update all services in an entire project, run the following command from an account that has permissions as an 'Approver for Access Approval Requests'.
gcloud access-approval settings update --project=<project name> --enrolled_services=all --notification_emails='<email recipient for access approval requests>@<domain name>'
Default Value
By default Access Approval and its dependency of Access Transparency are not enabled.
Usage
Run the control in your terminal:
powerpipe control run gcp_compliance.control.cis_v400_2_15Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run gcp_compliance.control.cis_v400_2_15 --shareSQL
This control uses a named query:
select self_link as resource, case when access_approval_settings is not null and access_approval_settings -> 'notificationEmails' is not null then 'ok' else 'alarm' end as status, case when access_approval_settings is not null and access_approval_settings -> 'notificationEmails' is not null then name || ' access approval is enabled.' else name || ' access approval is disabled.' end as reason , project_id as projectfrom gcp_project;