Amazon Fraud Detector のアイデンティティベースポリシーの例 - Amazon Fraud Detector

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

Amazon Fraud Detector のアイデンティティベースポリシーの例

デフォルトでは、ユーザーと IAM ロールには Amazon Fraud Detector リソースを作成または変更するアクセス許可はありません。また、、 AWS Management Console AWS CLI、または AWS API を使用してタスクを実行することはできません。IAM 管理者は、指定されたリソースで特定の API 操作を実行するための許可をユーザーとロールに付与する IAM ポリシーを作成する必要があります。続いて、管理者はそれらのアクセス許可が必要なユーザーまたはグループにそのポリシーをアタッチします。

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

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

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

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

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

  • IAM ポリシーで条件を使用してアクセスをさらに制限する - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。例えば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、 などの特定の を介してサービスアクションが使用される場合に AWS のサービス、サービスアクションへのアクセスを許可することもできます AWS CloudFormation。詳細については、『IAM ユーザーガイド』の [IAM JSON policy elements: Condition] (IAM JSON ポリシー要素:条件) を参照してください。

  • IAM Access Analyzer を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する - IAM Access Analyzer は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、『IAM ユーザーガイド』の「IAM Access Analyzer ポリシーの検証」を参照してください。

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

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

Amazon Fraud Detector の AWS 管理 (事前定義) ポリシー

AWS は、 によって作成および管理されるスタンドアロン IAM ポリシーを提供することで、多くの一般的なユースケースに対処します AWS。これらの AWS 管理ポリシーは、一般的なユースケースに必要なアクセス許可を付与するため、どのアクセス許可が必要かを調査する必要がなくなります。詳細については、「 管理ユーザーガイド」の「AWS 管理ポリシー」を参照してください。 AWS Identity and Access Management

アカウントのユーザーにアタッチできる次の AWS マネージドポリシーは、Amazon Fraud Detector に固有です。

AmazonFraudDetectorFullAccess: 以下を含む、Amazon Fraud Detector のリソース、アクションおよびサポートされているオペレーションにフルアクセスできます

  • Amazon のすべてのモデルエンドポイントを一覧表示して説明する SageMaker

  • アカウント内のすべての IAM ロールを一覧表示する

  • Amazon S3 バケットをすべて一覧表示する

  • IAM パスロールが Amazon Fraud Detector にロールを渡すことを許可する

このポリシーでは、無制限の S3 アクセスは提供されません。モデルトレーニングデータセットを S3 にアップロードする必要がある場合は、AmazonS3FullAccess 管理ポリシー (またはスコープダウンカスタム Amazon S3 アクセスポリシー) も必要です。

ポリシーのアクセス許可は、IAM コンソールにサインインしてポリシー名で検索することで確認できます。独自のカスタム IAM ポリシーを作成し、必要に応じて Amazon Fraud Detector のアクションとリソースのためのアクセスを許可することもできます。これらのカスタムポリシーは、それらを必要とする ユーザーにアタッチできます。

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

この例では、ユーザーアイデンティティにアタッチされたインラインおよびマネージドポリシーの表示を IAM ユーザーに許可するポリシーの作成方法を示します。このポリシーには、コンソールで、または 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 Fraud Detector リソースへのフルアクセスを許可する

次の例では、 のユーザーに、すべての Amazon Fraud Detector リソースとアクションへの AWS アカウント フルアクセスを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "frauddetector:*" ], "Resource": "*" } ] }

Amazon Fraud Detector リソースへの読み取り専用アクセスを許可する

この例では、Amazon Fraud Detector リソースへの AWS アカウント 読み取り専用アクセス権を のユーザーに付与します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "frauddetector:GetEventTypes", "frauddetector:BatchGetVariable", "frauddetector:DescribeDetector", "frauddetector:GetModelVersion", "frauddetector:GetEventPrediction", "frauddetector:GetExternalModels", "frauddetector:GetLabels", "frauddetector:GetVariables", "frauddetector:GetDetectors", "frauddetector:GetRules", "frauddetector:ListTagsForResource", "frauddetector:GetKMSEncryptionKey", "frauddetector:DescribeModelVersions", "frauddetector:GetDetectorVersion", "frauddetector:GetPrediction", "frauddetector:GetOutcomes", "frauddetector:GetEntityTypes", "frauddetector:GetModels" ], "Resource": "*" } ] }

特定のリソースへのアクセスを許可する

リソースレベルのポリシーのこの例では、特定の 1 つの Detector リソースを除くすべてのアクションとリソース AWS アカウント へのアクセスを のユーザーに許可します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "frauddetector:*" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "frauddetector:*Detector" ], "Resource": "arn:${Partition}:frauddetector:${Region}:${Account}:detector/${detector-name}" } ] }

