本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 AMS 中使用 CFN 擷取或堆疊更新 CTs自動化 IAM 部署
您可以使用這些 AMS 變更類型,在多帳戶登陸區域 (MALZ) 和單一帳戶登陸區域 (SALZ) 中部署 IAM 角色 (AWS::IAM::Role資源):
部署 | 擷取 | CloudFormation 範本的堆疊 | 建立 (ct-36cn2avfrrj9v)
管理 | 自訂堆疊 | CloudFormation 範本的堆疊 | 更新 (ct-361tlo1k7339x)
管理 | 自訂堆疊 | 從 CloudFormation 範本堆疊 | 核准和更新 (ct-1404e21baa2ox)
在 CFN 範本中的 IAM 角色上執行的驗證:
ManagedPolicyArns: 屬性 ManagedPolicyArns 不得存在於 中
AWS::IAM::Role。驗證不允許將受管政策連接至要佈建的角色。相反地,可以透過 屬性政策使用內嵌政策來管理角色的許可。PermissionsBoundary:用於設定角色許可界限的政策只能是 AMS 支援的受管政策:
AWSManagedServices_IAM_PermissionsBoundary。此政策可做為護欄,保護 AMS 基礎設施資源免於使用佈建的角色進行修改。使用此預設許可界限,可保留 AMS 提供的安全性優勢。AWSManagedServices_IAM_PermissionsBoundary(預設) 是必要項目,如果沒有,請求會遭到拒絕。MaxSessionDuration:IAM 角色可設定的工作階段持續時間上限為 1 到 4 小時。AMS 技術標準要求在超過 4 小時的工作階段期間接受客戶風險。
RoleName:以下命名空間由 AMS 保留,不能用作 IAM 角色名稱字首:
AmazonSSMRole, AMS, Ams, ams, AWSManagedServices, customer_developer_role, customer-mc-, Managed_Services, MC, Mc, mc, SENTINEL, Sentinel, sentinel, StackSet-AMS, StackSet-Ams, StackSet-ams, StackSet-AWS, StackSet-MC, StackSet-Mc, StackSet-mc政策:內嵌在 IAM 角色中的內嵌政策只能包含一組由 AMS 預先核准的 IAM 動作。這是允許使用 (控制政策) 建立 IAM 角色的所有 IAM 動作的上限。控制政策包含:
AWS 受管政策 ReadOnlyAccess 中的所有動作,提供對所有 AWS 服務 和 資源的唯讀存取權
下列動作具有跨帳戶 S3 動作的限制,亦即,允許的 S3 動作只能對與建立的角色位於相同帳戶中的資源執行:
amscm:*, amsskms:*, lambda:InvokeFunction, logs:CreateLogStream, logs:PutLogEvents, s3:AbortMultipartUpload, s3:DeleteObject, s3:DeleteObjectVersion, s3:ObjectOwnerOverrideToBucketOwner, s3:PutObject, s3:ReplicateTags, secretsmanager:GetRandomPassword, sns:Publish透過 CFN 擷取建立或更新的任何 IAM 角色都可以允許此控制政策中列出的動作,或從控制政策中列出的動作範圍縮小 (低於) 的動作。目前,我們允許這些可分類為唯讀動作的安全 IAM 動作,以及上述無法透過 CTs 完成且根據 AMS 技術標準預先核准的非唯讀動作。
AssumeRolePolicyDocument:下列實體已預先核准,並可包含在信任政策中,以擔任要建立的角色:
相同帳戶中的任何 IAM 實體 (角色、使用者、根使用者、STS 擔任角色工作階段) 都可以擔任該角色。
下列 AWS 服務 可以擔任 角色:
apigateway.amazonaws.com, autoscaling.amazonaws.com, cloudformation.amazonaws.com, codebuild.amazonaws.com, codedeploy.amazonaws.com, codepipeline.amazonaws.com, datapipeline.amazonaws.com, datasync.amazonaws.com, dax.amazonaws.com, dms.amazonaws.com, ec2.amazonaws.com, ecs-tasks.amazonaws.com, ecs.application-autoscaling.amazonaws.com, elasticmapreduce.amazonaws.com, es.amazonaws.com, events.amazonaws.com, firehose.amazonaws.com, glue.amazonaws.com, lambda.amazonaws.com, monitoring.rds.amazonaws.com, pinpoint.amazonaws.com, rds.amazonaws.com, redshift.amazonaws.com, s3.amazonaws.com, sagemaker.amazonaws.com, servicecatalog.amazonaws.com, sns.amazonaws.com, ssm.amazonaws.com, states.amazonaws.com, storagegateway.amazonaws.com, transfer.amazonaws.com, vmie.amazonaws.com相同帳戶中的 SAML 供應商可以擔任該角色。目前,唯一支援的 SAML 供應商名稱為
customer-saml。
如果一或多個驗證失敗,RFC 會遭到拒絕。RFC 拒絕原因範例如下所示:
{"errorMessage":"[ 'LambdaRole: The maximum session duration (in seconds) should be a numeric value in the range 3600 to 14400 (i.e. 1 to 4 hours).', 'lambda-policy: Policy document is too permissive.']","errorType":"ClientError"}
如果您需要有關 RFC 驗證或執行失敗的協助,請使用 RFC 通訊來聯絡 AMS。如需說明,請參閱 RFC 通訊和連接 (主控台)。如有任何其他問題,請提交服務請求。如需操作說明,請參閱建立服務請求。
注意
作為 IAM 驗證的一部分,我們目前不會強制執行任何 IAM 最佳實務。如需 IAM 最佳實務,請參閱 IAM 中的安全最佳實務。
建立具有更寬鬆動作或強制執行 IAM 最佳實務的 IAM 角色
使用下列手動變更類型建立 IAM 實體:
部署 | 進階堆疊元件 | Identity and Access Management (IAM) | 建立實體或政策 (ct-3dpd8mdd9jn1r)
管理 | 進階堆疊元件 | Identity and Access Management (IAM) | 更新實體或政策 (ct-27tuth19k52b4)
我們建議您在提交這些手動 RFCs之前,先閱讀並了解我們的技術標準。如需存取,請參閱如何存取技術標準。
注意
直接使用這些手動變更類型建立的每個 IAM 角色都屬於自己的個別堆疊,不會位於透過 CFN Ingest CT 建立其他基礎設施資源的相同堆疊中。
當無法透過自動變更類型完成更新時,透過手動變更類型更新使用 CFN 擷取建立的 IAM 角色
使用 管理 | 進階堆疊元件 | Identity and Access Management (IAM) | 更新實體或政策 (ct-27tuth19k52b4) 變更類型。
重要
透過手動 CT 的 IAM 角色更新不會反映在 CFN 堆疊範本中,並導致堆疊偏離。一旦透過手動請求將角色更新為未通過驗證的狀態,只要該角色持續不符合我們的驗證,就無法使用 Stack Update CT (ct-361tlo1k7339x) 再次更新該角色。只有在 CFN 堆疊範本符合我們的驗證時,才能使用更新 CT。不過,只要未更新不符合我們驗證的 IAM 資源,且 CFN 範本通過我們的驗證,堆疊仍可透過 Stack Update CT (ct-361tlo1k7339x) 進行更新。
刪除透過擷取建立的 IAM AWS CloudFormation 角色
如果您想要刪除整個堆疊,請使用下列自動刪除堆疊變更類型。如需說明,請參閱刪除堆疊:
變更類型 ID:ct-0q0bic0ywqk6c
分類:管理 | 標準堆疊 | 堆疊 | 刪除和管理 | 進階堆疊元件 | 堆疊 | 刪除
如果您想要刪除 IAM 角色而不刪除整個堆疊,您可以從 CloudFormation 範本中移除 IAM 角色,並使用更新後的範本做為自動堆疊更新變更類型的輸入:
變更類型 ID:ct-361tlo1k7339x
分類:管理 | 自訂堆疊 | CloudFormation 範本的堆疊 | 更新
如需說明,請參閱更新 AWS CloudFormation 擷取堆疊。