DoiT コンソール経由で AWS アカウントをリンクする
DoiT コンソール経由で新しい AWS アカウントをリンクする場合は、環境に応じて次のアプローチから選択してください。
-
個別の AWS アカウント: 各アカウントごとに CloudFormation スタック を作成するか、ロールを手動で作成 します。
-
AWS Organizations の OU または組織ルート配下の複数アカウント: 管理アカウントでサービス管理型の権限を使用して CloudFormation StackSet を作成します。
CloudFormation StackSet の前提条件
CloudFormation StackSet を使用するには、次の条件を満たす必要があります。
- 管理アカウントへアクセスできる必要があります(DoiT の統合請求アカウントを利用している場合は利用できません)。
StackSet を使用すると、必要な権限を、単一のセットアップでデプロイメントターゲット内のすべてのメンバーアカウントに自動的にデプロイできます。また、アカウントライフサイクル管理も自動化されます。
-
新しいメンバーアカウントを AWS Organizations に追加した場合、StackSet が必要な権限をデプロイし、DoiT が自動的にそのアカウントを検出します。
-
アカウントをリンク済み OU またはルートの外に移動した場合、そのアカウントからスタックが自動的に削除され、そのアカウントでは機能が利用できなくなります。
既に CloudFormation スタックを使用して接続されているアカウントについて CloudFormation StackSet アプローチへ切り替えるには、先に各アカウントのリンクを解除するか、AWS コンソールで CloudFormation スタックを削除する必要があります。
新しいアカウントをリンクする
新しい AWS アカウントをリンクするには、次の手順を実行してください。
-
DoiT コンソール の上部ナビゲーションのメガメニューから Data ingestion and integrations > AWS を選択します。
-
Connect Amazon Web Services ページで、新しいアカウントをリンク を選択します。

-
必要なポリシーを含む クロスアカウント AWS IAM ロール を作成するためのオプションを選択します。
-
ロールを自動的に作成(推奨): DoiT が CloudFormation スタックまたは StackSet を起動し、必要なポリシーをデプロイします。
-
ロールを手動で作成: AWS コンソールで IAM ロールを作成し、そのロール ARN を DoiT コンソールに貼り付けます。
-
ロールを自動的に作成する
-
ロールを自動的に作成 を選択します。
-
AWS アカウントで有効化する機能を選択します。各機能を展開すると、必要な AWS ポリシーを確認できます。

-
Read-only permissions: Read-only アクセスのみを必要とする機能はデフォルトで含まれており、手動で選択する必要はありません。
-
Write permissions: Write アクセスを必要とする機能は、対応するチェックボックスを選択して手動で追加する必要があります。
-
Real-time anomalies を選択する場合、CloudTrail イベントファイルを含む S3 bucket を指定する必要があります。詳細については、Enable real-time anomaly on AWS accounts を参照してください。
-
-
新しいアカウントをリンク を選択します。
-
クロスアカウント IAM ロールの作成方法を選択します。

-
Deployment target ID: 管理アカウントでサービス管理型の権限を持つ CloudFormation StackSet を作成するために、この項目は必須です。
-
Link single account: 個別のアカウント向けに CloudFormation スタック を作成する場合にこのオプションを選択します。
-
CloudFormation StackSets
このアプローチでは、Deployment target ID を指定する必要があります(CloudFormation StackSet の前提条件 も参照してください)。
-
AWS Organizations コンソール を 開き、選択した機能をメンバーアカウントに付与したい Organizational Unit (OU) または組織ルートを特定します。
-
OU ID(例:
ou-abcd-12345678)またはルート ID(例:r-abcd)をコピーします。 -
DoiT コンソールに戻り、Deployment target ID フィールドに OU ID またはルート ID を貼り付けます。
-
ダイアログ内のメッセージを確認し、新しいアカウントをリンク を選択します。
-
AWS CloudFormation の Quick create stack ページにリダイレクトされ、サービス管理型の権限を持つ CloudFormation StackSet を作成 します。
サービス管理型の権限を使用する StackSet を初めて作成する場合、AWS から AWS Organizations 用の StackSet の信頼されたアクセスを有効化 するよう求められます。
-
パラメータを確認します。スタック名と、デプロイメントターゲット ID や External ID を含む必須パラメータは自動的に入力されます。
-
必要に応じて次の閾値を調整します。
-
FailureTolerancePercentage: StackSet の処理が停止するまでに失敗を許容できるアカウントのパーセンテージです。DoiT テンプレートでは 20 に設定されています。
-
Max Concurrent Percentage: 同時にデプロイする対象アカウントの最大パーセンテージです。DoiT テンプレートでは 100 に設定され ています。
-
-
ページ下部までスクロールし、AWS CloudFormation がカスタム名を持つ IAM リソースを作成する可能性があること、および
CAPABILITY_AUTO_EXPAND機能が必要となることを確認するチェックボックスを選択します。 -
Create stack を選択します。
処理には数分かかる場合があります。成功すると、リンクされた AWS アカウントのステータスが Healthy と表示されます。
CloudFormation スタック
CloudFormation スタックテンプレートを作成するために AWS コンソールに移動します。
-
AWS CloudFormation コンソールまたは AWS CloudShell を使用して、IAM ロール用の CloudFormation スタックを作成します。
- AWS CloudFormation console
- AWS CloudShell
-
新しいアカウントをリンク を選択し、AWS CloudFormation コンソール で DoiT スタックテンプレートを起動します。
-
US East (N. Virginia) us-east-1リージョンにいることを確認します。
-
ページ下部のチェックボックスを選択し、AWS CloudFormation がカスタム名を持つ IAM リソースを作成する可能性があることを確認します。

