AWS X-Ray ID ベースのポリシーの例 - AWS X-Ray

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

AWS X-Ray ID ベースのポリシーの例

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

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

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

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

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

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

  • IAM ポリシーの条件を使用してアクセスをさらに制限する – ポリシーに条件を追加して、アクションとリソースへのアクセスを制限できます。例えば、ポリシー条件を記述して、すべてのリクエストを を使用して送信する必要があることを指定できますSSL。また、 などの特定の を通じてサービスアクションが使用されている場合は AWS のサービス、 条件を使用してサービスアクションへのアクセスを許可することもできます AWS CloudFormation。詳細については、IAM「 ユーザーガイド」のIAMJSON「ポリシー要素: 条件」を参照してください。

  • IAM Access Analyzer を使用してIAMポリシーを検証し、安全で機能的なアクセス許可を確保する – IAM Access Analyzer は、ポリシーがポリシー言語 (JSON) とIAMベストプラクティスに準拠するように、新規および既存のIAMポリシーを検証します。IAM Access Analyzer には、安全で機能的なポリシーの作成に役立つ 100 を超えるポリシーチェックと実用的なレコメンデーションが用意されています。詳細については、IAM「 ユーザーガイド」のIAM「Access Analyzer でポリシーを検証する」を参照してください。

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

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

X-Ray コンソールの使用

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

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

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

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

この例では、IAMユーザーがユーザー ID にアタッチされているインラインポリシーとマネージドポリシーを表示できるようにするポリシーを作成する方法を示します。このポリシーには、コンソールで、または 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「 ユーザーガイド」のIAMJSON「ポリシー要素: 条件」を参照してください。

次のポリシーがアタッチされているロールを持つユーザーは、タグ 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" } } } ] }

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

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

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

    { "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フィードにサブスクライブします。

変更 説明 日付

IAM X-Ray の 管理ポリシー – 新しい を追加しAWSXrayCrossAccountSharingConfigurationAWSXrayReadOnlyAccess ポリシーと AWSXrayFullAccessポリシーを更新しました。

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

2022 年 11 月 27 日

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

X-Ray がAPIアクション を追加しましたListResourcePolicies

2022 年 11 月 15 日

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

X-Ray は 2 つの新しいAPIアクション BatchGetTraceSummaryByIdと を追加しましたGetDistinctTraceGraphs

これらのアクションは、コードで呼び出すものではありません。したがって、これらの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 アクションのアイデンティティベースのアクセス許可ポリシーの例です。この例では、一意の ID local-usersを持つグループ名ARNに関連する をワイルドカードとして使用しています。グループが作成されたときに一意の ID が生成されるため、事前にポリシーで予測することはできません。GetGroup、、UpdateGroupまたは を使用する場合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の は、その名前で定義されます。グループ とは異なりARNs、サンプリングルールには一意に生成された ID はありません。