AWS Compute Optimizer 向けの Identity and Access Management - AWS Compute Optimizer

AWS Compute Optimizer 向けの Identity and Access Management

AWS Identity and Access Management (IAM) を使用して ID (ユーザー、グループ、またはロール) を作成し、これらの ID に対して AWS Compute Optimizer コンソールと API へのアクセス許可を付与できます。

デフォルトでは、IAM ユーザーには Compute Optimizer コンソールと API へのアクセス権はありません。IAM ポリシーを単一のユーザー、ユーザーのグループ、またはロールにアタッチすることで、ユーザーにアクセス権を付与します。詳細については、「ID (ユーザー、グループ、ロール)」と「IAM ユーザーガイドの IAM ポリシーの概要」を参照してください。

IAM ユーザーを作成したら、これらのユーザーに個別のパスワードを付与できます。ユーザーは、アカウント固有のサインインページを使用して、アカウントにサインインし、Compute Optimizer の情報を表示できます。詳細については、「ユーザーがアカウントにサインインする方法」を参照してください。

重要
  • EC2 インスタンスのレコメンデーションを表示するには、IAM ユーザーに ec2:DescribeInstances 権限が必要です。

  • EBS ボリュームに関するレコメンデーションを表示するには、IAM ユーザーに ec2:DescribeVolumes権限が必要です。

  • Auto Scaling グループのレコメンデーションを表示するには、IAM ユーザーに autoscaling:DescribeAutoScalingGroups および autoscaling:DescribeAutoScalingInstances 権限が必要です。

  • Lambda 関数のレコメンデーションを表示するには、IAM ユーザーに lambda:ListFunctions および lambda:ListProvisionedConcurrencyConfigs 権限が必要です。

  • Fargate の Amazon ECS サービスに関するレコメンデーションを表示するには、IAM ユーザーに ecs:ListServices および ecs:ListClusters 権限が必要です。

  • Compute Optimizer コンソールで現在の CloudWatch メトリクス データを表示するには、IAM ユーザーの cloudwatch:GetMetricData 権限が必要です。

  • 推奨商用ソフトウェアライセンスを表示するには、特定の Amazon EC2 インスタンスロールと IAM ユーザー権限が必要です。詳細については、「商用ソフトウェアライセンス推奨を有効にするポリシー」を参照してください。

  • Amazon RDS に関するレコメンデーションを表示するには、IAM ユーザーに rds:DescribeDBInstancesrds:DescribeDBClusters のアクセス許可が必要です。

アクセス許可を付与するユーザーまたはグループに既にポリシーがある場合は、そのポリシーに対して、ここに示した Compute Optimizer 固有のポリシーステートメントを追加できます。

AWS Organizations の信頼されたアクセス

組織の管理アカウントを使用することをオプトインし、組織内のすべてのメンバー アカウントを含めると、Compute Optimizer の信頼されたアクセスが組織アカウントで自動的に有効になります。これにより、Compute Optimizer がメンバーアカウントのコンピューティングリソースを分析し、レコメンデーションを生成することができます。

メンバー アカウントのレコメンデーションにアクセスするたびに、Compute Optimizer は組織アカウントで信頼されたアクセスが有効であることを確認します。オプトインした後に Compute Optimizer の信頼されたアクセスを無効にすると、Compute Optimizer は組織のメンバー アカウントのレコメンデーションへのアクセスを拒否します。さらに、組織内のメンバーアカウントは Compute Optimizer にオプトインされていません。信頼されたアクセスを再度有効にするには、組織の管理アカウントを使用して Compute Optimizer に再度オプトインし、組織のすべてのメンバーアカウントを含めてください。詳細については、「AWS Compute Optimizer へのオプトイン」を参照してください。AWS Organizations の信頼されたアクセスの詳細については、「AWS Organizations ユーザー ガイド」 の「他の AWS サービスでの AWS Organizations の使用」を参照してください。

Compute Optimizer へのオプトインに関するポリシー

このポリシーステートメントにより、以下が付与されます。

  • Compute Optimizer にオプトインするためのアクセス権。

  • Compute Optimizer のサービスリンクロールを作成するためのアクセス権。詳細については、「AWS Compute Optimizer のサービスにリンクされたロールの使用」を参照してください。

  • Compute Optimizer サービスへの登録ステータスを更新するためのアクセス権。

