Amazon SNS トピックにアラートメッセージを送信するアクセス許可を Amazon Managed Service for Prometheus に付与する - Amazon Managed Service for Prometheus

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

Amazon SNS トピックにアラートメッセージを送信するアクセス許可を Amazon Managed Service for Prometheus に付与する

Amazon SNS トピックにメッセージを送信するには、Amazon Managed Service for Prometheus にアクセス許可を付与する必要があります。次のポリシーステートメントは、そのアクセス許可を付与します。これには、混乱した代理問題と呼ばれるセキュリティ問題を防ぐのに役立つConditionステートメントが含まれています。Condition ステートメントは、Amazon SNS トピックへのアクセスを制限し、この特定のアカウントと Amazon Managed Service for Prometheus ワークスペースからのオペレーションのみを許可します。混乱した代理に関する問題の詳細については、「サービス間での不分別な代理処理の防止」を参照してください。

Amazon SNS トピックにメッセージを送信するためのアクセス許可を Amazon Managed Service for Prometheus に付与するには
  1. Amazon SNS コンソール (https://console.aws.amazon.com/sns/v3/home) を開きます。

  2. ナビゲーションペインで、[トピック] を選択します。

  3. Amazon Managed Service for Prometheus で使用しているトピックの名前を選択します。

  4. [編集] を選択します。

  5. [アクセスポリシー] を選択し、次のポリシーステートメントを既存のポリシーに追加します。

    { "Sid": "Allow_Publish_Alarms", "Effect": "Allow", "Principal": { "Service": "aps.amazonaws.com" }, "Action": [ "sns:Publish", "sns:GetTopicAttributes" ], "Condition": { "ArnEquals": { "aws:SourceArn": "workspace_ARN" }, "StringEquals": { "AWS:SourceAccount": "account_id" } }, "Resource": "arn:aws:sns:region:account_id:topic_name" }

    〔オプション] Amazon SNS トピックがサービス側の暗号化 (SSE) が有効になっている場合は、トピックの暗号化に使用される AWS KMS キーのキーポリシーに kms:GenerateDataKey*および アクセスkms:Decrypt許可を追加することで、Amazon Managed Service for Prometheus がこの暗号化されたトピックにメッセージを送信できるようにする必要があります。

    例えば、ポリシーに以下を追加できます。

    { "Statement": [{ "Effect": "Allow", "Principal": { "Service": "aps.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "*" }] }

    詳細については、「SNS トピックに対するAWS KMS アクセス許可」を参照してください。

  6. [変更を保存] を選択します。

注記

デフォルトでは、Amazon SNS は AWS:SourceOwner に条件を設定したアクセスポリシーを作成します。詳細については、「SNS アクセスポリシー」を参照してください。

注記

IAM は、最も制限の厳しいポリシーを優先するルールに従います。SNS トピックに、ドキュメント化された Amazon SNS ポリシーブロックよりも制限の厳しいポリシーブロックがある場合、トピックポリシーのアクセス許可は付与されません。ポリシーを評価して何が許可されているかを確認するには、「ポリシーの評価論理」を参照してください。

サービス間での不分別な代理処理の防止

混乱した代理問題は、アクションを実行するためのアクセス許可を持たないエンティティが、より特権のあるエンティティにアクションの実行を強制できてしまう場合に生じる、セキュリティ上の問題です。では AWS、サービス間のなりすましにより、混乱した代理問題が発生する可能性があります。サービス間でのなりすましは、1 つのサービス (呼び出し元サービス) が、別のサービス (呼び出し対象サービス) を呼び出すときに発生する可能性があります。呼び出し元サービスは、本来ならアクセスすることが許可されるべきではない方法でその許可を使用して、別のお客様のリソースに対する処理を実行するように操作される場合があります。これを防ぐために、 は、アカウント内のリソースへのアクセスが許可されているサービスプリンシパルを持つすべてのサービスのデータを保護するのに役立つツール AWS を提供します。

リソースポリシーで aws:SourceArn および aws:SourceAccount グローバル条件コンテキストキーを使用して、Amazon Managed Service for Prometheus が Amazon SNS に付与するリソースへのアクセス許可を制限することをお勧めします。両方のグローバル条件コンテキストキーを同じポリシーステートメントで使用する場合は、aws:SourceAccount 値と、aws:SourceArn 値に含まれるアカウントが、同じアカウント ID を示している必要があります。

aws:SourceArn の値は、Amazon Managed Service for Prometheus ワークスペースの ARN でなければなりません。

混乱した代理問題から保護するための最も効果的な方法は、リソースの完全な ARN を指定して aws:SourceArn グローバル条件コンテキストキーを使用することです。リソースの完全な ARN が不明な場合や、複数のリソースを指定する場合は、aws:SourceArn グローバルコンテキスト条件キーを使用して、ARN の未知部分をワイルドカード (*) で表します。例えば、arn:aws:servicename::123456789012:* のように指定します。

Amazon SNS トピックにアラートメッセージを送信するアクセス許可を Amazon Managed Service for Prometheus に付与する」に記載されているポリシーは、Amazon Managed Service for Prometheus で aws:SourceArn および aws:SourceAccount グローバル条件コンテキストキーを使用して、混乱した代理問題を防止する方法を示しています。