-
スタックを作成します。(クロスアカウント AWS IAM ロール も参照してください。)
-
Prefer CLI を選択します。
-
ポップアップウィンドウからコマンドをコピーします。
注意実行前に CLI コマンドを編集する場合でも、リージョンは必ず
us-east-1のままにしておく必要があります。 -
AWS CloudShell でコマンドを実行し、指定された CloudFormation スタックを作成します。
スタック作成後、アカウントがプラットフォームにリンクされるまで最大 30 秒かかる場合があります。成功すると、リンクされた AWS アカウントのステータスが Healthy と表示されます。
ロールを手動で作成する
このオプションは、すべての種類の AWS アカウントに適用されます。
-
Create a role manually を選択します。
-
DoiT コンソールに表示されている
Our AWS AccountとYour External IDの値を控えます。
-
(任意)アカウントでReal-time Anomaly Detection を有効にする場合は、AWS CloudTrail の S3 バケット名を入力し、バケットが存在するリージョンを指定します(バケットはサポートされているリージョンのいずれかに存在している必要があります)。
-
AWS Management Console で AWS IAM ロールを作成します。(Creating an IAM role (console) も参照してください。)
-
AWS IAM console に移動し、左側のナビゲーションペインで Roles を選択してから、Create role を選択します。
-
trusted entity として AWS account を選択します。
-
Another AWS account を選択し、DoiT AWS アカウント ID(DoiT コンソールで提供される
Our AWS Account)を入力します。 -
Require external IDチェックボックスを選択し、External ID を入力します。 -
Next を選択して、権限を追加します。
有効にする機能に応じてポリシーを選択します。
-
Core の場合は、特定の AWS マネージドポリシーをロールに追加します。
-
その他の機能については、Create policy を選択し、JSON タブに切り替えて、該当する機能の権限を貼り付けてカスタムポリシーを作成します。
参照AWS ドキュメント: Creating IAM policies (console)
-
-
ポリシーを作成したら、元のタブに戻ります。検索リストに新しいポリシーを表示するには、画面を更新する必要がある場合があります。
-
Core 機能に必須の 3 つの組み込みポリシーに加えて、有効にしたい機能用の新しいポリシーをすべて選択します。
-
Next を選択し、ロール名を付けて、選択したポリシーを確認し、Create role を選択します。
-
-
ロールを作成したら、ロール名を選択してサマリーページを開き、ロールの ARN の値をコピーして、DoiT コンソールに Role ARN を貼り付けます。
-
Add を選択して、AWS アカウントをリンクします。
成功すると、DoiT コンソール上で AWS アカ ウントのステータスが Healthy と表示されます。
リンク済みアカウントの管理
このセクションは、CloudFormation StackSets 経由でリンクされていない AWS アカウントにのみ適用されます。OU のメンバーアカウントのリンクを解除するには、そのアカウントを OU から削除する必要があります。メンバーアカウントの機能アクセスを変更するには、目的の機能セットを持つ別の OU にそのアカウントを移動してください。
アカウントのリンクを解除する
アカウントのリンクを解除するには:
-
Link Amazon Web Services ページに移動します。
-
対象のアカウントを探します。
-
アカウント行の一番右端にあるケバブメニュー(⋮)を選択します。
-
Unlink account を選択します。

機能アクセスの変更
機能を追加する
新しい機能を追加するには、リンク済みアカウントの IAM ロールを更新して、追加の権限を付与する必要があります。
-
アカウント行の一番右端にあるケバブメニュー(⋮)を選択します。
-
Edit account を選択します。
-
追加する新しい機能のチェックボックスを選択します。
DoiT PartnerOps のエンドカスタマーの場合、機能リストはキュレートされており、一部の機能はデフォルトで選択されています。たとえば、AWS Billing Transfer が有効になっていない AWS 管理アカウントでは、CloudFlow がデフォルトで選択されており、CloudFlow で AWS 接続を作成する ために必須です。どの機能が表示されるかとそのデフォルト設定については、Enable features を参照してください。

