AWS Audit Manager のサービスにリンクされたロールの使用 - AWS Audit Manager

AWS Audit Manager のサービスにリンクされたロールの使用

AWS Audit Manager では AWS Identity and Access Management (IAM) のサービスリンクロールを使用します。サービスにリンクされたロールは、Audit Manager に直接リンクされた一意のタイプの IAM ロールです。サービスにリンクされたロールは、Audit Manager によって事前定義されており、ユーザーの代わりにサービスから他の AWS のサービスを呼び出す必要のある許可がすべて含まれています。

サービスにリンクされたロールを使用することで、必要なアクセス権限を手動で追加する必要がなくなるため、AWS Audit Manager の設定が簡単になります。Audit Manager は、サービスにリンクされたロールの許可を定義します。特に定義されている場合を除き、Audit Manager のみがそのロールを引き受けることができます。定義されたアクセス許可には、信頼ポリシーとアクセス権限ポリシーが含まれ、そのアクセス権限ポリシーを他の IAM エンティティに適用することはできません。

サービスにリンクされたロールをサポートするその他のサービスについては、「 IAM と連携する AWS のサービス」を参照の上、[Service-Linked Role] (サービスにリンクされたロール) 列が [Yes] (はい) になっているサービスを検索してください。サービスリンクロールに関するドキュメントをサービスで表示するには、[Yes] (はい) リンクを選択します。

AWS Audit Manager のサービスリンクロールのアクセス許可

Audit Manager は、AWSServiceRoleForAuditManagerという名前のサービスリンクロールを使用します。これにより、AWS Audit Manager によって使用または管理される AWS のサービスおよびリソースへのアクセスが可能になります。

AWSServiceRoleForAuditManager サービスにリンクされたロールは、ロールを継承するために auditmanager.amazonaws.com のサービスを信頼します。

