預防混淆代理人 - Amazon Fraud Detector

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

預防混淆代理人

當沒有執行動作許可的實體可能會強制更特權的實體執行動作時,就會發生混淆代理人問題。如果您提供第三方 (稱為跨帳戶) 或其他 AWS 服務 (稱為跨服務) 存取您帳戶中的資源, AWS 會提供可協助您保護帳戶的工具。

當一個服務 (呼叫服務) 呼叫另一個服務 (呼叫服務) 時,可能會發生跨服務混淆代理人問題。可以操縱呼叫服務來使用其許可,以其不應有存取許可的方式對其他客戶的資源採取動作。若要防止這種情況,您可以建立政策,以透過已授予服務資源存取權的服務主體,協助保護所有 服務的資料。

Amazon Fraud Detector 支援在您的許可政策中使用服務角色,以允許服務代表您存取其他服務的資源。角色需要兩個政策:指定允許承擔角色的主體的角色信任政策;以及指定角色可執行動作的許可政策。當服務代表您擔任角色時,必須允許服務主體執行角色信任政策中的 sts:AssumeRole 動作。當服務呼叫 時sts:AssumeRole, AWS STS 會傳回一組臨時安全登入資料,供服務主體用來存取角色的許可政策所允許的資源。

為了防止跨服務混淆代理問題,Amazon Fraud Detector 建議您在角色信任政策中使用 aws:SourceArnaws:SourceAccount全域條件內容金鑰,將角色的存取限制為僅由預期資源產生的請求。

aws:SourceAccount 指定帳戶 ID,而 aws:SourceArn指定與跨服務存取相關聯的資源 ARN。aws:SourceArn 必須使用 ARN 格式指定 。確保 aws:SourceAccountaws:SourceArn 在相同的政策陳述式中使用相同的帳戶 ID。

防範混淆代理人問題的最有效方法是使用 aws:SourceArn 全域條件內容索引鍵,以及資源的完整 ARN。如果您不知道資源的完整 ARN 或指定多個資源,請將aws:SourceArn全域內容條件索引鍵與萬用字元 (*) 搭配使用,以取得 ARN 的未知部分。例如:arn:aws:servicename:*:123456789012:*。如需有關您可以在許可政策中使用的 Amazon Fraud Detector 資源和動作的資訊,請參閱 Amazon Fraud Detector 的動作、資源和條件索引鍵

下列角色信任政策範例在aws:SourceArn條件索引鍵中使用萬用字元 (*),以允許 Amazon Fraud Detector 存取與帳戶 ID 相關聯的多個資源。

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

下列角色信任政策允許 Amazon Fraud Detector 僅存取 external-model 資源。請注意條件區塊中的aws:SourceArn參數。資源限定詞是使用用於進行 PutExternalModel API 呼叫的模型端點所建置。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "frauddetector.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "StringLike": { "aws:SourceArn": "arn:aws:frauddetector:us-west-2:123456789012:external-model/MyExternalModeldoNotDelete-ReadOnly" } } } ] }