AMS で CFN 取り込みまたはスタック更新 CTs を使用した自動 IAM デプロイ - AMS Advanced Application デベロッパーガイド

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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 のサービス および リソースへの読み取り専用アクセスを提供する AWS 管理ポリシー ReadOnlyAccess のすべてのアクション

    • 次のアクションは、クロスアカウント 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

1 つ以上の検証が失敗すると、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 スタックテンプレートに反映されず、スタックドリフトが発生します。ロールが手動リクエストによって検証に合格しない状態に更新されると、検証に準拠していない限り、スタック更新 CT (ct-361tlo1k7339x) を使用してロールを再度更新することはできません。更新 CT は、CFN スタックテンプレートが検証に準拠している場合にのみ使用できます。ただし、検証に準拠していない IAM リソースが更新されておらず、CFN テンプレートが検証に合格している限り、スタックは スタック更新 CT (ct-361tlo1k7339x) を介して更新できます。

取り込みによって作成された IAM AWS CloudFormation ロールの削除

スタック全体を削除する場合は、次の自動 Delete Stack 変更タイプを使用します。手順については、「スタックの削除」を参照してください。

  • 変更タイプ ID: ct-0q0bic0ywqk6c

  • 分類: 管理 | 標準スタック | スタック | 削除と管理 | 高度なスタックコンポーネント | スタック | 削除

スタック全体を削除せずに IAM ロールを削除する場合は、CloudFormation テンプレートから IAM ロールを削除し、更新されたテンプレートを自動 Stack Update 変更タイプへの入力として使用できます。

  • 変更タイプ ID: ct-361tlo1k7339x

  • 分類: 管理 | カスタムスタック | CloudFormation テンプレートからのスタック | 更新

手順については、AWS CloudFormation 「取り込みスタックの更新」を参照してください。