Amazon Route 53 でのアイデンティティベースのポリシー (IAM ポリシー) の使用 - Amazon Route 53

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

Amazon Route 53 でのアイデンティティベースのポリシー (IAM ポリシー) の使用

このトピックでは、アイデンティティベースのポリシーの例として、アカウント管理者が IAM ID (ユーザー、グループ、ロール) にアクセス許可ポリシーをアタッチし、これによりアクセス権限を付与して Amazon Route 53 リソースに対するオペレーションの実行を許可する方法を示します。

重要

初めに、Route 53 リソースへのアクセスを管理するための基本概念とオプションについて説明する概要トピックをお読みになることをお勧めします。詳細については、Amazon Route 53 リソースに対するアクセス許可の管理の概要 を参照してください。

以下の例に示しているのは、アクセス許可ポリシーです。Sid (ステートメント ID) はオプションです。

{ "Version": "2012-10-17", "Statement": [ { "Sid" : "AllowPublicHostedZonePermissions", "Effect": "Allow", "Action": [ "route53:CreateHostedZone", "route53:UpdateHostedZoneComment", "route53:GetHostedZone", "route53:ListHostedZones", "route53:DeleteHostedZone", "route53:ChangeResourceRecordSets", "route53:ListResourceRecordSets", "route53:GetHostedZoneCount", "route53:ListHostedZonesByName" ], "Resource": "*" }, { "Sid" : "AllowHealthCheckPermissions", "Effect": "Allow", "Action": [ "route53:CreateHealthCheck", "route53:UpdateHealthCheck", "route53:GetHealthCheck", "route53:ListHealthChecks", "route53:DeleteHealthCheck", "route53:GetCheckerIpRanges", "route53:GetHealthCheckCount", "route53:GetHealthCheckStatus", "route53:GetHealthCheckLastFailureReason" ], "Resource": "*" } ] }

ポリシーには、2 つのステートメントが含まれています。

  • 最初のステートメントでは、パブリックホストゾーンとそのレコードの作成と管理に必要なアクションに対する権限が付与されます。Amazon リソースネーム (ARN) にワイルドカード文字 (*) が使用されていると、現在の AWS アカウントにより所有されているすべてのホストゾーンへのアクセスが許可されます。

  • 2 番目のステートメントでは、ヘルスチェックの作成と管理に必要なすべてのアクションに対する権限が付与されます。

各アクションを使用するアクセス権限を付与または拒否するために指定するアクションおよび ARN のリストについては、「Amazon Route 53 API権限: アクション、リソース、条件の参照」を参照してください。

Amazon Route 53 コンソールの使用に必要なアクセス許可

Amazon Route 53 コンソールへのフルアクセスを許可するには、次のアクセス許可ポリシーでアクセス許可を付与します。

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "route53:*", "route53domains:*", "cloudfront:ListDistributions", "elasticloadbalancing:DescribeLoadBalancers", "elasticbeanstalk:DescribeEnvironments", "s3:ListBucket", "s3:GetBucketLocation", "s3:GetBucketWebsite", "ec2:DescribeRegions", "ec2:DescribeVpcs", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DescribeAvailabilityZones", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:ModifyNetworkInterfaceAttribute", "sns:ListTopics", "sns:ListSubscriptionsByTopic", "sns:CreateTopic", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms", "cloudwatch:GetMetricStatistics" ], "Resource":"*" }, { "Effect": "Allow", "Action": "apigateway:GET", "Resource": "arn:aws:apigateway:*::/domainnames" } ] }

アクセス許可が必要な理由は次のとおりです。

route53:*

以下のアクションを除くすべての Route 53 アクションを実行できます。

  • [Alias Target (エイリアス先)] の値が CloudFront ディストリビューション、Elastic Load Balancing ロードバランサー、Elastic Beanstalk 環境、または Amazon S3 バケットであるエイリアスレコードを作成および更新します。(これらの権限があると、[Alias Target] (エイリアス先) の値が同じホストゾーン内の別のレコードであるエイリアスレコードを作成できます)

  • プライベートホストゾーンを操作する。

  • ドメインを操作する。

  • CloudWatch アラームを作成、削除、および表示する。

  • Route 53 コンソールで CloudWatch メトリクスをレンダリングする。