デュアルモード API の使用時に特定のリソースへのアクセスを許可する

Amazon Fraud Detector には、リストオペレーションと説明オペレーションの両方として機能するデュアルモード取得 APIs が用意されています。パラメータなしで呼び出されると、デュアルモード API は、 に関連付けられた指定されたリソースのリストを返します AWS アカウント。パラメータで呼び出されたデュアルモード API は、指定されたリソースの詳細を返します。リソースには、モデル、変数、イベントタイプ、またはエンティティタイプを使用できます。

デュアルモード APIsIAM ポリシーのリソースレベルのアクセス許可をサポートします。ただし、リソースレベルのアクセス許可は、リクエストの一部として 1 つ以上のパラメータが指定されている場合にのみ適用されます。例えば、ユーザーが GetVariables API を呼び出して変数名を指定し、変数リソースまたは変数名に IAM 拒否ポリシーがアタッチされている場合、ユーザーはAccessDeniedExceptionエラーを受け取ります。ユーザーが GetVariables API を呼び出し、変数名を指定しない場合、すべての変数が返され、情報漏えいが発生する可能性があります。

ユーザーが特定のリソースの詳細のみを表示できるようにするには、IAM 拒否NotResourceポリシーで IAM ポリシー要素を使用します。このポリシー要素を IAM 拒否ポリシーに追加すると、ユーザーは NotResourceブロックで指定されたリソースの詳細のみを表示できます。詳細については、「IAM ユーザーガイド」の「IAM JSON ポリシー要素: NotResource」を参照してください。

次のポリシー例では、Amazon Fraud Detector のすべてのリソースへのアクセスをユーザーに許可します。ただし、NotResourceポリシー要素は、プレフィックス 、user*job_*および を持つ変数名のみに GetVariables API コールを制限するために使用されますvar*

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "frauddetector:*", "Resource": "*" }, { "Effect": "Deny", "Action": "frauddetector:GetVariables", "NotResource": [ "arn:aws:frauddetector:*:*:variable/user*", "arn:aws:frauddetector:*:*:variable/job_*", "arn:aws:frauddetector:*:*:variable/var*" ] } ] }

レスポンス

このポリシー例では、レスポンスは以下の動作を示します。

  • 変数名を含まない GetVariables 呼び出しは、リクエストが Deny ステートメントにマッピングされるため、AccessDeniedExceptionエラーになります。

  • 許可されていない変数名を含む GetVariables 呼び出しでは、変数名が NotResourceブロック内の変数名にマッピングされないため、AccessDeniedExceptionエラーが発生します。例えば、可変名を持つ GetVariables 呼び出しはAccessDeniedExceptionエラーemail_addressになります。

  • NotResource ブロック内の変数名と一致する変数名を含む GetVariables 呼び出しは、期待どおりに返されます。例えば、変数名を含む GetVariables 呼び出しは、job_cpa変数の詳細job_cpaを返します。

タグに基づくアクセスの制限

このポリシーの例では、リソースタグに基づいて Amazon Fraud Detector へのアクセスを制限する方法を説明します。この例では、次のことを前提としています。

  • で AWS アカウント 、Team1 と Team2 という Team2つの異なるグループを定義しました。

  • 4 つのディテクターが作成されました

  • Team1 のメンバーが 2 つのディテクターで API 呼び出しを行うことを許可したいと考えています

  • Team2 のメンバーが他の 2 つのディテクターで API 呼び出しを行うことを許可したいと考えています

API コールへのアクセスをコントロールするには (例)
  1. Team1 が使用するディテクターに、キー Project と値 A を含むタグを追加します。

  2. Team2 が使用するディテクターに、キー Project と値 B を含むタグを追加します。

  3. キー Project と値 B のタグを含むディテクターへのアクセスを拒否する ResourceTag 条件で IAM ポリシーを作成し、そのポリシーを Team1 にアタッチします。

  4. キー Project と値 A のタグを含むディテクターへのアクセスを拒否する ResourceTag 条件で IAM ポリシーを作成し、そのポリシーを Team2 にアタッチします。

以下は、Project のキーと B の値を含むタグを持つ Amazon Fraud Detector リソースに対する特定のアクションを拒否するポリシーの例です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "frauddetector:*", "Resource": "*" }, { "Effect": "Deny", "Action": [ "frauddetector:CreateModel", "frauddetector:CancelBatchPredictionJob", "frauddetector:CreateBatchPredictionJob", "frauddetector:DeleteBatchPredictionJob", "frauddetector:DeleteDetector" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Project": "B" } } } ] }