本文說明如果沒有資源的必要存取權,可能會遇到的錯誤訊息。
導致權限錯誤訊息的問題
如果您嘗試存取沒有權限的資源, 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"
}
]
}
}