route53domains:*

ドメインの操作を許可します。

重要

route53 のアクションを個別にリストする場合は、route53:CreateHostedZone を含めてドメインを操作する必要があります。ドメインを登録すると同時にホストゾーンも作成されるため、ドメインを登録する権限を含むポリシーにはホストゾーンを作成する権限も必要です

(ドメイン登録について、Route 53 は個別のリソースへのアクセス許可の付与または拒否をサポートしていません)。

route53resolver:*

Route 53 Resolver の操作を許可します。

cloudfront:ListDistributions

[Alias Target (エイリアス先)] の値が CloudFront ディストリビューションであるエイリアスレコードを作成および更新できます。

Route 53 コンソールを使用していない場合、これらのアクセス許可は必要ありません。ディストリビューションのリストを取得してコンソールに表示する場合のみ、Route 53 はこれを使用します。

elasticloadbalancing:DescribeLoadBalancers

[Alias Target(エイリアス先)] の値が ELB ロードバランサーとなるエイリアスレコードを作成および更新できます。

Route 53 コンソールを使用していない場合、これらのアクセス許可は必要ありません。ロードバランサーのリストを取得してコンソールに表示する場合のみ、Route 53 はこれを使用します。

elasticbeanstalk:DescribeEnvironments

[Alias Target (エイリアス先)] の値が Elastic Beanstalk 環境となるエイリアスレコードを作成および更新できます。

Route 53 コンソールを使用していない場合、これらのアクセス許可は必要ありません。環境のリストを取得してコンソールに表示する場合のみ、Route 53 はこれを使用します。

s3:ListBuckets3:GetBucketLocation、および s3:GetBucketWebsite

[Alias Target (エイリアス先)] の値が Amazon S3 バケットとなるエイリアスレコードを作成および更新できます。(Amazon S3 バケットのエイリアスは、バケットがウェブサイトエンドポイントとして設定されている場合のみ作成できます。s3:GetBucketWebsite は必要な設定情報を取得します)。

Route 53 コンソールを使用していない場合、これらのアクセス許可は必要ありません。バケットのリストを取得してコンソールに表示する場合のみ、Route 53 はこれを使用します。

ec2:DescribeVpcs および ec2:DescribeRegions

プライベートホストゾーンの操作を許可します。

すべてのリストされている ec2 アクセス許可

Route 53 Resolver の操作を許可します。

sns:ListTopics, sns:ListSubscriptionsByTopic, sns:CreateTopic, cloudwatch:DescribeAlarms, cloudwatch:PutMetricAlarm, cloudwatch:DeleteAlarms

CloudWatch アラームを作成、削除、および表示できます。

cloudwatch:GetMetricStatistics

CloudWatch メトリクスヘルスチェックを作成することができます。

Route 53 コンソールを使用していない場合、これらのアクセス許可は必要ありません。統計のリストを取得してコンソールに表示する場合のみ、Route 53 はこれを使用します。

apigateway:GET

[Alias Target (エイリアス先)] の値が Amazon API Gateway API となるエイリアスレコードを作成および更新できます。

Route 53 コンソールを使用していない場合、このアクセス許可は必要ありません。API のリストを取得してコンソールに表示する場合のみ、Route 53 はこのアクセス許可を使用します。

Route 53 の AWS マネージド (事前定義) ポリシー

AWS は、AWS によって作成および管理されるスタンドアロンの IAM ポリシーが提供する多くの一般的ユースケースに対応します。これらの AWS 管理ポリシーは、一般的ユースケースに必要なアクセス権限を付与することで、どの権限が必要なのかをユーザーが調査する必要をなくすことができます。詳細については、以下を参照してください。 AWS管理ポリシーIAM ユーザーガイド. Route 53 では、次の管理ポリシーが IAM に対して提供されます。

  • AmazonRoute53FullAccess – ドメイン登録やヘルスチェックを含む Route 53 リソースへのフルアクセスを許可しますが、Route 53 Resolver は除きます

  • AmazonRoute53ReadOnlyAccess – ドメイン登録やヘルスチェックを含む Route 53 リソースへの読み取り専用アクセスを許可しますが、Route 53 Resolver は除きます

  • AmazonRoute53DomainsFullAccess – Route 53 ドメイン登録リソースへのフルアクセスを許可します。

  • AmazonRoute53DomainsReadOnlyAccess – Route 53 ドメイン登録リソースへの読み取り専用アクセスを許可します。

  • AmazonRoute53ResolverFullAccess – リゾルバー リソースへのフルアクセスを許可します

  • AmazonRoute53ResolverReadOnlyAccess – リゾルバー リソースへの読み取り専用アクセスを許可します。