ロール許可ポリシーにより、AWSAuditManagerServiceRolePolicy、Audit Manager はユーザーの AWS 使用状況に関する自動証拠を収集できます。具体的には、ユーザーに代わって以下のアクションを実行できます。

  • Audit Manager は、AWS Security Hubを使用してコンプライアンスチェックの証拠を収集できます。この場合、Audit Manager は次の許可を使用してセキュリティチェックの結果をAWS Security Hubから直接報告します。次に、その結果を証拠として関連する評価コントロールに添付します。

    • securityhub:DescribeStandards

    注記

    Audit Manager が記述できる特定の Security Hub コントロールの詳細については、「AWS Audit Manager でサポートされている AWS Security Hub コントロール」を参照してください。

  • Audit Manager は、AWS Configを使用してコンプライアンスチェックの証拠を収集できます。この場合、Audit Manager は次の許可を使用してAWS Configルール評価の結果をAWS Configから直接報告します。次に、その結果を証拠として関連する評価コントロールに添付します。

    • config:DescribeConfigRules

    • config:DescribeDeliveryChannels

    • config:ListDiscoveredResources

    注記

    Audit Manager が記述できる特定のAWS Configルールの詳細については、「AWS Audit Manager によってサポートされる AWS Config ルール」を参照してください。

  • Audit Manager は、AWS CloudTrailを使用してユーザーアクティビティの証拠を収集できます。この場合、Audit Manager は次の許可を使用して CloudTrail ログからユーザーアクティビティをキャプチャします。次に、そのアクティビティを証拠として関連する評価コントロールに添付します。

    • cloudtrail:DescribeTrails

    • cloudtrail:LookupEvents

    注記

    Audit Manager が記述できる特定の CloudTrail イベントの詳細については、「AWS Audit Manager でサポートされている AWS CloudTrail イベント名」を参照してください。

  • Audit Manager は AWSAPI コールを使用してリソース設定の証拠を収集できます。この場合、Audit Manager は次の許可を使用して、以下のAWS のサービスのリソース設定を記述する読み取り専用 API を呼び出します。次に、API レスポンスを証拠として関連する評価コントロールに添付します。

    • acm:GetAccountConfiguration

    • acm:ListCertificates

    • apigateway:GET

    • autoscaling:DescribeAutoScalingGroups

    • backup:ListBackupPlans

    • backup:ListRecoveryPointsByResource

    • bedrock:GetCustomModel

    • bedrock:GetFoundationModel

    • bedrock:GetModelCustomizationJob

    • bedrock:GetModelInvocationLoggingConfiguration

    • bedrock:ListCustomModels

    • bedrock:ListFoundationModels

    • bedrock:ListGuardrails

    • bedrock:ListModelCustomizationJobs

    • cloudfront:GetDistribution

    • cloudfront:GetDistributionConfig

    • cloudfront:ListDistributions

    • cloudtrail:DescribeTrails

    • cloudtrail:GetTrail

    • cloudtrail:ListTrails

    • cloudtrail:LookupEvents

    • cloudwatch:DescribeAlarms

    • cloudwatch:DescribeAlarmsForMetric

    • cloudwatch:GetMetricStatistics

    • cloudwatch:ListMetrics

    • cognito-idp:DescribeUserPool

    • config:DescribeConfigRules

    • config:DescribeDeliveryChannels

    • config:ListDiscoveredResources

    • directconnect:DescribeDirectConnectGateways

    • directconnect:DescribeVirtualGateways

    • dynamodb:DescribeBackup

    • dynamodb:DescribeContinuousBackups

    • dynamodb:DescribeTable

    • dynamodb:DescribeTableReplicaAutoScaling

    • dynamodb:ListBackups

    • dynamodb:ListGlobalTables

    • dynamodb:ListTables

    • ec2:DescribeAddresses

    • ec2:DescribeCustomerGateways

    • ec2:DescribeEgressOnlyInternetGateways

    • ec2:DescribeFlowLogs

    • ec2:DescribeInstanceCreditSpecifications

    • ec2:DescribeInstanceAttribute

    • ec2:DescribeInstances

    • ec2:DescribeInternetGateways

    • ec2:DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations

    • ec2:DescribeLocalGateways

    • ec2:DescribeLocalGatewayVirtualInterfaces

    • ec2:DescribeNatGateways

    • ec2:DescribeNetworkAcls

    • ec2:DescribeRouteTables

    • ec2:DescribeSecurityGroups

    • ec2:DescribeSecurityGroupRules

    • ec2:DescribeSnapshots

    • ec2:DescribeTransitGateways

    • ec2:DescribeVolumes

    • ec2:DescribeVpcEndpoints

    • ec2:DescribeVpcEndpointConnections

    • ec2:DescribeVpcEndpointServiceConfigurations

    • ec2:DescribeVpcPeeringConnections

    • ec2:DescribeVpcs

    • ec2:DescribeVpnConnections

    • ec2:DescribeVpnGateways

    • ec2:GetEbsDefaultKmsKeyId

    • ec2:GetEbsEncryptionByDefault

    • ec2:GetLaunchTemplateData

    • ecs:DescribeClusters

    • eks:DescribeAddonVersions

    • elasticache:DescribeCacheClusters

    • elasticache:DescribeServiceUpdates

    • elasticfilesystem:DescribeAccessPoints

    • elasticfilesystem:DescribeFileSystems

    • elasticloadbalancing:DescribeLoadBalancers

    • elasticloadbalancing:DescribeSslPolicies

    • elasticloadbalancing:DescribeTargetGroups

    • elasticmapreduce:ListClusters

    • elasticmapreduce:ListSecurityConfigurations

    • es:DescribeDomains

    • es:DescribeDomain

    • es:DescribeDomainConfig

    • es:ListDomainNames

    • events:DeleteRule

    • events:DescribeRule

    • events:DisableRule

    • events:EnableRule

    • events:ListConnections

    • events:ListEventBuses

    • events:ListEventSources

    • events:ListRules

    • events:ListTargetsByRule

    • events:PutRule

    • events:PutTargets

    • events:RemoveTargets

    • firehose:ListDeliveryStreams

    • fsx:DescribeFileSystems

    • guardduty:ListDetectors

    • iam:GenerateCredentialReport

    • iam:GetAccessKeyLastUsed

    • iam:GetAccountAuthorizationDetails

    • iam:GetAccountPasswordPolicy

    • iam:GetAccountSummary

    • iam:GetCredentialReport

    • iam:GetGroupPolicy

    • iam:GetPolicy

    • iam:GetPolicyVersion

    • iam:GetRolePolicy

    • iam:GetUser

    • iam:GetUserPolicy

    • iam:ListAccessKeys

    • iam:ListAttachedGroupPolicies

    • iam:ListAttachedRolePolicies

    • iam:ListAttachedUserPolicies

    • iam:ListEntitiesForPolicy

    • iam:ListGroupPolicies

    • iam:ListGroups

    • iam:ListGroupsForUser

    • iam:ListMfaDeviceTags

    • iam:ListMfaDevices

    • iam:ListOpenIdConnectProviders

    • iam:ListPolicies

    • iam:ListPolicyVersions

    • iam:ListRolePolicies

    • iam:ListRoles

    • iam:ListSamlProviders

    • iam:ListUserPolicies

    • iam:ListUsers

    • iam:ListVirtualMFADevices

    • kafka:ListClusters

    • kafka:ListKafkaVersions

    • kinesis:ListStreams

    • kms:DescribeKey

    • kms:GetKeyPolicy

    • kms:GetKeyRotationStatus

    • kms:ListGrants

    • kms:ListKeyPolicies

    • kms:ListKeys

    • lambda:ListFunctions

    • license-manager:ListAssociationsForLicenseConfiguration

    • license-manager:ListLicenseConfigurations

    • license-manager:ListUsageForLicenseConfiguration

    • logs:DescribeDestinations

    • logs:DescribeExportTasks

    • logs:DescribeLogGroups

    • logs:DescribeMetricFilters

    • logs:DescribeResourcePolicies

    • logs:FilterLogEvents

    • logs:GetDataProtectionPolicy

    • organizations:DescribeOrganization

    • organizations:DescribePolicy

    • rds:DescribeCertificates

    • rds:DescribeDBClusterEndpoints

    • rds:DescribeDBClusterParameterGroups

    • rds:DescribeDBClusters

    • rds:DescribeDBInstances

    • rds:DescribeDBInstanceAutomatedBackups

    • rds:DescribeDBSecurityGroups

    • redshift:DescribeClusters

    • redshift:DescribeClusterSnapshots

    • redshift:DescribeLoggingStatus

    • route53:GetQueryLoggingConfig

    • s3:GetBucketAcl

    • s3:GetBucketLogging

    • s3:GetBucketOwnershipControls

    • s3:GetBucketPolicy

      • この API アクションは、サービスリンクロールが利用可能な AWS アカウント の範囲内で動作します。クロスアカウントのバケットポリシーにはアクセスできません。

    • s3:GetBucketPublicAccessBlock

    • s3:GetBucketTagging

    • s3:GetBucketVersioning

    • s3:GetEncryptionConfiguration

    • s3:GetLifecycleConfiguration

    • s3:ListAllMyBuckets

    • sagemaker:DescribeAlgorithm

    • sagemaker:DescribeDomain

    • sagemaker:DescribeEndpoint

    • sagemaker:DescribeEndpointConfig

    • sagemaker:DescribeFlowDefinition

    • sagemaker:DescribeHumanTaskUi

    • sagemaker:DescribeLabelingJob

    • sagemaker:DescribeModel

    • sagemaker:DescribeModelBiasJobDefinition

    • sagemaker:DescribeModelCard

    • sagemaker:DescribeModelQualityJobDefinition

    • sagemaker:DescribeTrainingJob

    • sagemaker:DescribeUserProfile

    • sagemaker:ListAlgorithms

    • sagemaker:ListDomains

    • sagemaker:ListEndpointConfigs

    • sagemaker:ListEndpoints

    • sagemaker:ListFlowDefinitions

    • sagemaker:ListHumanTaskUis

    • sagemaker:ListLabelingJobs

    • sagemaker:ListModels

    • sagemaker:ListModelBiasJobDefinitions

    • sagemaker:ListModelCards

    • sagemaker:ListModelQualityJobDefinitions

    • sagemaker:ListMonitoringAlerts

    • sagemaker:ListMonitoringSchedules

    • sagemaker:ListTrainingJobs

    • sagemaker:ListUserProfiles

    • securityhub:DescribeStandards

    • secretsmanager:DescribeSecret

    • secretsmanager:ListSecrets

    • sns:ListTagsForResource

    • sns:ListTopics

    • sqs:ListQueues

    • waf-regional:GetLoggingConfiguration

    • waf-regional:GetRule

    • waf-regional:GetWebAcl

    • waf-regional:ListRuleGroups

    • waf-regional:ListRules

    • waf-regional:ListSubscribedRuleGroups

    • waf-regional:ListWebACLs

    • waf:GetRule

    • waf:GetRuleGroup

    • waf:ListActivatedRulesInRuleGroup

    • waf:ListRuleGroups

    • waf:ListRules

    • waf:ListWebAcls

    • wafv2:ListWebAcls

    注記

    Audit Managerで記述できる特定のAPI コールの詳細についてはカスタムコントロールデータソースでサポートされる API コールを参照してください。

