的以身分為基礎的政策範例 - AWS Amplify

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

的以身分為基礎的政策範例

預設情況下,IAM 使用者和角色沒有建立或修改 Amplify 資源的許可。他們也無法使用 AWS 管理主控台、AWS CLI 或 AWS API 執行任務。IAM 管理員必須建立 IAM 政策,授予使用者和角色在他們所需資源上執行動作的許可。管理員接著必須將這些政策連接至需要這些許可的 IAM 使用者或群組。

若要了解如何使用這些範例 JSON 政策文件來建立 IAM 身分型政策,請參閱。在 JSON 標籤上建立政策中的IAM 使用者指南

政策最佳實務

身分類型政策相當強大。他們可以判斷您帳戶中的某個人員是否可以建立、存取或刪除 Amplify 資源。這些動作可能會讓您的 AWS 帳戶產生成本。當您建立或編輯身分類型政策時,請遵循下列準則及建議事項:

  • 開始使用 AWS 受管政策— 若要快速開始使用 Amplify,請使用 AWS 受管政策來給予員工所需許可。這些政策已在您的帳戶中提供,並由 AWS 維護和更新。如需詳細資訊,請參閱「」開始使用許可搭配 AWS 受管政策中的IAM 使用者指南

  • 授予最低權限 – 當您建立自訂原則時,請只授予執行任務所需要的許可。以最小一組許可開始,然後依需要授予額外的許可。如此做比一開始使用太寬鬆的許可更為安全,然後稍後再嘗試將它們限縮。如需詳細資訊,請參閱「」授予最低權限中的IAM 使用者指南

  • 為敏感操作啟用 MFA – 為了增加安全,請要求IAM 使用者使用 Multi-Factor Authentication (MFA) 存取敏感資源或 API 操作。如需詳細資訊,請參閱「」AWS 中使用多重因素身分 (MFA)中的IAM 使用者指南

  • 使用原則條件以增加安全 – 在切實可行的範圍中,請定義您身份類型原則允許存取資源的條件。例如,您可以撰寫條件,來指定必須發出各種請求的可允許 IP 地址範圍。您也可以撰寫條件,只在指定的日期或時間範圍內允許請求,或是要求使用 SSL 或 MFA。如需詳細資訊,請參閱「」IAM JSON 政策元素:Condition中的IAM 使用者指南

使用 Amplify

若要存取 AWS Amplify 主控台,您必須擁有最基本的一組許可。這些許可必須允許您列出和檢視您 AWS 帳戶中 Amplify 資源的詳細資訊。如果您建立比最基本必要許可更嚴格的身分型政策,則對於具有該政策的實體 (IAM 使用者或角色) 而言,主控台就無法如預期運作。

對於僅呼叫 AWS CLI 或 AWS API 的使用者,您不需要允許其最基本主控台許可。反之,只需允許存取符合您嘗試執行之 API 操作的動作就可以了。

隨著管理員 UI 的發行,刪除應用程式或後端需要amplifyamplifybackend許可。如果 IAM 政策僅提供amplify權限時,使用者在嘗試刪除應用程式時會收到權限錯誤。如果您是撰寫原則的管理員,請使用許可參考,以判斷正確的權限,以提供需要執行刪除動作的使用者。

為了確保使用者和角色仍可使用 Amplify 主控台,請連接 Amplify 主控台。ConsoleAccessReadOnlyAWS 受管政策套用至實體。如需詳細資訊,請參閱「」新增許可到使用者中的IAM 使用者指南

允許使用者檢視他們自己的許可

此範例會示範如何建立政策,允許 IAM 使用者檢視連接到他們使用者身分的內嵌及受管政策。此政策包含在主控台上,或是使用 AWS CLI 或 AWS API 以程式設計方式完成此動作的許可。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }