terraform aws clickops notifier
v5.2.0
ユーザーがAWSコンソールでアクションを実行しているときに通知を受け取ります。詳細はこちら
これをAWS ControlTowerで使用することは、厳密に要件ではありません。このモジュールは、AWS ControlTowerが出荷されるログアーカイブアカウントでのみテストされています。 AWS aws sts get-caller-identity | grep Account
ControlTowerログアーカイブアカウントIDを提供します。
アカウントが集中化されたCloudTrailロギングを使用していない、または組織レベルでClickopsを監視したくないAWS組織の一部である場合、Clickopsを単一のアカウントでstandalone
モードに展開できます。スタンドアロンモードの場合、アカウントでCloudTrailを有効にする必要があります。CloudWatchロググループにログを記述するように構成し、ロググループにサブスクリプションフィルターを作成するのに十分な許可があります。
次のアクションは警告されません、これらは次のとおりです。
この機能は、 excluded_scoped_actions
とexcluded_scoped_actions_effect
変数を使用してオーバーライデンにすることができます。除外されたアクションのリストは、以下のテラフォームドキュメントで入手できます。
問題/質問/機能のリクエストを問題セクションで報告します。
ここでは、完全な貢献ガイドラインについて説明します。
名前 | 説明 | タイプ | デフォルト | 必須 |
---|---|---|---|---|
Addational_iam_policy_statements | ラムダ関数の役割に添付するための動的ポリシーステートメントのマップ | any | {} | いいえ |
Aldoce_aws_principals_for_sns_subscribe | AWSプリンシパルのリストは、SNSトピックを購読することを許可されています(ORG展開にのみ適用されます)。 | list(string) | [] | いいえ |
CloudTrail_bucket_name | 処理したいクラウドトレールログを含むバケット。 ControlTower Bucketの名前は、このネーミングコンベンションaws-controltower-logs-{{account_id}}-{{region}} に従います。 | string | "" | いいえ |
CloudTrail_bucket_notifications_sns_arn | バケット通知のSNSトピックARN。提供されていない場合、新しいSNSトピックがBucket通知構成とともに作成されます。 | string | null | いいえ |
CloudTrail_log_group | CloudWatchロググループCloudTrailイベント。 | string | "" | いいえ |
create_iam_role | IAMの役割が作成されているか、既存のIAMの役割を使用するかを判断します | bool | true | いいえ |
event_batch_size | event_batch_size のチャンクへのバッチイベント | number | 100 | いいえ |
event_maximum_batching_window | 数秒で最大バッチングウィンドウ。 | number | 300 | いいえ |
event_processing_timeout | 最大数秒数ラムダの実行が許可され、秒数のイベントは私のラムダを拾われた後、SQSに隠す必要があります。 | number | 60 | いいえ |
explued_accounts | 手動アクションのスキャンのために除外されるアカウントのリスト。これらは、 included_accounts よりも精密さを取ります | list(string) | [] | いいえ |
explued_scoped_actions | 警告されることのないサービススコープされたアクションのリスト。 format {{service}}。Amazonaws.com:{action}} | list(string) | [] | いいえ |
explued_scoped_actions_effect | 既存の拡張されたアクションを置き換えるか、追加する必要があります。デフォルトでは、リストに追加されます、有効な値:追加、交換 | string | "APPEND" | いいえ |
explued_users | Clickopsを練習するときは、メールアドレスのリストは報告されません。 | list(string) | [] | いいえ |
firehose_delivery_stream_name | Kinesis Firehose Delivery Stream Name to Output Clickops Events。 | string | null | いいえ |
iam_role_arn | ラムダの既存のIAMロールARN。 create_iam_role がfalse に設定されている場合は必須です | string | null | いいえ |
Anclude_Accounts | 手動アクションにスキャンされるアカウントのリスト。空の場合、すべてのアカウントをスキャンします。 | list(string) | [] | いいえ |
Anclude_Users | 手動アクションにスキャンされる電子メールのリスト。空の場合、すべてのメールをスキャンします。 | list(string) | [] | いいえ |
kms_key_id_for_sns_topic | SNS_TOPICを暗号化するためのKMSキーID(ORG展開にのみ適用されます)。 | string | null | いいえ |
lambda_deployment_s3_bucket | ラムダ展開パッケージ用のS3バケット。 | string | null | いいえ |
lambda_deployment_s3_key | Lambda展開パッケージのS3オブジェクトキー。それ以外の場合は、defaultはvar.naming_prefix/local.deployment_filename になります。 | string | null | いいえ |
lambda_deployment_upload_to_s3_enabled | true の場合、このモジュールリポジトリ内のLambda展開パッケージはS3にコピーされます。 false の場合、S3オブジェクトを個別にアップロードする必要があります。 lambda_deployment_s3_bucket がnullである場合、無視されます。 | bool | true | いいえ |
lambda_log_level | Lambdaロギングレベル。 1つ: ["DEBUG", "INFO", "WARN", "ERROR"] 。 | string | "WARN" | いいえ |
lambda_memory_size | ラムダが使用するメモリの量 | number | "128" | いいえ |
lambda_runtime | 使用するラムダランタイム。 1つ: ["python3.9", "python3.8", "python3.7"] | string | "python3.8" | いいえ |
log_retention_in_days | CloudWatchログを維持する日数 | number | 14 | いいえ |
naming_prefix | リソースにはこれが付いています | string | "clickops-notifier" | いいえ |
スタンドアロン | ClickopsをAWS組織全体ではなく、スタンドアロンアカウントに展開します。組織レベルで計装されていないアカウントのみでClickopsを監視したいチームに最適です。 | bool | false | いいえ |
subcription_filter_distribution | ログデータを宛先に配布するために使用される方法。デフォルトでは、ログデータはログストリームによってグループ化されますが、グループ化はより均一な分布のためにランダムに設定できます。このプロパティは、目的地がAmazon Kinesisストリームである場合にのみ適用されます。有効な値は「ランダム」および「bylogstream」です。 | string | "Random" | いいえ |
タグ | プロバイダーのdefault_tagsに加えてリソースに追加するタグ | map(string) | {} | いいえ |
webhooks_for_msteams_notifications | MSチームの通知のcustom_name => webhook URL sのマップ。 https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook?tabs=dotnet | map(string) | {} | いいえ |
webhooks_for_slack_notifications | Slack通知のcustom_name => webhook URL sのマップ。 https://api.slack.com/messaging/webhooks | map(string) | {} | いいえ |
名前 | ソース | バージョン |
---|---|---|
clickops_notifier_lambda | terraform-aws-modules/lambda/aws | 4.9.0 |
名前 | 説明 |
---|---|
clickops_notifier_lambda | Lambdaモジュールからすべての出力を公開します |
SNS_TOPIC | バケット通知SNSの詳細を公開します |
sqs_queue | バケット通知SQSの詳細を公開します |
名前 | バージョン |
---|---|
aws | > = 4.9 |
名前 | バージョン |
---|---|
テラフォーム | > = 0.15.0 |
aws | > = 4.9 |
名前 | タイプ |
---|---|
aws_cloudwatch_log_subscription_filter.this | リソース |
AWS_S3_Bucket_Notification.Bucket_Notification | リソース |
aws_s3_object.deployment | リソース |
aws_sns_topic.bucket_notifications | リソース |
aws_sns_topic_policy.bucket_notifications | リソース |
aws_sns_topic_subscription.bucket_notifications | リソース |
aws_sqs_queue.bucket_notifications | リソース |
aws_sqs_queue_policy.bucket_notifications | リソース |
AWS_SSM_PARAMETER.WEBHOOKS_FOR_MSTEAMS | リソース |
AWS_SSM_PARAMETER.WEBHOOKS_FOR_SLACK | リソース |
aws_caller_identity.current | データソース |
aws_cloudwatch_log_group.this | データソース |
aws_iam_policy_document.bucket_notifications | データソース |
aws_iam_policy_document.lambda_permissions | データソース |
aws_iam_policy_document.sns_topic_policy_bucket_notifications | データソース |
aws_region.current | データソース |
locals {
ignored_scoped_events_built_in = [
" cognito-idp.amazonaws.com:InitiateAuth " ,
" cognito-idp.amazonaws.com:RespondToAuthChallenge " ,
" sso.amazonaws.com:Federate " ,
" sso.amazonaws.com:Authenticate " ,
" sso.amazonaws.com:Logout " ,
" sso.amazonaws.com:SearchUsers " ,
" sso.amazonaws.com:SearchGroups " ,
" sso.amazonaws.com:CreateToken " ,
" signin.amazonaws.com:UserAuthentication " ,
" signin.amazonaws.com:SwitchRole " ,
" signin.amazonaws.com:RenewRole " ,
" signin.amazonaws.com:ExternalIdPDirectoryLogin " ,
" signin.amazonaws.com:CredentialVerification " ,
" signin.amazonaws.com:CredentialChallenge " ,
" signin.amazonaws.com:CheckMfa " ,
" logs.amazonaws.com:StartQuery " ,
" cloudtrail.amazonaws.com:StartQuery " ,
" iam.amazonaws.com:SimulatePrincipalPolicy " ,
" iam.amazonaws.com:GenerateServiceLastAccessedDetails " ,
" glue.amazonaws.com:BatchGetJobs " ,
" glue.amazonaws.com:BatchGetCrawlers " ,
" glue.amazonaws.com:StartJobRun " ,
" glue.amazonaws.com:StartCrawler " ,
" athena.amazonaws.com:StartQueryExecution " ,
" servicecatalog.amazonaws.com:SearchProductsAsAdmin " ,
" servicecatalog.amazonaws.com:SearchProducts " ,
" servicecatalog.amazonaws.com:SearchProvisionedProducts " ,
" servicecatalog.amazonaws.com:TerminateProvisionedProduct " ,
" cloudshell.amazonaws.com:CreateSession " ,
" cloudshell.amazonaws.com:PutCredentials " ,
" cloudshell.amazonaws.com:SendHeartBeat " ,
" cloudshell.amazonaws.com:CreateEnvironment " ,
" kms.amazonaws.com:Decrypt " ,
" kms.amazonaws.com:RetireGrant " ,
" trustedadvisor.amazonaws.com:RefreshCheck " ,
# Must CreateMultipartUpload before uploading any parts.
" s3.amazonaws.com:UploadPart " ,
" s3.amazonaws.com:UploadPartCopy " ,
" route53domains:TransferDomain " ,
" support.amazonaws.com:AddAttachmentsToSet " ,
" support.amazonaws.com:AddCommunicationToCase " ,
" support.amazonaws.com:CreateCase " ,
" support.amazonaws.com:InitiateCallForCase " ,
" support.amazonaws.com:InitiateChatForCase " ,
" support.amazonaws.com:PutCaseAttributes " ,
" support.amazonaws.com:RateCaseCommunication " ,
" support.amazonaws.com:RefreshTrustedAdvisorCheck " ,
" support.amazonaws.com:ResolveCase " ,
" grafana.amazonaws.com:login_auth_sso " ,
]
}