サービスリンクロール AWSServiceRoleForAuditManager の許可の詳細をすべて表示するには、「AWS管理ポリシーリファレンスガイド」の「AWSAuditManagerServiceRolePolicy」を参照してください。

サービスリンクロールの作成、編集、削除を IAM エンティティ (ユーザー、グループ、ロールなど) に許可するには、アクセス許可を設定する必要があります。詳細については、「IAM ユーザーガイド」の「Service-linked role permissions」を参照してください。

AWS Audit Manager サービスリンクロールの作成

サービスリンクロールを手動で作成する必要はありません。AWS Audit Manager を有効にすると、サービスは、サービスにリンクされたロールを自動的に作成します。AWS Management Console のオンボーディングページから、または API もしくは AWS CLI を介して、Audit Manager を有効にできます。詳細については、ユーザーガイドの「AWS Audit Manager の有効化」を参照してください。

このサービスリンクロールを削除した後で再度作成する必要が生じた場合は、同じ方法でアカウントにロールを再作成できます。

AWS Audit Manager サービスリンクロールの編集

AWS Audit Manager では、AWSServiceRoleForAuditManager のサービスにリンクされたロールを編集することはできません。サービスにリンクされたロールを作成すると、多くのエンティティによってロールが参照される可能性があるため、ロール名を変更することはできません。ただし、IAM を使用したロール記述の編集はできます。詳細については、「IAM ユーザーガイド」の「サービスリンクロールの編集」を参照してください。

