のアイデンティティベースのポリシーの例 AWS Audit Manager - AWS Audit Manager

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

のアイデンティティベースのポリシーの例 AWS Audit Manager

デフォルトでは、ユーザーとロールにはAudit Manager リソースを作成または変更するための許可はありません。また、、 AWS Command Line Interface (AWS CLI) AWS Management Console、または を使用してタスクを実行することはできません AWS API。必要なリソースに対してアクションを実行するアクセス許可をユーザーに付与するには、IAM管理者はIAMポリシーを作成できます。その後、管理者はIAMポリシーをロールに追加し、ユーザーはロールを引き受けることができます。

これらのポリシードキュメント例を使用して IAM ID ベースのJSONポリシーを作成する方法については、IAM「 ユーザーガイド」のIAM「ポリシーの作成」を参照してください。

AWS Audit Manager で定義されるアクションとリソースタイプの詳細については、ARNs各リソースタイプの の形式など、「サービス認証リファレンス」のAWS「Audit Manager のアクション、リソース、および条件キー」を参照してください。

ポリシーのベストプラクティス

ID ベースのポリシーには、アカウント内で誰かがAudit Managerのリソースを作成、アクセス、または削除できるどうかが定められています。これらのアクションを実行すると、 AWS アカウントに料金が発生する可能性があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:

  • AWS マネージドポリシーを開始し、最小権限のアクセス許可に移行 – ユーザーとワークロードへのアクセス許可の付与を開始するには、多くの一般的なユースケースのアクセス許可を付与するAWS マネージドポリシーを使用します。これらは で使用できます AWS アカウント。ユースケースに固有の AWS カスタマー管理ポリシーを定義することで、アクセス許可をさらに減らすことをお勧めします。詳細については、IAM「 ユーザーガイド」の「 管理AWS ポリシー」または ジョブ機能の 管理ポリシーを参照してください。 AWS

  • 最小権限のアクセス許可を適用する - IAMポリシーでアクセス許可を設定する場合、タスクの実行に必要なアクセス許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用してアクセス許可を適用する方法の詳細については、IAM「 ユーザーガイド」の「 のポリシーとアクセス許可IAM」を参照してください。

  • IAM ポリシーの条件を使用してアクセスをさらに制限する – ポリシーに条件を追加して、アクションとリソースへのアクセスを制限できます。例えば、ポリシー条件を記述して、すべてのリクエストを を使用して送信する必要があることを指定できますSSL。また、 などの特定の を通じてサービスアクションが使用されている場合 AWS のサービス、 条件を使用してサービスアクションへのアクセスを許可することもできます AWS CloudFormation。詳細については、IAM「 ユーザーガイド」のIAMJSON「ポリシー要素: 条件」を参照してください。

  • IAM Access Analyzer を使用してIAMポリシーを検証し、安全で機能的なアクセス許可を確保する – IAM Access Analyzer は、ポリシーがポリシー言語 (JSON) とIAMベストプラクティスに準拠するように、新規および既存のIAMポリシーを検証します。IAM Access Analyzer には、安全で機能的なポリシーの作成に役立つ 100 を超えるポリシーチェックと実用的なレコメンデーションが用意されています。詳細については、IAM「 ユーザーガイド」のIAM「Access Analyzer ポリシーの検証」を参照してください。

  • 多要素認証が必要 (MFA) – でIAMユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、 をオンにMFAしてセキュリティを強化します。API オペレーションが呼び出されるMFAタイミングを要求するには、ポリシーにMFA条件を追加します。詳細については、IAM「 ユーザーガイド」のMFA「保護APIアクセスの設定」を参照してください。

のベストプラクティスの詳細についてはIAM、「 ユーザーガイド」の「 のセキュリティのベストプラクティスIAM」を参照してください。 IAM

Audit Managerを有効にするために必要な最小限の許可を与える

この例は、管理者ロールのないアカウントが AWS Audit Managerを有効にできるようにする方法を示しています。

注記