重要

AWS Compute Optimizer にオプトインするには、この IAM ロールが必要です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/compute-optimizer.amazonaws.com/AWSServiceRoleForComputeOptimizer*", "Condition": {"StringLike": {"iam:AWSServiceName": "compute-optimizer.amazonaws.com"}} }, { "Effect": "Allow", "Action": "iam:PutRolePolicy", "Resource": "arn:aws:iam::*:role/aws-service-role/compute-optimizer.amazonaws.com/AWSServiceRoleForComputeOptimizer" }, { "Effect": "Allow", "Action": "compute-optimizer:UpdateEnrollmentStatus", "Resource": "*" } ] }

スタンドアロン AWS アカウントに Compute Optimizer へのアクセス権を付与するポリシー

次のポリシーステートメントは、スタンドアロン AWS アカウント に Compute Optimizer へのフルアクセスを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "compute-optimizer:*", "ec2:DescribeInstances", "ec2:DescribeVolumes", "ecs:ListServices", "ecs:ListClusters", "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeAutoScalingInstances", "lambda:ListFunctions", "lambda:ListProvisionedConcurrencyConfigs", "cloudwatch:GetMetricData" ], "Resource": "*" } ] }

次のポリシーステートメントは、スタンドアロン AWS アカウント に Compute Optimizer への読み取り専用アクセスを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "compute-optimizer:GetEnrollmentStatus", "compute-optimizer:GetEffectiveRecommendationPreferences", "compute-optimizer:GetRecommendationPreferences", "compute-optimizer:GetRecommendationSummaries", "compute-optimizer:GetEC2InstanceRecommendations", "compute-optimizer:GetEC2RecommendationProjectedMetrics", "compute-optimizer:GetAutoScalingGroupRecommendations", "compute-optimizer:GetEBSVolumeRecommendations", "compute-optimizer:GetLambdaFunctionRecommendations", "compute-optimizer:DescribeRecommendationExportJobs", "compute-optimizer:GetEffectiveRecommendationPreferences", "compute-optimizer:GetRecommendationPreferences", "compute-optimizer:GetECSServiceRecommendations", "compute-optimizer:GetECSServiceRecommendationProjectedMetrics", "compute-optimizer:GetRDSDatabaseRecommendations", "compute-optimizer:GetRDSDatabaseRecommendationProjectedMetrics", "ec2:DescribeInstances", "ec2:DescribeVolumes", "ecs:ListServices", "ecs:ListClusters", "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeAutoScalingInstances", "lambda:ListFunctions", "lambda:ListProvisionedConcurrencyConfigs", "cloudwatch:GetMetricData", "rds:DescribeDBInstances", "rds:DescribeDBClusters" ], "Resource": "*" } ] }

組織の管理アカウントに Compute Optimizer へのアクセス権を付与するポリシー

次のポリシーステートメントは、組織の管理アカウントに Compute Optimizer へのフルアクセス権を付与します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "compute-optimizer:*", "ec2:DescribeInstances", "ec2:DescribeVolumes", "ecs:ListServices", "ecs:ListClusters", "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeAutoScalingInstances", "lambda:ListFunctions", "lambda:ListProvisionedConcurrencyConfigs", "cloudwatch:GetMetricData", "organizations:ListAccounts", "organizations:DescribeOrganization", "organizations:DescribeAccount", "organizations:EnableAWSServiceAccess", "organizations:ListDelegatedAdministrators", "organizations:RegisterDelegatedAdministrator", "organizations:DeregisterDelegatedAdministrator" ], "Resource": "*" } ] }

