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

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

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

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

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

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

ID ベースのポリシーは、ユーザーのアカウントで誰が X-Ray リソースを作成、アクセス、削除できるかを決定します。これらのアクションを実行すると、 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 でのセキュリティのベストプラクティス」を参照してください。

X-Ray コンソールの使用

AWS X-Ray コンソールにアクセスするには、一連の最小限のアクセス許可が必要です。これらのアクセス許可により、 の X-Ray リソースの詳細をリストおよび表示できます AWS アカウント。最小限必要な許可よりも制限が厳しいアイデンティティベースのポリシーを作成すると、そのポリシーを持つエンティティ (ユーザーまたはロール) に対してコンソールが意図したとおりに機能しません。

これらのエンティティが X-Ray コンソールを使用できるようにするには、エンティティに AWSXRayReadOnlyAccess AWS 管理ポリシーをアタッチします。このポリシーについては、X-Ray の IAM マネージドポリシーで詳しく説明されています。詳細については、「IAM ユーザーガイド」の「ユーザーへのアクセス許可の追加」を参照してください。

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

ユーザーが自分の許可を表示できるようにする

この例では、ユーザーアイデンティティに添付されたインラインおよびマネージドポリシーの表示を 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": "*" } ] }

タグに基づいて X-Ray グループおよびサンプリングルールへのアクセスを管理する

アイデンティティベースのポリシーの条件を使用して、タグに基づいて X-Ray グループやタグに基づいたサンプリングルールへのアクセスを制御できます。次の例のポリシーはタグ stage:prod または stage:preprod 付きのグループを作成、削除、または更新するアクセス権限をユーザーロールで拒否するために使用できます。X-Ray サンプリングルールとグループのタグ付けの詳細については、「X-Ray のサンプリングルールとグループのタグ付け」を参照してください。