ここでは、Audit Manager を有効にするために必要な最小限の許可を付与する基本的なポリシーを提供します。次のポリシーのすべての権限が必要です。このポリシーの一部を省略すると、Audit Managerを有効にすることができなくなります。

特定のニーズを満たせるよう、時間を設けて許可をカスタマイズすることをお勧めします。サポートが必要な場合は、管理者または AWS サポート にお問い合わせください。

Audit Manager を使用するために必要な最小限のアクセス権を付与するには、次の許可を使用します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "auditmanager:*", "Resource": "*" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "auditmanager.amazonaws.com" } } }, { "Sid": "CreateEventsAccess", "Effect": "Allow", "Action": [ "events:PutRule" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "events:source": [ "aws.securityhub" ] } } }, { "Sid": "EventsAccess", "Effect": "Allow", "Action": [ "events:PutTargets" ], "Resource": "arn:aws:events:*:*:rule/AuditManagerSecurityHubFindingsReceiver" }, { "Effect": "Allow", "Action": "kms:ListAliases", "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "auditmanager.amazonaws.com" } } } ] }

AWS CLI または のみを呼び出すユーザーに対して、最小限のコンソールアクセス許可を付与する必要はありません AWS API。代わりに、実行しようとしているAPIオペレーションに一致するアクションのみへのアクセスを許可します。

AWS Audit Managerへの完全な管理者アクセス権を許可する

次のポリシー例では、 へのフル管理者アクセスを許可します AWS Audit Manager。

例1、(マネージドポリシーAWSAuditManagerAdministratorAccess)

このAWSAuditManagerAdministratorAccessポリシーには、Audit Manager を有効または無効にする機能、Audit Manager 設定を変更する機能、評価、フレームワーク、コントロール、評価レポートなどのすべての Audit Manager リソースを管理する機能が含まれています。

例2 (評価レポートの宛先の許可)

このポリシーは、特定の S3 バケットにアクセスし、そのバケットにファイルを追加したり削除したりする権限を付与します。これにより、指定したバケットを Audit Manager の評価レポートの送信先として使用できます。

を置き換える placeholder text 独自の情報。評価レポートの宛先として使用する S3 バケットと、評価レポートの暗号化に使用するKMSキーを含めます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:DeleteObject", "s3:GetBucketLocation", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" } ] }, { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ] }

例 3 (エクスポート先のアクセス許可)

次のポリシーでは CloudTrail 、 が指定された S3 バケットに証拠ファインダークエリ結果を配信できます。セキュリティのベストプラクティスとして、 IAM グローバル条件キーは、 がイベントデータストアに対してのみ S3 バケットに CloudTrail 書き込むことを確実にするaws:SourceArnのに役立ちます。

