本文將說明您在沒有資源的必要存取權時,可能會遇到的錯誤訊息,以及如何解決這些錯誤。
權限錯誤訊息
如果您嘗試存取沒有權限的資源, Google Cloud 控制台、Google Cloud CLI 和 REST API 都會顯示錯誤訊息。
這些錯誤訊息可能是由下列原因所造成:
- 您沒有必要權限。您必須具備允許政策角色繫結,或是具備必要權限的角色有效Privileged Access Manager 授權。如果您沒有必要權限,Google Cloud 會顯示錯誤訊息。
- 有一項拒絕政策會封鎖存取作業。如果拒絕 政策禁止您使用任何必要權限,則 Google Cloud 會顯示錯誤訊息。
- 您不符合存取資源的資格。如果您受到任何主體存取邊界政策的限制,嘗試存取的資源必須包含在政策的主體存取邊界規則中。如果不是, Google Cloud 會顯示錯誤訊息。
- 資源不存在。如果資源不存在,Google Cloud 會顯示錯誤訊息。
以下各節將說明Google Cloud 控制台、gcloud CLI 和 REST API 的錯誤訊息。
Google Cloud 控制台錯誤訊息
在 Google Cloud 控制台中,錯誤訊息看起來類似以下內容:
這些錯誤訊息包含下列資訊:
- 您嘗試存取的資源:錯誤頁面的標題會顯示資源名稱,指出您遇到權限錯誤時嘗試存取的資源。
- 缺少必要權限:您必須具備的權限清單,才能存取資源。
列出具備必要權限的Privileged Access Manager 授權和角色:這份清單僅列出部分項目,只包含 Google Cloud 建議用來解決存取問題的頂層授權。
這份清單只會列出可透過授予其他 IAM 角色解決的權限錯誤。
按一下權利,即可進一步瞭解權利,並對權利提出授權要求。詳情請參閱本文的「要求 Privileged Access Manager 存取權授權」。
如果沒有任何權利包含必要權限,錯誤訊息頁面就不會顯示權利清單。
具備必要權限的 IAM 角色清單: 這份清單僅選列部分項目,並非完整內容。清單中列出建議用來解決存取問題的角色。Google Cloud 排序依據為角色允許的動作類型、服務關聯性和權限數量。
如果您具備授予角色所需的權限,這個部分會顯示「選取要授予的角色」。如果您沒有必要權限,這個部分會顯示「要求特定角色」。
您可以點選角色,進一步瞭解該角色,並要求授予該角色。如果您具備授予角色的必要權限,則可自行授予角色,不必提出要求。
Google Cloud CLI 和 REST API 錯誤訊息
錯誤訊息的確切措辭取決於您執行的指令。不過,通常會包含下列資訊:
- 必要權限
- 您嘗試對其執行動作的資源
- 驗證帳戶
舉例來說,如果您沒有權限列出專案中的值區,系統會顯示類似下列內容的錯誤訊息:
gcloud
ERROR: (gcloud.storage.buckets.list) HTTPError 403:
EMAIL_ADDRESS does not have
storage.buckets.list access to the Google Cloud project. Permission
'storage.buckets.list' denied on resource (or it may not exist). This command
is authenticated as EMAIL_ADDRESS which
is the active account specified by the [core/account] property.
REST
{
"error": {
"code": 403,
"message": "EMAIL_ADDRESS does not have storage.buckets.list access to the Google Cloud project. Permission 'storage.buckets.list' denied on resource (or it may not exist).",
"errors": [
{
"message": "EMAIL_ADDRESS does not have storage.buckets.list access to the Google Cloud project. Permission 'storage.buckets.list' denied on resource (or it may not exist).",
"domain": "global",
"reason": "forbidden"
}
]
}
}
要求缺少的權限
如果您沒有權限修改機構中的存取權相關政策,就無法自行解決權限錯誤。不過,您可以根據錯誤訊息中的情境,向管理員傳送存取要求。
您可以透過下列方式要求存取權:
要求必要權限。這項解決方法適用於所有類型的權限錯誤。
針對 Privileged Access Manager 授權要求授權。只有在權限錯誤是由允許政策所致,且您擁有具備必要權限的 Privileged Access Manager 授權時,這項解決方法才有效。
要求具備必要權限的角色。只有在權限錯誤是由允許政策所致時,這項解決方法才有效。
如果您使用 Google Cloud 控制台,且具備授予角色的必要權限,可以直接從錯誤訊息授予自己角色,不必提出要求。詳情請參閱在 Google Cloud 控制台中自行授予角色。
要求必要權限
如要要求必要權限,請按照下列步驟操作:
控制台
在缺少權限的清單中,按一下「要求權限」。
在「要求存取權」面板中,選擇通知管理員的方式:
gcloud
從錯誤訊息複製缺少的權限清單,然後使用偏好的要求管理系統,請管理員授予這些權限。
REST
從錯誤訊息複製缺少的權限清單,然後使用偏好的要求管理系統,請管理員授予這些權限。
要求授予 Privileged Access Manager 授權
Privileged Access Manager 權限定義了一組可隨時要求的 IAM 角色。如果要求成功,系統會暫時授予您要求的角色。
只有在權限錯誤是由允許政策所致,且您具備 Privileged Access Manager 授權和必要權限時,才能使用這個解決方法。
如要要求授予現有權限,請執行下列步驟:
控制台
如果看到錯誤訊息,請找出「要求臨時存取權」部分。這個部分會列出所有 Privileged Access Manager 權限,其中包含具備必要權限的角色。