次のポリシーステートメントは、組織のマスターアカウントに Compute Optimizer への読み取り専用アクセス権を付与します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "compute-optimizer:GetEnrollmentStatus", "compute-optimizer:GetEnrollmentStatusesForOrganization", "compute-optimizer:GetRecommendationSummaries", "compute-optimizer:GetEC2InstanceRecommendations", "compute-optimizer:GetEC2RecommendationProjectedMetrics", "compute-optimizer:GetAutoScalingGroupRecommendations", "compute-optimizer:GetEBSVolumeRecommendations", "compute-optimizer:GetLambdaFunctionRecommendations", "compute-optimizer:GetEffectiveRecommendationPreferences", "compute-optimizer:GetRecommendationPreferences", "compute-optimizer:GetECSServiceRecommendations", "compute-optimizer:GetECSServiceRecommendationProjectedMetrics", "compute-optimizer:GetRDSDatabaseRecommendations", "compute-optimizer:GetRDSDatabaseRecommendationProjectedMetrics", "ec2:DescribeInstances", "ec2:DescribeVolumes", "ecs:ListServices", "ecs:ListClusters", "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeAutoScalingInstances", "lambda:ListFunctions", "lambda:ListProvisionedConcurrencyConfigs", "cloudwatch:GetMetricData", "organizations:ListAccounts", "organizations:DescribeOrganization", "organizations:DescribeAccount", "organizations:ListDelegatedAdministrators", "rds:DescribeDBInstances", "rds:DescribeDBClusters" ], "Resource": "*" } ] }

Compute Optimizer のレコメンデーション設定を管理するアクセス権を付与するポリシー

次のポリシーステートメントは、レコメンデーション設定を表示および編集するためのアクセス権を付与します。

EC2 インスタンスのレコメンデーション設定のみを管理するアクセス権を付与する

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "compute-optimizer:DeleteRecommendationPreferences", "compute-optimizer:GetEffectiveRecommendationPreferences", "compute-optimizer:GetRecommendationPreferences", "compute-optimizer:PutRecommendationPreferences" ], "Resource": "*", "Condition" : { "StringEquals" : { "compute-optimizer:ResourceType" : "Ec2Instance" } } } ] }

Auto Scaling グループのレコメンデーション設定のみを管理するアクセス権を付与する

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "compute-optimizer:DeleteRecommendationPreferences", "compute-optimizer:GetEffectiveRecommendationPreferences", "compute-optimizer:GetRecommendationPreferences", "compute-optimizer:PutRecommendationPreferences" ], "Resource": "*", "Condition" : { "StringEquals" : { "compute-optimizer:ResourceType" : "AutoScalingGroup" } } } ] }

RDS インスタンスのレコメンデーション設定のみを管理するアクセス権を付与する

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "compute-optimizer:DeleteRecommendationPreferences", "compute-optimizer:GetEffectiveRecommendationPreferences", "compute-optimizer:GetRecommendationPreferences", "compute-optimizer:PutRecommendationPreferences" ], "Resource": "*", "Condition" : { "StringEquals" : { "compute-optimizer:ResourceType" : "RdsDBInstance" } } } ] }

商用ソフトウェアライセンス推奨を有効にするポリシー

Compute Optimizer がライセンスレコメンデーションを生成するには、次の Amazon EC2 インスタンスロールとポリシーをアタッチします。

  • System Manager を有効にする AmazonSSMManagedInstanceCore ロール。詳細については、AWS Systems Manager ユーザー ガイドAWS Systems Manager ID ベースのポリシーの例を参照してください。

  • インスタンスのメトリクスとログを CloudWatch CloudWatchAgentServerPolicy にリリースできるようにするポリシー。詳細については、Amazon CloudWatch CloudWatch ユーザーガイド の「CloudWatch エージェントで使用する IAM ロールとユーザーの作成」を参照してください。

  • 次の IAM インラインポリシーステートメントは、AWS Systems Managerに格納されているシークレットの Microsoft SQL Server 接続文字列を読み取ります。インラインポリシーの詳細については、「AWS Identity and Access Management IAM ユーザーガイド」 の「マネージドポリシーとインラインポリシー」を参照してください。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue*" ], "Resource": "arn:aws:secretsmanager:*:*:secret:ApplicationInsights-*" } ] }

さらに、ライセンスに関するレコメンデーションを有効にし、受け取るには、ユーザー、グループ、ロールに次の IAM ポリシーをアタッチします。詳細については、Amazon CloudWatch ユーザーガイドの IAM ポリシーを参照してください。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "applicationinsights:*", "iam:CreateServiceLinkedRole", "iam:ListRoles", "resource-groups:ListGroups" ], "Effect": "Allow", "Resource": "*" } ] }

Compute Optimizer へのアクセスを拒否するポリシー

次のポリシーステートメントは Compute Optimizer へのアクセスを拒否します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "compute-optimizer:*", "Resource": "*" } ] }

追加リソース