サービス間の混乱した代理の防止 - AWS Systems Manager

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

サービス間の混乱した代理の防止

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

リソースポリシーで aws:SourceArn および aws:SourceAccount のグローバル条件コンテキストキーを使用して、AWS Systems Manager が別のサービスに付与する許可をそのリソースに制限することをお勧めします。aws:SourceArn 値に、S3 バケットの Amazon リソースネーム (ARN) などのアカウント ID が含まれていない場合は、アクセス許可を制限するために、両方のグローバル条件コンテキストキーを使用する必要があります。同じポリシーステートメントでこれらのグローバル条件コンテキストキーの両方を使用し、アカウント ID にaws:SourceArn の値が含まれていない場合、aws:SourceAccount 値と aws:SourceArn 値の中のアカウントには、同じアカウント ID を使用する必要があります。クロスサービスのアクセスにリソースを 1 つだけ関連付けたい場合は、aws:SourceArn を使用します。そのアカウント内のどのリソースでもクロスサービス使用に関連付けることを許可する場合、aws:SourceAccount を使用します。

以下のセクションは AWS Systems Manager 機能におけるポリシーの例を示します。

ハイブリッドアクティベーション ポリシーの例

ハイブリッドアクティベーションで使用されるサービスロールの場合、aws:SourceArn の値は AWS アカウント の ARN である必要があります。ハイブリッドアクティベーションを作成したときの ARN の AWS リージョン を必ず指定してください。リソースの ARN 全体が不明または複数のリソースを指定する場合、ARN の未知部分にワイルドカード (*) が付いた aws:SourceArn グローバルコンテキスト条件キー を使用します。例えば、arn:aws:ssm:*:region:123456789012:* です。

次の例は、オートメーションの aws:SourceArn および aws:SourceAccount グローバル条件コンテキストキーを使用して、米国東部 (オハイオ) リージョン (us-east-2) での混乱した使節の問題を防止する方法を示しています。

{ "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"123456789012" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:ssm:us-east-2:123456789012:*" } } } ] }

リソースデータ同期ポリシーの例

Systems Manager Inventory、Explorer、コンプライアンスはリソースデータ同期の作成を実現して、オペレーションデータ (OpsData) のストレージを中央の Amazon Simple Storage Service バケットに一元化できます。AWS Key Management Service (AWS KMS) を使用してリソースデータの同期を暗号化する場合、次のポリシーを含む新しいキーを作成するか、既存のキーを更新してこのポリシーを追加する必要があります。このポリシー内の aws:SourceArnaws:SourceAccount の条件キーは「混乱した使節の問題」を防止します。次の通り、ポリシーの例を示します。

{ "Version": "2012-10-17", "Id": "ssm-access-policy", "Statement": [ { "Sid": "ssm-access-policy-statement", "Action": [ "kms:GenerateDataKey" ], "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Resource": "arn:aws:kms:us-east-2:123456789012:key/KMS_key_id", "Condition": { "StringLike": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:ssm:*:123456789012:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM" } } } ] }
注記

ポリシー例の ARN は、システムに対して AWS Security Hub を除くすべてのソースにおける OpsData の暗号化を実現します。Security Hub データを暗号化する必要がある場合、たとえば Explorer でSecurity Hub データを収集した場合、次の ARN を指定する追加ポリシーをアタッチする必要があります:

"aws:SourceArn": "arn:aws:ssm:*:account-id:role/aws-service-role/opsdatasync.ssm.amazonaws.com/AWSServiceRoleForSystemsManagerOpsDataSync"