ユーザーがタグ stage:prod または stage:preprod 付きのグループの作成、更新、または削除にアクセスするのを拒否するには、次のようなポリシーを持つロールをユーザーに割り当てます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllXRay", "Effect": "Allow", "Action": "xray:*", "Resource": "*" }, { "Sid": "DenyCreateGroupWithStage", "Effect": "Deny", "Action": [ "xray:CreateGroup" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/stage": [ "preprod", "prod" ] } } }, { "Sid": "DenyUpdateGroupWithStage", "Effect": "Deny", "Action": [ "xray:UpdateGroup", "xray:DeleteGroup" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/stage": [ "preprod", "prod" ] } } } ] }

サンプリングルールの作成を拒否するには、aws:RequestTag を使って作成リクエストの一部として渡すことができないタグを示します。サンプリングルールの更新または削除を拒否するには、aws:ResourceTag を使って、それらのリソースのタグに基づくアクションを拒否します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllXRay", "Effect": "Allow", "Action": "xray:*", "Resource": "*" }, { "Sid": "DenyCreateSamplingRuleWithStage", "Effect": "Deny", "Action": "xray:CreateSamplingRule", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/stage": [ "preprod", "prod" ] } } }, { "Sid": "DenyUpdateSamplingRuleWithStage", "Effect": "Deny", "Action": [ "xray:UpdateSamplingRule", "xray:DeleteSamplingRule" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/stage": [ "preprod", "prod" ] } } } ] }

これらのポリシーをアカウントのユーザーにアタッチする (または、単一のポリシーに結合してからポリシーをアタッチする) ことができます。ユーザーがグループまたはサンプリングルールに変更を加えるには、グループまたはサンプリングルールにタグ stage=prepod または stage=prod を付けないでください。条件キー名では大文字と小文字が区別されないため、条件タグキー StageStagestage の両方に一致します。条件ブロックの詳細については、IAM ユーザーガイドの「IAM JSON ポリシーの要素: 条件」を参照してください。

次のポリシーがアタッチされているロールを持つユーザーは、タグ role:admin を追加してリソースにアクセスしたり、role:admin に関連付けられたリソースからタグを削除したりすることはできません。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllXRay", "Effect": "Allow", "Action": "xray:*", "Resource": "*" }, { "Sid": "DenyRequestTagAdmin", "Effect": "Deny", "Action": "xray:TagResource", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/role": "admin" } } }, { "Sid": "DenyResourceTagAdmin", "Effect": "Deny", "Action": "xray:UntagResource", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/role": "admin" } } } ] }

X-Ray の IAM マネージドポリシー

アクセス許可を簡単に付与するために、IAM は各サービスのマネージドポリシーに対応しています。サービスは、新しい APIs をリリースするときに、これらの管理ポリシーを新しいアクセス許可で更新できます。 は、読み取り専用、書き込み専用、管理者のユースケース用の管理ポリシー AWS X-Ray を提供します。

  • AWSXrayReadOnlyAccess – X-Ray コンソール AWS CLI、または AWS SDK を使用して、X-Ray API からトレースデータ、トレースマップ、インサイト、X-Ray 設定を取得するための読み取りアクセス許可。オブザーバビリティアクセスマネージャー (OAM) oam:ListSinksと、CloudWatch クロスアカウントオブザーバビリティ の一部としてソースアカウントから共有されたトレースをコンソールで表示できるようにするアクセスoam:ListAttachedSinks許可が含まれます。BatchGetTraceSummaryById および GetDistinctTraceGraphs API アクションは、コードによる呼び出しを意図したものではなく、 AWS CLI および AWS SDKsには含まれていません。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:GetSamplingRules", "xray:GetSamplingTargets", "xray:GetSamplingStatisticSummaries", "xray:BatchGetTraces", "xray:BatchGetTraceSummaryById", "xray:GetDistinctTraceGraphs", "xray:GetServiceGraph", "xray:GetTraceGraph", "xray:GetTraceSummaries", "xray:GetGroups", "xray:GetGroup", "xray:ListTagsForResource", "xray:ListResourcePolicies", "xray:GetTimeSeriesServiceStatistics", "xray:GetInsightSummaries", "xray:GetInsight", "xray:GetInsightEvents", "xray:GetInsightImpactGraph", "oam:ListSinks" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "oam:ListAttachedLinks" ], "Resource": "arn:aws:oam:*:*:sink/*" } }
  • AWSXRayDaemonWriteAccess - X-Ray デーモン AWS CLI、または AWS SDK を使用してセグメントドキュメントとテレメトリを X-Ray API にアップロードするための書き込みアクセス許可。サンプリングルールを取得してサンプリング結果を報告するための読み取りアクセス許可が含まれています。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", "xray:GetSamplingRules", "xray:GetSamplingTargets", "xray:GetSamplingStatisticSummaries" ], "Resource": [ "*" ] } ] }
  • AWSXrayCrossAccountSharingConfiguration – アカウント間で X-Ray リソースを共有するための Observability Access Manager のリンクを作成、管理、表示するためのアクセス許可を付与します。ソースアカウントとモニタリングCloudWatch アカウント間のクロスアカウントオブザーバビリティを有効にするために使用されます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:Link", "oam:ListLinks" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "oam:DeleteLink", "oam:GetLink", "oam:TagResource" ], "Resource": "arn:aws:oam:*:*:link/*" }, { "Effect": "Allow", "Action": [ "oam:CreateLink", "oam:UpdateLink" ], "Resource": [ "arn:aws:oam:*:*:link/*", "arn:aws:oam:*:*:sink/*" ] } ] }
  • AWSXrayFullAccess – 読み取りアクセス許可、書き込みアクセス許可、および暗号化キー設定とサンプリングルールを指定するためのアクセス許可を含む、すべての X-Ray API を使用するためのアクセス許可。オブザーバビリティアクセスマネージャー (OAM) oam:ListSinksと、CloudWatch クロスアカウントオブザーバビリティ の一部としてソースアカウントから共有されたトレースをコンソールで表示できるようにするアクセスoam:ListAttachedSinks許可が含まれています。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:*", "oam:ListSinks" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "oam:ListAttachedLinks" ], "Resource": "arn:aws:oam:*:*:sink/*" } ] }
マネージドポリシーを IAM ユーザー、グループ、ロールに追加するには
  1. [IAM コンソール] を開きます。

  2. インスタンスプロファイル、IAM ユーザー、または IAM グループに関連付けられたロールを開きます。

  3. [アクセス許可] で、管理ポリシーをアタッチします。

AWS マネージドポリシーに対する X-Ray の更新

X-Ray の AWS マネージドポリシーの更新に関する詳細を、このサービスがこれらの変更の追跡を開始した以降の分について表示します。このページの変更に関する自動通知については、X-Ray ドキュメントの履歴ページの RSS フィードをサブスクライブしてください。

変更 説明 日付

X-Ray 用の IAM マネージドポリシー – 新しいポリシー AWSXrayCrossAccountSharingConfiguration を追加、AWSXrayReadOnlyAccessAWSXrayFullAccess を更新

X-Ray は、これらのポリシーoam:ListAttachedSinksにオブザーバビリティアクセスマネージャー (OAM) アクセス許可 oam:ListSinksと を追加し、CloudWatch クロスアカウントオブザーバビリティ の一部としてソースアカウントから共有されたトレースをコンソールで表示できるようにしました。

2022 年 11 月 27 日

X-Ray の IAM マネージドポリシーAWSXrayReadOnlyAccess ポリシーの更新

X-Ray に API アクション ListResourcePolicies が追加されました。

2022 年 11 月 15 日

X-Ray コンソールの使用AWSXrayReadOnlyAccess ポリシーの更新

X-Ray に BatchGetTraceSummaryByIdGetDistinctTraceGraphs の 2 つの新しい API アクションが追加されました。

これらのアクションは、コードで呼び出すものではありません。したがって、これらの API アクションは AWS CLI および AWS SDKsには含まれていません。

2022 年 11 月 11 日

IAM ポリシーでリソースを指定する

IAM ポリシーを使用してリソースへのアクセスを制御できます。リソースレベルのアクセス許可をサポートするアクションの場合は、Amazon リソースネーム (ARN) を使用して、ポリシーが適用されるリソースを識別します。

X-Ray ポリシーではすべての IAM アクションを使用して、そのアクションを使用するアクセス許可をユーザーに付与または拒否できます。ただし、すべての X-Ray アクションが、アクションを実行することができるリソースを指定できる、リソースレベルのアクセス許可をサポートしているわけではありません。

リソースレベルの権限をサポートしていないアクションの場合、「*」をリソースとして使用する必要があります。

次の X-Ray アクションは、リソースレベルのアクセス許可をサポートします。

  • CreateGroup

  • GetGroup

  • UpdateGroup

  • DeleteGroup

  • CreateSamplingRule

  • UpdateSamplingRule

  • DeleteSamplingRule

以下は、CreateGroup アクションのアイデンティティベースのアクセス許可ポリシーの例です。この例では、グループ名 local-users に関連する ARN を使用する一意の ID をワイルドカードとして使用します。グループが作成されたときに一意の ID が生成されるため、事前にポリシーで予測することはできません。GetGroupUpdateGroup、または DeleteGroup を使用する場合、ワイルドカードとして、または ID を含む正確な ARN として定義できます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:CreateGroup" ], "Resource": [ "arn:aws:xray:eu-west-1:123456789012:group/local-users/*" ] } ] }

以下は、CreateSamplingRule アクションのアイデンティティベースのアクセス許可ポリシーの例です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:CreateSamplingRule" ], "Resource": [ "arn:aws:xray:eu-west-1:123456789012:sampling-rule/base-scorekeep" ] } ] }
注記

サンプリングルールの ARN は、名前によって定義されます。グループ ARN とは異なり、サンプリングルールには一意に生成された ID がありません。