: IAM エンティティが AWSServiceRoleForAuditManager サービスリンクロールの説明を編集することを許可します

サービスにリンクされたロールの説明を編集する必要のある IAM エンティティの許可ポリシーに次のステートメントを追加します。

{ "Effect": "Allow", "Action": [ "iam:UpdateRoleDescription" ], "Resource": "arn:aws:iam::*:role/aws-service-role/auditmanager.amazonaws.com/AWSServiceRoleForAuditManager*", "Condition": {"StringLike": {"iam:AWSServiceName": "auditmanager.amazonaws.com"}} }

AWS Audit Manager サービスリンクロールの削除

Audit Managerを使用する必要がなくなった場合は、AWSServiceRoleForAuditManager サービスリンクロールを削除することをお勧めします。これにより、使用していないエンティティがアクティブにモニタリングされたり、メンテナンスされたりすることがなくなります。ただし、削除する前に、サービスリンクロールをクリーンアップする必要があります。

サービスにリンクされたロールのクリーンアップ

IAM を使用して Audit Manager サービスリンクロールを削除するには、まずそのロールにアクティブなセッションがないことを確認し、そのロールで使用されているリソースをすべて削除する必要があります。そのためには、Audit Manager がすべてAWS リージョンで登録解除されていることを確認してください。登録を解除すると、Audit Manager はサービスリンクロールを使用しなくなります。

Audit Managerの登録解除の方法については以下のリソースを参照してください。

Audit Manager リソースを手動で削除する方法については、本ガイドの「Audit Manager データの削除」を参照してください。

サービスリンクロールの削除

サービスリンクロールは、IAM コンソール、AWS Command Line Interface (AWS CLI)、または IAM API を使用して削除することができます。

IAM console

以下の手順に従って、IAMコンソールでサービスリンクロールを削除してください。

サービスにリンクされたロールを削除するには (コンソール)
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. IAM コンソールのナビゲーションペインで [ロール] を選択します。AWSServiceRoleForAuditManager の横のチェックボックス (名前または行自体ではなく) を選択します。

  3. ページ上部にある [ロールのアクション][削除] を選択します。

  4. 確認ダイアログボックスで、最終アクセス情報を確認します。これは、選択したそれぞれのロールの AWS のサービスへの最終アクセス時間を示します。これは、そのロールが現在アクティブであるかどうかを確認するのに役立ちます。先に進む場合は、テキスト入力フィールドに AWSServiceRoleForAuditManager と入力し、[削除]を選択して、削除するサービスリンクロールを送信します。

  5. IAM コンソール通知を見て、サービスにリンクされたロールの削除の進行状況をモニタリングします。IAM サービスにリンクされたロールの削除は非同期であるため、削除するロールを送信すると、削除タスクは成功または失敗する可能性があります。タスクが成功した場合は、ロールがリストから削除され、成功のメッセージがページの上部に表示されます。