-
次のいずれかのオプションを使用して、新しい権限で IAM ロールを更新します。
-
Update account を選択して、AWS コンソールで CloudFormation スタックを作成します。
-
Prefer CLI を選択して、AWS CloudShell 経由で CloudFormation スタックを作成するためのコマンドを取得します。
詳細については、Create a role automatically を参照してください。
-
機能を削除する
機能を削除するには:
-
AWS コ ンソールで IAM ページを開きます。
-
リンク済みアカウントのロールから、その機能に関連付けられているポリシーをデタッチします。
機能ごとの権限
以下は、リンク済みアカウントで有効にできる Core 機能および一部の機能に必要な権限です。利用可能な機能の完全な一覧については、Security and data access policy: Amazon Web Services を参照してください。
Core、Quota Monitoring など:
- Core
- PerfectScale for Spot
- Quota Monitoring
- Kubernetes core
- Real-time anomalies
Core の権限は、3 つの AWS マネージドポリシーで構成されます。IAM ロールを自動的に作成することを選択した場合、Cloud Intelligence プラン内の他の DoiT 機能に必要な読み取り専用権限も Core 権限に含まれます。
| AWS managed policy | 説明 |
|---|---|
SecurityAudit | セキュリティ構成メタデータを読み取るためのアクセス権限を付与します。 |
AWSSavingsPlansReadOnlyAccess | Savings Plans サービスへの読み取り専用アクセスを提供します。 |
Billing | Billing とコスト管理に関する権限を付与します。 |
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:Describe*",
"ec2:CreateLaunchTemplate",
"ec2:CreateLaunchTemplateVersion",
"ec2:ModifyLaunchTemplate",
"ec2:RunInstances",
"ec2:TerminateInstances",
"ec2:CreateTags",
"ec2:DeleteTags",
"ec2:CreateLaunchTemplateVersion",
"ec2:CancelSpotInstanceRequests",
"autoscaling:CreateOrUpdateTags",
"autoscaling:UpdateAutoScalingGroup",
"autoscaling:Describe*",
"autoscaling:AttachInstances",
"autoscaling:BatchDeleteScheduledAction",
"autoscaling:BatchPutScheduledUpdateGroupAction",
"cloudformation:ListStacks",
"cloudformation:Describe*",
"iam:PassRole",
"events:PutRule",
"events:PutTargets",
"events:PutEvents"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"support:DescribeTrustedAdvisorCheckSummaries",
"support:DescribeTrustedAdvisorCheckRefreshStatuses",
"support:DescribeTrustedAdvisorChecks",
"support:DescribeSeverityLevels",
"support:RefreshTrustedAdvisorCheck",
"support:DescribeSupportLevel",
"support:DescribeCommunications",
"support:DescribeServices",
"support:DescribeIssueTypes",
"support:DescribeTrustedAdvisorCheckResult",
"trustedadvisor:DescribeNotificationPreferences",
"trustedadvisor:DescribeCheckRefreshStatuses",
"trustedadvisor:DescribeCheckItems",
"trustedadvisor:DescribeAccount",
"trustedadvisor:DescribeAccountAccess",
"trustedadvisor:DescribeChecks",
"trustedadvisor:DescribeCheckSummaries"
],
"Resource": "*"
}
]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"eks:ListAccessPolicies",
"eks:ListAccessEntries",
"eks:DescribeCluster",
"eks:ListClusters"
],
"Resource": "*"
}
]
}
Real-time anomalies を利用するには、IAM ポリシーに加えて、CloudTrail バケット用の Amazon S3 イベント通知を構成し、Real-time anomaly SNS トピックを宛先として指定する必要があります。
IAM ポリシー
このポリシーは、クロスアカウントロールが EC2 AMI を記述し、KMS で暗号化されたデータを復号し、CloudTrail ログを保持している S3 バケットにアクセスできるようにします。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowDescribeImagesForRealtimeData",
"Effect": "Allow",
"Action": "ec2:DescribeImages",
"Resource": "*"
},
{
"Sid": "AllowAccessToEncryptedS3Buckets",
"Effect": "Allow",
"Action": "kms:Decrypt",
"Resource": "*"
},
{
"Sid": "AllowCloudTrailBucketLevelAccess",
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketNotification"
],
"Resource": "arn:aws:s3:::YOUR_CLOUDTRAIL_BUCKET_NAME"
},
{
"Sid": "AllowCloudTrailObjectLevelAccess",
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::YOUR_CLOUDTRAIL_BUCKET_NAME/*"
}
]
}
CloudTrail S3 バケット通知
詳細な手順については、Configure S3 bucket event notification を参照してください。
AWS では、各イベント通知タイプにつき 1 つの宛先のみがサポートされている点に注意してください。CloudTrail S3 バケットで、すでに別の宛先に対して s3:ObjectCreated:* イベントタイプが構成されていないことを確認してください。
Insights:
- Trusted Advisor insights
- Cost Optimization Hub insights
- Security Hub insights
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"trustedadvisor:GetRecommendation",
"trustedadvisor:ListRecommendations",
"trustedadvisor:ListRecommendationResources"
],
"Resource": "*"
}
]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cost-optimization-hub:ListRecommendations"
],
"Resource": "*"
}
]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"securityhub:GetFindings"
],
"Resource": "*"
}
]
}