AWSの認証、アクセス許可、対応リージョン
接続計画情報と、AWS と Splunk Observability Cloud のさまざまな接続方法へのリンク。
AWSサービスをSplunk Observability Cloudに接続するには、以下の手順が必要です:
-
Splunk Observability Cloud および AWS アカウントの管理者権限。
-
AWS の認証権限。外部 ID(推奨)またはセキュリティトークンを使って認証することができます。
外部IDを使ってAWSで認証する(推奨)
AWS では、ポリシーを作成し、IAM ID または AWS リソースにアタッチすることでアクセスを管理できます。ポリシーは、アイデンティティまたはリソースを権限に関連付ける JSON オブジェクトです。ユーザー(この場合、Splunk Observability Cloud のアカウント)がリクエストを行うと、AWS は関連付けられたポリシーを評価し、リクエストを許可するか拒否するかを決定します。
ほとんどの AWS リージョンでは、External ID を使用して認証します。以下の手順に従ってください:
-
Splunk Observability Cloud の外部 ID。外部 ID は、Splunk Observability Cloud と AWS アカウント間の信頼関係を確立するために使用されるランダムな文字列です。これは、Splunk Observability Cloud で新しい AWS 統合を作成すると自動的に生成されます。
-
外部 ID の作成方法については、AWS ドキュメントの「How to use external ID when giving access to your AWS resources to third party」を参照してください。
-
API を使用して外部 ID を作成することもできます。「外部 AWS ID を作成する」を参照してください。
-
AWS IAMポリシーを作成する
Splunk Observability Cloud は、サポートされているすべての AWS サービスからデータを収集するための IAM ポリシーを参照しています。
新しいAWS IAMポリシーを作成するには、以下の手順に従います:
-
アマゾン ウェブ サービスアカウントにログインし、Identity and Access Management (IAM) サービスを探します。
-
新しいポリシーを作成します。[JSON] タブで、プレースホルダ JSON を関連する AWS IAM ポリシー JSON に置き換えます。ガイド付きセットアップでは、Prepare AWS Account ステップでこのポリシーが提供されます。ポリシーの例も参照してください。
-
指示に従ってプロセスを完了し、ポリシーを作成します。
疑問があれば、AWSのドキュメントを確認してください。
AWS IAMロールを作成する
AWS IAMポリシーを作成した後、アマゾン ウェブ サービスコンソールで以下のステップを実行することで、そのポリシーを特定のロールに割り当てる必要があります:
-
[Roles]、[Create Role] の順に移動し、信頼されるエンティティのタイプとして [Another AWS account] を選択します。
-
ガイド付きセットアップで表示されたアカウント ID、または API コールのレスポンスから
sfxAwsAccountArn内の数値をコピーし、[Account ID] フィールドに貼り付けます。 -
[Require external ID] オプションを選択します。ガイド付きセットアップで表示された外部 ID、または API コールのレスポンスから
externalIdを、[External ID] フィールドにコピーして貼り付けます。 -
[Next: Permissions] へ進みます。[Policy name] で、前のステップで作成したポリシーを選択します。
-
指示に従って、新しいAWS IAMロールに名前を付けて作成します。
AWS IAM ロールを作成すると、AWS との接続を確立するために使用される Role ARN が生成されます。作成した ARN ロールをコピーして、ガイド付きセットアップの [Role ARN] フィールドに貼り付けます。
疑問があれば、AWSのドキュメントを確認してください。
セキュリティトークンを使ってAWSで認証する
GovCloud または China リージョンでは、AWS コンソールで作成するアクセスキー識別子(ID)とシークレットアクセスキーを組み合わせたセキュリティトークンを使用して認証するオプションを選択します。
ユーザーの新しい権限を作成しているときに、アクセスキーのプラクティスを求めるプロンプトが表示されたら、[Third-party service] を選択します。
必要なアクセス許可
これらはAWSのデータを収集するために必要なアクセス許可です:
Splunk Observability Cloud で必要なアクセス許可
使用するサービスにかかわらず、以下のアクセス許可が必要です:
-
organizations:DescribeOrganizationします。Amazon のコストと使用メトリックが有効になっている場合にのみ必要です。 -
ec2:DescribeRegionsします。統合で設定されたリージョンが AWS アカウントで有効になっているかどうかを確認するために使用されます。 -
iam:ListAccountAliasesします。AWS MTS のアカウントエイリアスの同期に使用されます。
タグとプロパティの同期権限:
-
tag:GetResources -
cloudformation:ListResources -
cloudformation:GetResource
タグとプロパティの同期は、統合で設定されたサービスに対して常に有効です。サービスによっては、Splunk Observability Cloud はサービス固有の API を使用するか、Resource Groups Tagging API や Cloud Control API などの汎用 API を使用します。
tag:GetResources の権限で十分です。Cloud Control API を使用する場合は、cloudformation:ListResources と cloudformation:GetResource の権限と、AWS/KinesisAnalytics の kinesisanalytics:DescribeApplication、kinesisanalytics:ListApplications、kinesisanalytics:ListTagsForResource などのサービス固有の権限を提供する必要があります。CloudWatch APIを使用するデータポーリングのアクセス許可
必要な権限の他に、Splunk Observability Cloud が CloudWatch API を使用して AWS メトリックを収集できるようにするために、以下の権限を含めます:
-
cloudwatch:GetMetricData -
cloudwatch:ListMetrics
例:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudwatch:GetMetricData",
"cloudwatch:ListMetrics",
"ec2:DescribeRegions",
"organizations:DescribeOrganization",
"tag:GetResources",
"cloudformation:ListResources",
"cloudformation:GetResource"
],
"Resource": "*"
}
]
}
Version ポリシー要素は、ポリシー言語のバージョンを定義します。詳細については、Amazon のマニュアルの「IAM JSON policy elements: Version 」を参照してください。
Splunk が管理する Metric Streams に対するパーミッション
Splunk が管理する Metric Streams を使用して AWS CloudWatch のメトリックを収集する場合は、Splunk Observability Cloud の権限と、以下の権限が必要です。
-
"cloudwatch:DeleteMetricStream" -
"cloudwatch:GetMetricStream" -
"cloudwatch:ListMetricStreams" -
"cloudwatch:ListMetrics" -
"cloudwatch:PutMetricStream" -
"cloudwatch:StartMetricStreams" -
"cloudwatch:StopMetricStreams" -
"iam:PassRole"
これらの権限には、MetricStream フレーズと iam:PassRole 権限が含まれます。iam:PassRole 権限は、arn:aws:iam::*:role/splunk-metric-streams* パターンに一致するリソースに制限されることに注意してください。
例:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudwatch:GetMetricStream"
"cloudwatch:ListMetricStreams",
"cloudwatch:PutMetricStream",
"cloudwatch:DeleteMetricStream",
"cloudwatch:StartMetricStreams",
"cloudwatch:StopMetricStreams",
"ec2:DescribeRegions",
"organizations:DescribeOrganization",
"tag:GetResources"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"iam:PassRole"
],
"Resource": "arn:aws:iam::*:role/splunk-metric-streams*"
}
]
}
Version ポリシー要素は、ポリシー言語のバージョンを定義します。詳細については、Amazon のマニュアルの「IAM JSON policy elements: Version 」を参照してください。
AWSマネージドMetric Streamsのアクセス許可
AWS が管理する Metric Streams を使用している場合は、Splunk Observability Cloud を使用するために必要な権限以外の権限は不要です。
タグとプロパティコレクションのアクセス許可
必要な権限に加えて、Splunk Observability Cloud が特定の AWS タグとプロパティを収集できるように、使用するサービスの特定の権限を AWS IAM ポリシーに含める必要があります。Infrastructure Monitoring を使用すると、これらのタグとプロパティに基づいてメトリックをフィルタ処理できるようになります。
これらは、Splunk Observability Cloud が AWS タグとプロパティを収集できるようにするためのアクセス許可です:
-
"acm:DescribeCertificate" -
"acm:ListCertificates" -
"airflow:ListEnvironments" -
"airflow:GetEnvironment" -
"apigateway:GET" -
"autoscaling:DescribeAutoScalingGroups" -
"bedrock:ListTagsForResource" -
"bedrock:ListFoundationModels" -
"bedrock:GetFoundationModel" -
"bedrock:ListInferenceProfiles" -
"cloudformation:ListResources" -
"cloudformation:GetResource" -
"cloudfront:GetDistributionConfig" -
"cloudfront:ListDistributions" -
"cloudfront:ListTagsForResource" -
"directconnect:DescribeConnections" -
"dynamodb:DescribeTable" -
"dynamodb:ListTables" -
"dynamodb:ListTagsOfResource" -
"ec2:DescribeInstances" -
"ec2:DescribeInstanceStatus" -
"ec2:DescribeNatGateways" -
"ec2:DescribeRegions" -
"ec2:DescribeReservedInstances" -
"ec2:DescribeReservedInstancesModifications" -
"ec2:DescribeTags" -
"ec2:DescribeVolumes" -
"ecs:DescribeClusters" -
"ecs:DescribeServices" -
"ecs:DescribeTasks" -
"ecs:ListClusters" -
"ecs:ListServices" -
"ecs:ListTagsForResource" -
"ecs:ListTaskDefinitions" -
"ecs:ListTasks" -
"elasticache:DescribeCacheClusters" -
"elasticloadbalancing:DescribeLoadBalancerAttributes" -
"elasticloadbalancing:DescribeLoadBalancers" -
"elasticloadbalancing:DescribeTags" -
"elasticloadbalancing:DescribeTargetGroups" -
"elasticmapreduce:DescribeCluster" -
"elasticmapreduce:ListClusters" -
"es:DescribeElasticsearchDomain" -
"es:ListDomainNames" -
"kafka:DescribeCluster" -
"kafka:DescribeClusterV2" -
"kafka:ListClusters" -
"kafka:ListClustersV2" -
"kinesis:DescribeStream" -
"kinesis:ListShards" -
"kinesis:ListStreams" -
"kinesis:ListTagsForStream" -
"kinesisanalytics:DescribeApplication" -
"kinesisanalytics:ListApplications" -
"kinesisanalytics:ListTagsForResource" -
"lambda:GetAlias" -
"lambda:ListFunctions" -
"lambda:ListTags" -
"network-firewall:ListFirewalls" -
"network-firewall:DescribeFirewall" -
"rds:DescribeDBClusters" -
"rds:DescribeDBInstances" -
"rds:ListTagsForResource" -
"redshift:DescribeClusters" -
"redshift:DescribeLoggingStatus" -
"s3:GetBucketLocation" -
"s3:GetBucketTagging" -
"s3:ListAllMyBuckets" -
"s3:ListBucket" -
"states:ListActivities" -
"states:ListStateMachines" -
"sqs:GetQueueAttributes" -
"sqs:ListQueues" -
"sqs:ListQueueTags" -
"tag:GetResources" -
"workspaces:DescribeWorkspaces"
AWS IAM ポリシー JSON の Action 配列に、各サービスに関連する "<service>:<permission>" ペアを追加します。例:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"airflow:ListEnvironments",
"airflow:GetEnvironment",
"apigateway:GET",
"autoscaling:DescribeAutoScalingGroups",
"cloudformation:ListResources",
"cloudformation:GetResource",
"cloudfront:GetDistributionConfig",
"cloudfront:ListDistributions",
"cloudfront:ListTagsForResource",
"cloudwatch:GetMetricData",
"cloudwatch:ListMetrics",
"directconnect:DescribeConnections",
"dynamodb:DescribeTable",
"dynamodb:ListTables",
"dynamodb:ListTagsOfResource",
"ec2:DescribeInstances",
"ec2:DescribeInstanceStatus",
"ec2:DescribeNatGateways",
"ec2:DescribeRegions",
"ec2:DescribeReservedInstances",
"ec2:DescribeReservedInstancesModifications",
"ec2:DescribeTags",
"ec2:DescribeVolumes",
"ecs:DescribeClusters",
"ecs:DescribeServices",
"ecs:DescribeTasks",
"ecs:ListClusters",
"ecs:ListServices",
"ecs:ListTagsForResource",
"ecs:ListTaskDefinitions",
"ecs:ListTasks",
"eks:DescribeCluster",
"eks:ListClusters",
"elasticache:DescribeCacheClusters",
"elasticloadbalancing:DescribeLoadBalancerAttributes",
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeTags",
"elasticloadbalancing:DescribeTargetGroups",
"elasticmapreduce:DescribeCluster",
"elasticmapreduce:ListClusters",
"es:DescribeElasticsearchDomain",
"es:ListDomainNames",
"kafka:DescribeCluster",
"kafka:DescribeClusterV2",
"kafka:ListClusters",
"kafka:ListClustersV2",
"kinesis:DescribeStream",
"kinesis:ListShards",
"kinesis:ListStreams",
"kinesis:ListTagsForStream",
"kinesisanalytics:DescribeApplication",
"kinesisanalytics:ListApplications",
"kinesisanalytics:ListTagsForResource",
"lambda:GetAlias",
"lambda:ListFunctions",
"lambda:ListTags",
"logs:DeleteSubscriptionFilter",
"logs:DescribeLogGroups",
"logs:DescribeSubscriptionFilters",
"logs:PutSubscriptionFilter",
"network-firewall:ListFirewalls",
"network-firewall:DescribeFirewall",
"organizations:DescribeOrganization",
"rds:DescribeDBInstances",
"rds:DescribeDBClusters",
"rds:ListTagsForResource",
"redshift:DescribeClusters",
"redshift:DescribeLoggingStatus",
"s3:GetBucketLocation",
"s3:GetBucketLogging",
"s3:GetBucketNotification",
"s3:GetBucketTagging",
"s3:ListAllMyBuckets",
"s3:ListBucket",
"s3:PutBucketNotification",
"sqs:GetQueueAttributes",
"sqs:ListQueues",
"sqs:ListQueueTags",
"states:ListActivities",
"states:ListStateMachines",
"tag:GetResources",
"workspaces:DescribeWorkspaces"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"cassandra:Select"
],
"Resource": [
"arn:aws:cassandra:*:*:/keyspace/system/table/local",
"arn:aws:cassandra:*:*:/keyspace/system/table/peers",
"arn:aws:cassandra:*:*:/keyspace/system_schema/*",
"arn:aws:cassandra:*:*:/keyspace/system_schema_mcs/table/tags",
"arn:aws:cassandra:*:*:/keyspace/system_schema_mcs/table/tables",
"arn:aws:cassandra:*:*:/keyspace/system_schema_mcs/table/columns"
]
}
]
}
Version ポリシー要素は、ポリシー言語のバージョンを定義します。詳細については、Amazon のマニュアルの「IAM JSON policy elements: Version 」を参照してください。
利用状況の収集とレポートのアクセス許可
Splunk Observability Cloud が AWS 利用データとレポートを収集できるようにするには、これらのアクセス許可を含めます:
-
"ec2:DescribeRegions" -
"organizations:DescribeOrganization"
AWS権限に関する問題のトラブルシューティング
権限関連の問題が発生した場合は、AWS 組織サービス制御ポリシーと IAM エンティティの権限境界を確認してください。どちらも、Splunk Observability Cloud が AWS アカウントへの接続に使用する AWS ポリシーに制限を課している可能性があります。
詳しくはAWSの公式ドキュメントをご覧ください:
Tip
AWS のナレッジセンターで特定のトラブルシュートを検索します。
対応AWSリージョン
特定のオプションリージョンを使用する場合は、統合に追加する前に有効化する必要があります。最初に AWS コンソールで必要なオプションのリージョンが有効化されていることを確認してください。通常のリージョンは、デフォルトで AWS で有効化されています。
-
UI ガイド付きセットアップを使用して統合を作成する場合、どの AWS リージョンを使用するかを選択するようプロンプトが表示されます。
-
API を使用していて、API コールで空のリストを指定した場合、Splunk Observability Cloud はすべての通常のリージョンを有効化します。AWS ポリシーに
ec2:DescribeRegions権限を追加すると、AWS アカウントで有効化したオプションのリージョンが Splunk Observability Cloud でも有効化されます。空のリージョンリストの設定は API を介して可能ですが、AWS アカウントで新しいリージョンが有効になるたびに、予期しないコスト増加につながる可能性があるため推奨しません。
ec2:DescribeRegions 権限が含まれている場合、UI ガイド付きセットアップによりリージョンリストが自動的に入力され、AWS アカウントで有効になっているリージョンが含まれます。それ以外の場合は、通常の AWS リージョンがすべてリストに入力されます。以前に UI ガイド付きセットアップを使用して統合を作成し、デフォルトのすべてのリージョン設定を使用した場合には、それも移行されます。この移行は、編集済みの統合について現在収集されているデータには影響しません。Splunk Observability Cloud は以下の AWS リージョンをサポートしています:
通常
-
ap-northeast-1:アジア太平洋(東京) -
ap-northeast-2:アジア太平洋(ソウル) -
ap-northeast-3:アジア太平洋(大阪) -
ap-south-1:アジア太平洋地域(ムンバイ) -
ap-southeast-1:アジア・パシフィック(シンガポール) -
ap-southeast-2:アジア太平洋(シドニー) -
ca-central-1:カナダ(中部) -
eu-central-1:ヨーロッパ(フランクフルト) -
eu-north-1:ヨーロッパ(ストックホルム) -
eu-west-1:ヨーロッパ(アイルランド) -
eu-west-2:ヨーロッパ(ロンドン) -
eu-west-3:ヨーロッパ(パリ) -
sa-east-1:南米(サンパウロ) -
us-east-1:米国東部(バージニア州北部) -
us-east-2:米国東部(オハイオ州) -
us-west-1:米国西部(カリフォルニア州北部) -
us-west-2:米国西部(オレゴン州)
オプション
-
af-south-1:アフリカ(ケープタウン) -
ap-east-1:アジア太平洋(香港) -
ap-south-2:アジア太平洋(ハイデラバード) -
ap-southeast-3:アジア太平洋地域(ジャカルタ) -
ap-southeast-4:アジア太平洋地域(メルボルン) -
eu-central-2:ヨーロッパ (チューリッヒ) -
eu-south-1:ヨーロッパ (ミラノ) -
eu-south-2:ヨーロッパ(スペイン) -
me-central-1:中東(UAE) -
me-south-1:中東(バーレーン)
GovCloud
-
us-gov-east-1:AWS GovCloud (米国東部) -
us-gov-west-1:AWS GovCloud (米国西部)
以下はGovCloudリージョンに適用されます:
-
GovCloud リージョンでのメトリクスの同期は、AWS がサポートする名前空間に限定されます。GovCloud リージョンで利用できる具体的な名前空間については、AWS の公式ドキュメント「Services in AWS GovCloud (US) Regions」で確認してください。
-
AWS は現在、タグを取得するための FIPS 準拠のエンドポイントを提供していません。AWS GovCloud インフラストラクチャでタグを設定する場合は、機密情報を含めないでください。Splunk Observability Cloud では、AWS タグはプレフィックス
aws_tagによって識別されます。
中国
-
cn-north-1:中国(北京) -
cn-northwest-1:中国(寧夏)