を置き換える placeholder text 以下の独自の情報を使用します。

  • 置換 amzn-s3-demo-destination-bucket エクスポート先として使用する S3 バケット。

  • 置換 myQueryRunningRegion 設定 AWS リージョン に適した を使用します。

  • 置換 myAccountID に使用されている AWS アカウント ID CloudTrail。これは、S3 バケットの AWS アカウント ID と同じではない可能性があります。これが組織イベントデータストアの場合は、 AWS アカウント 管理アカウントに を使用する必要があります。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "s3:PutObject*", "s3:Abort*" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket", "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" ], "Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudtrail:myQueryRunningRegion:myAccountID:eventdatastore/*" } } }, { "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket", "Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudtrail:myQueryRunningRegion:myAccountID:eventdatastore/*" } } }, { "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": [ "kms:Decrypt*", "kms:GenerateDataKey*" ], "Resource": "*" }, { "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "kms:Decrypt*", "kms:GenerateDataKey*" ], "Resource": "*" } ] }

例 4 (エビデンスファインダーを有効にする許可)

エビデンスファインダー機能を有効にして使用するには、以下の許可ポリシーが必要です。このポリシーステートメントにより、Audit Manager は CloudTrail Lake イベントデータストアを作成し、検索クエリを実行できます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ManageCloudTrailLakeQueryAccess", "Effect": "Allow", "Action": [ "cloudtrail:StartQuery", "cloudtrail:DescribeQuery", "cloudtrail:GetQueryResults", "cloudtrail:CancelQuery" ], "Resource": "arn:aws:cloudtrail:*:*:eventdatastore/*" }, { "Sid": "ManageCloudTrailLakeAccess", "Effect": "Allow", "Action": [ "cloudtrail:CreateEventDataStore" ], "Resource": "arn:aws:cloudtrail:*:*:eventdatastore/*" } ] }

例 5 (エビデンスファインダーを無効にする許可)

このポリシー例は、Audit Manager のエビデンスファインダー機能を無効にする権限を付与します。これには、この機能を最初に有効にしたときに作成されたイベントデータストアの削除のが含まれます。

このポリシーを使用する前に、placeholder text 独自の情報。証拠ファインダーを有効にしたときに作成されたイベントデータストアUUIDの を指定する必要があります。Audit Manager 設定からイベントデータストアARNの を取得できます。詳細については、「 リファレンスGetSettings」の「」を参照してください。 AWS Audit Manager API

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudtrail:DeleteEventDataStore", "cloudtrail:UpdateEventDataStore" ], "Resource": "arn:aws:cloudtrail:::event-data-store-UUID" } ] }

ユーザーには AWS Audit Managerへの管理アクセスを許可します

この例は、管理者以外の AWS Audit Managerへの管理アクセスを許可する方法を示しています。

このポリシーは、すべての Audit Manager のリソース (評価、フレームワーク、およびコントロール) を管理できるようにしますが、Audit Manager を有効または無効にしたり、Audit Manager の設定を変更したりできるようにするものではありません。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AuditManagerAccess", "Effect": "Allow", "Action": [ "auditmanager:AssociateAssessmentReportEvidenceFolder", "auditmanager:BatchAssociateAssessmentReportEvidence", "auditmanager:BatchCreateDelegationByAssessment", "auditmanager:BatchDeleteDelegationByAssessment", "auditmanager:BatchDisassociateAssessmentReportEvidence", "auditmanager:BatchImportEvidenceToAssessmentControl", "auditmanager:CreateAssessment", "auditmanager:CreateAssessmentFramework", "auditmanager:CreateAssessmentReport", "auditmanager:CreateControl", "auditmanager:DeleteControl", "auditmanager:DeleteAssessment", "auditmanager:DeleteAssessmentFramework", "auditmanager:DeleteAssessmentFrameworkShare", "auditmanager:DeleteAssessmentReport", "auditmanager:DisassociateAssessmentReportEvidenceFolder", "auditmanager:GetAccountStatus", "auditmanager:GetAssessment", "auditmanager:GetAssessmentFramework", "auditmanager:GetControl", "auditmanager:GetServicesInScope", "auditmanager:GetSettings", "auditmanager:GetAssessmentReportUrl", "auditmanager:GetChangeLogs", "auditmanager:GetDelegations", "auditmanager:GetEvidence", "auditmanager:GetEvidenceByEvidenceFolder", "auditmanager:GetEvidenceFileUploadUrl", "auditmanager:GetEvidenceFolder", "auditmanager:GetEvidenceFoldersByAssessment", "auditmanager:GetEvidenceFoldersByAssessmentControl", "auditmanager:GetInsights", "auditmanager:GetInsightsByAssessment", "auditmanager:GetOrganizationAdminAccount", "auditmanager:ListAssessments", "auditmanager:ListAssessmentReports", "auditmanager:ListControls", "auditmanager:ListKeywordsForDataSource", "auditmanager:ListNotifications", "auditmanager:ListAssessmentControlInsightsByControlDomain", "auditmanager:ListAssessmentFrameworks", "auditmanager:ListAssessmentFrameworkShareRequests", "auditmanager:ListControlDomainInsights", "auditmanager:ListControlDomainInsightsByAssessment", "auditmanager:ListControlInsightsByControlDomain", "auditmanager:ListTagsForResource", "auditmanager:StartAssessmentFrameworkShare", "auditmanager:TagResource", "auditmanager:UntagResource", "auditmanager:UpdateControl", "auditmanager:UpdateAssessment", "auditmanager:UpdateAssessmentControl", "auditmanager:UpdateAssessmentControlSetStatus", "auditmanager:UpdateAssessmentFramework", "auditmanager:UpdateAssessmentFrameworkShare", "auditmanager:UpdateAssessmentStatus", "auditmanager:ValidateAssessmentReportIntegrity" ], "Resource": "*" }, { "Sid": "ControlCatalogAccess", "Effect": "Allow", "Action": [ "controlcatalog:ListCommonControls", "controlcatalog:ListDomains", "controlcatalog:ListObjectives" ], "Resource": "*" }, { "Sid": "OrganizationsAccess", "Effect": "Allow", "Action": [ "organizations:ListAccountsForParent", "organizations:ListAccounts", "organizations:DescribeOrganization", "organizations:DescribeOrganizationalUnit", "organizations:DescribeAccount", "organizations:ListParents", "organizations:ListChildren" ], "Resource": "*" }, { "Sid": "IAMAccess", "Effect": "Allow", "Action": [ "iam:GetUser", "iam:ListUsers", "iam:ListRoles" ], "Resource": "*" }, { "Sid": "S3Access", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": "*" }, { "Sid": "KmsAccess", "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:ListKeys", "kms:ListAliases" ], "Resource": "*" }, { "Sid": "SNSAccess", "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }, { "Sid": "TagAccess", "Effect": "Allow", "Action": [ "tag:GetResources" ], "Resource": "*" } ] }

への読み取り専用アクセスをユーザーに許可する AWS Audit Manager

このポリシーは、評価、フレームワーク、コントロールなどの AWS Audit Manager リソースへの読み取り専用アクセスを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AuditManagerAccess", "Effect": "Allow", "Action": [ "auditmanager:Get*", "auditmanager:List*" ], "Resource": "*" } ] }

自分の権限の表示をユーザーに許可する

この例では、IAMユーザーがユーザー ID にアタッチされているインラインポリシーとマネージドポリシーを表示できるようにするポリシーを作成する方法を示します。このポリシーには、コンソールで、または AWS CLI または を使用してプログラムでこのアクションを実行するアクセス許可が含まれています AWS API。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Amazon SNSトピック AWS Audit Manager への通知の送信を許可する

この例のポリシーは、既存の Amazon SNSトピックに通知を送信するアクセス許可を Audit Manager に付与します。

  • 例 1 – Audit Manager から通知を受け取る場合は、この例を使用してSNSトピックアクセスポリシーに許可を追加します。

  • 例 2 – SNSトピックでサーバー側の暗号化 AWS Key Management Service (AWS KMS) に () を使用している場合SSEは、この例を使用してKMSキーアクセスポリシーに許可を追加します。

次のポリシーでは、許可を取得するプリンシパルは Audit Managerサービス プリンシパル auditmanager.amazonaws.com です。ポリシーステートメントのプリンシパルが AWS のサービスプリンシパルになる場合は、aws:SourceArn またはポリシーのaws:SourceAccount グローバル条件キーの使用を強くお勧めします。これらのグローバル条件コンテキストキーを使用すると、混乱した代理シナリオを防ぐことができます。

例 1 (SNSトピックのアクセス許可)

このポリシーステートメントにより、Audit Manager は指定されたSNSトピックにイベントを発行できます。指定されたSNSトピックに発行するリクエストは、ポリシー条件を満たす必要があります。

このポリシーを使用する前に、placeholder text 独自の情報。以下の情報を記録します。

  • このポリシーでaws:SourceArn条件キーを使用する場合、値は通知の送信元である Audit Manager リソースARNの である必要があります。以下の例では、aws:SourceArn リソース ID にワイルドカード (*) を使用しています。これにより、Audit Manager からのすべてのリクエストが、すべてのAudit Manager リソースで許可されます。aws:SourceArn グローバル条件キーには、StringLike または ArnLike の条件演算子を使用できます。ベストプラクティスとして、ArnLike を使用することをお勧めします。

  • aws:SourceAccount 条件キーを使用する場合は、StringEquals または StringLike の条件演算子を使用できます。ベストプラクティスとして、StringEqualsを使用して最小特権を実装することをお勧めします。

  • aws:SourceAccountaws:SourceArnの両方を使用する場合、アカウント値は同じアカウントIDを示す必要があります。

{ "Version": "2012-10-17", "Statement": { "Sid": "AllowAuditManagerToUseSNSTopic", "Effect": "Allow", "Principal": { "Service": "auditmanager.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:region:accountID:topicName", "Condition": { "StringEquals": { "aws:SourceAccount": "accountID" }, "ArnLike": { "aws:SourceArn": "arn:aws:auditmanager:region:accountID:*" } } } }

次の代替例では、StringLike 条件演算子とともに aws:SourceArn 条件キーのみを使用します。

"Condition": { "StringLike": { "aws:SourceArn": "arn:aws:auditmanager:region:accountID:*" } }

次の代替例では、StringLike 条件演算子とともに aws:SourceAccount 条件キーのみを使用します。

"Condition": { "StringLike": { "aws:SourceAccount": "accountID" } }

例 2 (SNSトピックにアタッチされているKMSキーのアクセス許可)

このポリシーステートメントにより、Audit Manager は KMSキーを使用して、SNSトピックの暗号化に使用するデータキーを生成できます。指定されたオペレーションに KMSキーを使用するリクエストは、ポリシー条件を満たす必要があります。

このポリシーを使用する前に、placeholder text 独自の情報。以下の情報を記録します。

  • このポリシーでaws:SourceArn条件キーを使用する場合、値は暗号化されているリソースARNの である必要があります。例えば、この場合は、アカウントのSNSトピックです。値を ARNまたはワイルドカード文字 () を含むARNパターンに設定します*StringLikeまたはArnLikeの条件演算子をaws:SourceArn条件キーとともに使用できます。ベストプラクティスとして、ArnLike を使用することをお勧めします。

  • aws:SourceAccount 条件キーを使用する場合は、StringEquals または StringLike の条件演算子を使用できます。ベストプラクティスとして、StringEqualsを使用して最小特権を実装することをお勧めします。SNS トピックARNの がわからないaws:SourceAccount場合は、 を使用できます。

  • aws:SourceAccountaws:SourceArnの両方を使用する場合、アカウント値は同じアカウントIDを示す必要があります。

{ "Version": "2012-10-17", "Statement": { "Sid": "AllowAuditManagerToUseKMSKey", "Effect": "Allow", "Principal": { "Service": "auditmanager.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:region:accountID:key/*", "Condition": { "StringEquals": { "aws:SourceAccount": "accountID" } "ArnLike": { "aws:SourceArn": "arn:aws:sns:region:accountID:topicName" } } } ] }

次の代替例では、StringLike 条件演算子とともに aws:SourceArn 条件キーのみを使用します。

"Condition": { "StringLike": { "aws:SourceArn": "arn:aws:sns:region:accountID:topicName" } }

次の代替例では、StringLike 条件演算子とともに aws:SourceAccount 条件キーのみを使用します。

"Condition": { "StringLike": { "aws:SourceAccount": "accountID" } }

ユーザーがエビデンスファインダーで検索クエリを実行できるようにします

次のポリシーは、 CloudTrail Lake イベントデータストアでクエリを実行するアクセス許可を付与します。このアクセス許可ポリシーは、エビデンスファインダー機能を使用する場合に必要です。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ManageCloudTrailLakeQueryAccess", "Effect": "Allow", "Action": [ "cloudtrail:StartQuery", "cloudtrail:DescribeQuery", "cloudtrail:GetQueryResults", "cloudtrail:CancelQuery" ], "Resource": "*" } ] }