如果沒有傳回「要求臨時存取權」部分,表示沒有任何權利包含必要權限。在這種情況下,您可以請管理員建立新的授權。
查看可用的權利清單,然後選取要申請授權的權利。
按一下授權,然後點選「要求存取權」。
在「要求授權」面板中,輸入授權要求詳細資料:
授權的必要時間長度,最長不得超過授權設定的時間長度上限。
如有需要,請提供授權理由。
選用:要通知授權要求的電子郵件地址。系統會自動通知與核准者相關聯的 Google 身分。不過,您可能想通知另一組電子郵件地址,特別是使用員工身分聯盟時。
按一下「申請補助」。
如要查看授權記錄 (包括核准狀態),請前往Google Cloud 控制台的「Privileged Access Manager」頁面,然後依序點選「Grants」>「My grants」。
gcloud
REST
要求角色
如果權限錯誤是由允許政策所致,您可以要求管理員授予您具備必要權限的角色,以解決錯誤。
如果錯誤是由其他政策類型所致,或不確定是哪種政策類型導致錯誤,請改為要求必要權限。
控制台
在「要求特定角色」部分,查看建議角色清單,然後選擇要要求的角色。點選角色即可查看更多詳細資料。只有在權限錯誤是由允許政策所造成時,才會顯示這個部分。
按一下所選角色,然後點選「要求角色」。
在「要求存取權」面板中,選擇通知管理員的方式:
如果貴機構支援重要聯絡人,並允許系統自動產生存取要求電子郵件,您就可以將這類郵件傳送給貴機構的技術重要聯絡人。如要傳送這封電子郵件,請按照下列步驟操作:
- 選取「傳送自動產生的電子郵件」。
- 新增您想加入的任何要求相關背景資訊。
- 按一下 [傳送要求]。
如要複製存取要求並貼入慣用的要求管理系統,請按照下列步驟操作:
- 如果貴機構支援重要聯絡人,並允許自動產生電子郵件,但您想手動傳送通知,請選取「手動通知」。
- 新增您想加入的任何要求相關背景資訊。
- 按一下「複製訊息」。
- 請將要求貼入您慣用的要求管理系統。
管理員會收到您的存取要求,以及您提供的任何其他背景資訊。
gcloud
找出包含缺少的權限的 IAM 角色。
如要查看包含特定權限的所有角色,請在 IAM 角色和權限索引中搜尋該權限,然後按一下權限名稱。
如果沒有符合您用途的預先定義角色,您可以改為建立自訂角色。
使用您慣用的要求管理系統,要求管理員授予您該角色。
REST
找出包含缺少的權限的 IAM 角色。
如要查看包含特定權限的所有角色,請在 IAM 角色和權限索引中搜尋該權限,然後按一下權限名稱。
如果沒有符合您用途的預先定義角色,您可以改為建立自訂角色。
使用您慣用的要求管理系統,要求管理員授予您該角色。
在 Google Cloud 控制台中自行授予角色
如果在 Google Cloud 控制台中遇到權限錯誤,且您具備授予角色所需的權限,可以直接透過權限錯誤訊息授予自己角色:
在「Select a role to grant」(選擇要授予的角色) 部分,查看建議角色清單,然後選擇要申請的角色。點選角色即可查看更多詳細資料。
如要授予所選角色,請按一下該角色,然後點選「授予存取權」。
解決存取要求中的權限錯誤
如果您是管理員,使用者在 Google Cloud 控制台中遇到權限錯誤時,可能會向您提出存取要求。這些要求通常會傳送給下列人員:
貴機構的技術聯絡人。如果貴機構已啟用「必要聯絡人」並允許系統自動產生存取權要求電子郵件,那麼在Google Cloud 控制台中遇到權限錯誤的使用者,可以選擇將系統自動產生的存取權要求,傳送給貴機構的技術必要聯絡人。
透過您慣用的要求管理系統設定的聯絡人。 如果使用者在 Google Cloud 控制台中遇到權限錯誤,可以選擇複製存取要求訊息,然後使用偏好的要求管理系統傳送該訊息。
這類訊息通常採用下列格式:
user@example.com is requesting a role on the resource example.com:example-project.
Requestor's message:
"I need access to example-project to complete my work."
You may be able to resolve this request by granting access directly at:
ACCESS_REQUEST_PANEL_URL
Or use the Policy Troubleshooter to determine what's preventing access for user@example.com:
POLICY_TROUBLESHOOTER_URL
您可以透過下列方式處理這些要求:
直接解決存取權問題:存取要求會提供 Google Cloud 控制台的存取要求面板連結。如果權限錯誤是由允許政策所致,可以直接從該面板解決存取權問題。
在存取要求面板中,您可以查看要求詳細資料,並選擇如何回覆要求。你可以透過下列方式回覆:
- 授予要求的角色
- 將使用者新增至現有群組,該群組已具備必要存取權
- 拒絕要求
在政策疑難排解工具中查看其他詳細資料:存取要求包含政策疑難排解工具的連結,可讓您查看哪些政策禁止使用者存取。您可以根據這項資訊,決定如何解決使用者的存取權問題。詳情請參閱本頁的「找出導致權限錯誤的政策」。
使用政策疑難排解工具修正存取權問題 (預覽版): 存取要求也包含政策修正摘要的連結,其中說明要求詳細資料,包括要求主體、資源和權限。在政策修正摘要中,您可以直接解決涉及允許政策的存取要求,並進一步瞭解禁止使用者存取的政策。
如要進一步瞭解如何使用政策修正摘要解決存取要求,請參閱「修正存取權問題」。
手動解決權限錯誤
如果您是管理員,且有權修改貴機構的存取權相關政策,無論導致錯誤的政策類型為何,都可以使用這些策略解決權限錯誤。
如要解決權限錯誤,請先判斷是哪些政策 (允許、拒絕或主體存取邊界) 導致錯誤。然後解決錯誤。
找出導致權限錯誤的政策
如要判斷哪些政策導致權限錯誤,請使用政策疑難排解工具。
政策疑難排解工具可協助您瞭解主體是否能存取資源。指定主體、資源和權限後,政策疑難排解工具會檢查影響主體存取權的允許政策、拒絕政策和主體存取邊界 (PAB) 政策。然後,根據這些政策,系統會告知主體是否能使用指定權限存取資源。並列出相關政策,說明這些政策如何影響主體的存取權。如要瞭解如何排解存取權問題及解讀政策疑難排解工具結果,請參閱「排解 IAM 權限問題」。
Google Cloud 控制台中的錯誤訊息會提供連結,導向「政策疑難排解工具」的修正頁面 (預覽版),其中列出要求涉及的主體、權限和資源。如要查看這個連結,請按一下「查看疑難排解詳細資料」,然後點選「政策疑難排解工具」。詳情請參閱「修正存取要求」。
更新存取權以解決權限錯誤
瞭解導致權限錯誤的政策後,即可採取步驟解決錯誤。
通常,解決錯誤需要建立或更新允許、拒絕或主體存取邊界政策。
不過,您也可以選擇其他解決錯誤的方法,不一定要更新政策。舉例來說,您可以將使用者加入具有必要權限的群組,或新增標記,將資源從政策中排除。
如要瞭解如何解決各類型政策造成的權限錯誤,請參閱下列文章:
解決允許政策權限錯誤
如要解決允許政策造成的權限錯誤,請執行下列任一操作。
授予具備必要權限的角色
如要找出並授予具備必要權限的角色,請按照下列步驟操作:
找出包含缺少的權限的 IAM 角色。
如要查看包含特定權限的所有角色,請在 IAM 角色和權限索引中搜尋該權限,然後按一下權限名稱。
如果沒有符合您用途的預先定義角色,您可以改為建立自訂角色。
找出要將角色授予哪一個主體:
- 如果只有該使用者需要這項權限,請直接授予使用者該角色。
- 如果使用者所屬的 Google 群組包含需要類似權限的使用者,請考慮將角色授予群組。如果您將角色授予群組,該群組的所有成員都能使用這項權限,除非他們明確遭到拒絕使用這項權限。
核准 Privileged Access Manager 權限的授予項目
Privileged Access Manager 授權可讓使用者要求取得特定 IAM 角色。如果您核准使用者的授權要求,系統就會暫時授予使用者要求的角色。
如果使用者已具備 Privileged Access Manager 授權,且角色包含必要權限,即可針對該授權要求授予權限。對方提出授權要求後,您可以核准授權,解決對方的權限錯誤。
如果使用者沒有權利,您可以建立新的權利,供他們申請授權。
將使用者加入 Google 群組
如果 Google 群組在資源上獲得角色,該群組的所有成員就能使用該角色中的權限存取資源。
如果現有群組已獲派具備必要權限的角色,只要將使用者新增至該群組,即可授予必要權限:
找出具有必要權限角色的群組。如果您已使用政策疑難排解工具排解要求問題,可以查看政策疑難排解工具結果,找出具備必要權限的群組。
或者,您也可以使用政策分析工具,找出具備必要權限的群組。
解決拒絕政策權限錯誤
如要解決與拒絕政策相關的權限錯誤,請執行下列任一操作。
豁免拒絕政策
如果拒絕規則禁止使用者存取資源,您可以採取下列任一做法,讓使用者不受該規則限制:
在拒絕規則中,將使用者新增為例外主體。例外主體是指不受拒絕規則影響的主體,即使他們是拒絕規則中包含的群組成員也一樣。
如要將例外主體新增至拒絕規則,請按照步驟更新拒絕政策。更新拒絕政策時,請找出封鎖存取權的拒絕規則,然後將使用者的主體 ID 新增為例外主體。
將使用者加入免除規則限制的群組。如果群組列為例外主體,該群組的所有成員都會豁免於拒絕規則。
如要將使用者加入豁免群組,請按照下列步驟操作:
將權限從拒絕政策中移除
拒絕規則可防止所列主體使用特定權限。如果拒絕規則封鎖使用者存取資源,您可以從拒絕規則中移除使用者所需的權限。
如要從拒絕規則中移除權限,請按照步驟更新拒絕政策。更新拒絕政策時,請找出封鎖存取權的拒絕規則,然後執行下列任一操作:
- 如果拒絕政策個別列出必要權限,請找出必要權限並從拒絕規則中移除。
- 如果拒絕規則使用權限群組,請將必要權限新增為例外權限。例外權限是指即使屬於規則中包含的權限群組,也不會遭到拒絕規則封鎖的權限。
將資源從拒絕政策中排除
您可以使用拒絕政策中的條件,根據資源的標記套用拒絕規則。如果資源的標記不符合拒絕規則中的條件,系統就不會套用拒絕規則。
如果拒絕規則封鎖了資源存取權,您可以編輯拒絕規則中的條件或資源上的標記,確保拒絕規則不適用於該資源。
解決主體存取邊界政策權限錯誤
根據預設,主體可以存取任何 Google Cloud 資源。 不過,如果主體受到任何主體存取邊界政策的限制,就只能存取所屬主體存取邊界政策中列出的資源。在這些情況下,主體存取邊界政策可能會禁止主體存取資源。
如要解決與主體存取邊界政策相關的錯誤,請執行下列任一操作。
將資源新增至主體存取邊界政策
如果資源包含在使用者適用的主體存取邊界政策中,使用者就能存取該資源。
如要將資源新增至主體存取邊界政策,請執行下列其中一項操作:
建立新的主體存取邊界政策:
- 建立新的主體存取邊界政策,其中包含資源。
將政策繫結至包含該使用者的主體組合。
如要進一步瞭解主體集,請參閱「支援的主體集」。
更新現有的主體存取邊界政策:
- 列出使用者所屬主體集的主體存取邊界政策繫結。每個繫結代表繫結至主體組合的主體存取邊界政策。
- 從繫結清單中找出要修改的主體存取邊界政策。
- 選用:列出政策的主體存取邊界政策繫結,查看政策繫結至哪些主體組合。更新政策會影響政策繫結的所有主體組合存取權。
- 編輯主體存取邊界政策,加入資源。
新增條件,豁免特定主體
您可以在主體存取邊界政策繫結中使用條件,進一步指定要對哪些主體強制執行主體存取邊界政策。
如要避免使用者受到主體存取邊界政策限制,請在主體存取邊界政策繫結中使用條件,將使用者排除在主體存取邊界政策之外。
如要透過這種方式解決錯誤,您必須免除使用者受限的所有主體存取邊界政策。這樣一來,使用者就能存取任何 Google Cloud 資源。
我們不建議採用這種做法。建議將資源新增至主體存取邊界政策。
如要查看使用者適用的主體存取邊界政策,請列出使用者所屬主體集的政策繫結。每個繫結代表繫結至主體組合的主體存取邊界政策。
如要瞭解如何將條件新增至主體存取邊界政策繫結,請參閱「編輯主體存取邊界政策的現有政策繫結」。