注記

IAM コンソールにサインインし、特定のポリシーを検索することで、これらのアクセス権限ポリシーを確認することができます。独自のカスタム IAM ポリシーを作成して、Route 53 API オペレーションにアクセス権限を付与することもできます。これらのカスタムポリシーは、それらのアクセス権限が必要な IAM ユーザーまたはグループにアタッチできます。

カスタマー管理ポリシーの例

独自のカスタム IAM ポリシーを作成して、Route 53 アクションにアクセス許可を付与することもできます。これらのカスタムポリシーは、指定されたアクセス権限が必要な IAM ユーザーまたはグループにアタッチできます。これらのポリシーは、Route 53 API、AWS SDK、または AWS CLI を使用しているときに機能します。次の例では、いくつかの一般的ユースケースのアクセス許可を示します。Route 53 へのフルアクセスをユーザーに許可するポリシーについては、「Amazon Route 53 コンソールの使用に必要なアクセス許可」を参照してください。

例 1: すべてのホストされたゾーンへの読み取りアクセスを許可

以下の権限ポリシーは、すべてのホストゾーンをリストし、ホストゾーン内のすべてのレコードを表示するユーザー権限を付与します。

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "route53:GetHostedZone", "route53:ListResourceRecordSets" ], "Resource":"*" }, { "Effect":"Allow", "Action":["route53:ListHostedZones"], "Resource":"*" } ] }

例 2: ホスト ゾーンの作成と削除を許可

次の権限ポリシーは、ホストゾーンの作成と削除、および変更の進行状況の追跡をユーザーに許可します。

{ "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":["route53:CreateHostedZone"], "Resource":"*" }, { "Effect":"Allow", "Action":["route53:DeleteHostedZone"], "Resource":"*" }, { "Effect":"Allow", "Action":["route53:GetChange"], "Resource":"*" } ] }

例3: すべてのドメインへのフル・アクセスを許可(パブリック・ホスト・ゾーンのみ)

次の権限ポリシーは、ドメインの登録権限やホストゾーンの作成権限など、ドメイン登録に関するすべてのアクションの実行をユーザーに許可します。

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

ドメインを登録すると同時にホストゾーンも作成されるため、ドメインを登録する権限を含むポリシーにはホストゾーンを作成する権限も必要です (ドメイン登録について、Route 53 は個別のリソースへのアクセス許可の付与をサポートしていません)。

プライベートホストゾーンを操作するために必要なアクセス許可については、「Amazon Route 53 コンソールの使用に必要なアクセス許可」を参照してください。

例4: インバウンドとアウトバウンドの作成を許可する Route 53 Resolver エンドポイント

次のアクセス許可ポリシーは、ユーザーが Route 53 コンソールを使用して リゾルバー のインバウンドおよびアウトバウンドエンドポイントを作成することを許可します。

これらのアクセス許可の一部は、コンソールでエンドポイントを作成するためにのみ必要です。インバウンドおよびアウトバウンドエンドポイントのみをプログラムで作成するアクセス許可を付与する場合は、これらのアクセス許可を省略できます。

  • route53resolver:ListResolverEndpoints では、インバウンドまたはアウトバウンドエンドポイントのリストが表示されるため、ユーザーはエンドポイントが作成されたことを確認できます。

  • DescribeAvailabilityZones は、アベイラビリティーゾーンのリストを表示するために必要です。

  • DescribeVpcs は VPC のリストを表示するために必要です。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "route53resolver:CreateResolverEndpoint", "route53resolver:ListResolverEndpoints", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DescribeAvailabilityZones", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs" ], "Resource": "*" } ] }