政策結構 - AWS Batch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

政策結構

下列主題說明 IAM 政策的結構。

政策語法

IAM 政策為包含一或多個陳述式的 JSON 文件。每個陳述式的結構如下所示。

{ "Statement":[{ "Effect":"effect", "Action":"action", "Resource":"arn", "Condition":{ "condition":{ "key":"value" } } } ] }

陳述式由各種元素組成:

  • Effect (效果):效果 可以是 AllowDeny。根據預設,使用者沒有使用資源和 API 動作的權限。因此,所有請求都被拒絕。明確允許覆寫預設值。明確拒絕覆寫任何允許。

  • 動作動作是您授與或拒絕權限的特定 API 動作。如需有關如何指定動作的指示,請參閱AWS Batch 動作

  • Resource (資源):受動作影響的資源。使用某些 AWS Batch API 動作,您可以在策略中包含可由動作建立或修改的特定資源。若要在陳述式中指定資源,請使用它的 Amazon Resource Name (ARN)。如需詳細資訊,請參閱 支援動作的資源層級權限 AWS Batch APIAWS Batch 的 Amazon Resource Name。如果 AWS Batch API 作業目前不支援資源層級權限,請包含萬用字元 (*),以指定所有資源都可以受到動作的影響。

  • Condition (條件):條件為選擇性。您可以使用它們來控制何時政策開始生效。

如需有關的 IAM 政策陳述式範例的詳細資訊AWS Batch,請參閱建立 AWS Batch IAM 政策

AWS Batch 動作

在 IAM 政策陳述式中,您可以從任何支援 IAM 的服務指定任何 API 動作。對於AWS Batch,請使用下列前置詞搭配 API 動作的名稱:batch:(例如batch:SubmitJobbatch:CreateComputeEnvironment)。

若要在單一陳述式中指定多個動作,請以逗號分隔每個動作。

"Action": ["batch:action1", "batch:action2"]

您也可以透過包含萬用字元 (*) 來指定多個動作。例如,您可以指定名稱以「描述」一詞開頭的所有動作。

"Action": "batch:Describe*"

若要指定所有 AWS Batch API 動作,請包含萬用字元 (*)。

"Action": "batch:*"

如需AWS Batch動作清單,請參閱 AWS BatchAPI 參考中的動作

AWS Batch 的 Amazon Resource Name

每個 IAM 政策聲明都適用於您使用其 Amazon 資源名稱 (ARN) 指定的資源。

Amazon 資源名稱(ARN)具有以下一般語法:

arn:aws:[service]:[region]:[account]:resourceType/resourcePath
服務

服務 (例如,batch)。

region

資源的 (例如,us-east-2)。AWS 區域

account

AWS 帳戶 ID,不含連字號 (例如,123456789012)。

resourceType

資源類型 (例如,compute-environment)。

resourcePath

識別資源的路徑。您可以在路徑中使用萬用字元 (*)。

AWS BatchAPI 作業目前支援數個 API 作業的資源層級權限。如需詳細資訊,請參閱支援動作的資源層級權限 AWS Batch API。若要指定所有資源,或者特定 API 動作不支援 ARN,請在元素中加入萬用字Resource元 (*)。

"Resource": "*"

檢查使用者擁有必要的許可

在將 IAM 政策投入生產環境之前,請確定該政策授予使用者使用所需特定 API 動作和資源的許可。

若要這麼做,請先建立用於測試目的的使用者,然後將 IAM 政策附加到測試使用者。接著,以測試使用者的身分提出請求。您可以在主控台或 AWS CLI 中提出測試請求。

注意

您也可以使用 IAM 政策模擬器來測試政策。如需政策模擬器的詳細資訊,請參閱 IAM 使用者指南中的使用 IAM 政策模擬器

如果政策未授予使用者預期的許可,或授予過多許可,您可以視需要調整政策並重新測試。重新測試,直到您取得所要的結果。

重要

政策變更的散佈可能需要幾分鐘時間才能生效。因此,我們建議您至少在測試原則更新之前預留五分鐘的時間。

如果授權檢查失敗,請求將傳回包含診斷資訊的編碼訊息。您可使用 DecodeAuthorizationMessage 動作將訊息解碼。如需詳細資訊,請參閱 DecodeAuthorizationMessageAWS Security Token ServiceAPI 參考AWS CLI命令參考decode-authorization-message中的。