AWS CLI

AWS CLI から IAM コマンドを使用して、サービスにリンクされたロールを削除できます。

サービスにリンクされたロールを削除するには (AWS CLI)
  1. 次のコマンドを入力して、アカウント内のロールを一覧表示します。

    aws iam get-role --role-name AWSServiceRoleForAuditManager
  2. サービスにリンクされているロールは、使用されている、または関連するリソースがある場合は削除できないため、削除リクエストを送信する必要があります。これらの条件が満たされない場合、そのリクエストは拒否される可能性があります。レスポンスから deletion-task-id を取得して、削除タスクのステータスを確認する必要があります。

    サービスにリンクされたロールの削除リクエストを送信するには、次のコマンドを入力します:

    aws iam delete-service-linked-role --role-name AWSServiceRoleForAuditManager
  3. 削除タスクのステータスを確認するには、次のコマンドを入力します:

    aws iam get-service-linked-role-deletion-status --deletion-task-id deletion-task-id

    削除タスクのステータスは、NOT_STARTEDIN_PROGRESSSUCCEEDED、または FAILED となります。削除が失敗した場合は、失敗した理由がコールによって返され、トラブルシューティングが可能になります。

IAM API

IAM API を使用して、サービスにリンクされたロールを削除できます。

サービスにリンクされたロールを削除するには (API)
  1. GetRole を呼び出して、アカウント内のロールを一覧表示します。リクエストで AWSServiceRoleForAuditManagerRoleNameとして指定します。

  2. サービスにリンクされているロールは、使用されている、または関連するリソースがある場合は削除できないため、削除リクエストを送信する必要があります。これらの条件が満たされない場合、そのリクエストは拒否される可能性があります。レスポンスから DeletionTaskId を取得して、削除タスクのステータスを確認する必要があります。

    サービスにリンクされたロールの削除リクエストを送信するには、DeleteServiceLinkedRole を呼び出します。リクエストで AWSServiceRoleForAuditManagerRoleNameとして指定します。

  3. 削除タスクのステータスを確認するには、GetServiceLinkedRoleDeletionStatus を呼び出します。リクエストで DeletionTaskId を指定します。

    削除タスクのステータスは、NOT_STARTEDIN_PROGRESSSUCCEEDED、または FAILED となります。削除が失敗した場合は、失敗した理由がコールによって返され、トラブルシューティングが可能になります。

Audit Manager でのサービスリンクロールの削除に関するヒント

Audit Manager がロールを使用している場合、または関連するリソースがある場合、Audit Manager のサービスリンクロールの削除プロセスは失敗します。これは、以下のシナリオで発生する可能性があります。

  1. アカウントは、1 つ以上の AWS リージョン でまだ Audit Manager に登録されている。

  2. アカウントは AWS Organization の一部であり、管理アカウントまたは委任された管理アカウントはまだ Audit Manager にオンボーディングされている。

削除失敗の問題を解決するには、まず AWS アカウント が Organization の一部であるかどうかを確認します。これを行うには、DescribeOrganization API オペレーションを呼び出すか、AWS Organizations コンソールに移動します。

AWS アカウント が Organization の一部である場合
  1. 管理アカウントを使用して、Audit Manager で委任された管理者を追加したすべての AWS リージョン を削除します

  2. 管理アカウントを使用して、サービスを使用したすべての AWS リージョン で Audit Manager の登録を解除します

  3. 前の手順の手順に従って、サービスリンクロールの削除を再試行します。

AWS アカウント が Organization の一部でない場合
  1. サービスを使用するすべての AWS リージョン で Audit Manager の登録を解除します

  2. 前の手順の手順に従って、サービスリンクロールの削除を再試行します。

Audit Manager の登録を解除すると、サービスはサービスリンクロールの使用を停止します。その後、ロールを正常に削除できます。

AWS Audit Manager のサービスにリンクされたロールをサポートするリージョン

AWS Audit Manager では、このサービスが利用可能なすべての AWS リージョン で、サービスリンクロールの使用をサポートしています。詳細については、AWS サービスエンドポイントを参照してください。