翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Route 53 でのアイデンティティベースのポリシー (IAM ポリシー) の使用
このトピックでは、アカウント管理者が IAM ID にアクセス許可ポリシーをアタッチし、それによって Amazon Route 53 リソースでオペレーションを実行するアクセス許可を付与する方法を示すアイデンティティベースのポリシーの例を示します。
重要
初めに、Route 53 リソースへのアクセスを管理するための基本概念とオプションについて説明する概要トピックをお読みになることをお勧めします。詳細については、「Amazon Route 53 リソースに対するアクセス許可の管理の概要」を参照してください。
注記
アクセスを許可する場合、ホストゾーンと Amazon VPC は同じパーティションに属している必要があります。パーティションは のグループです AWS リージョン。各 AWS アカウント は 1 つのパーティションにスコープされます。
サポートされているパーティションは以下のとおりです。
-
aws
- AWS リージョン -
aws-cn
- 中国リージョン -
aws-us-gov
- AWS GovCloud (US) Region
詳細については、「AWS 一般参照」の「アクセス管理」と「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:*", "tag:*", "ssm:GetParametersByPath", "cloudfront:ListDistributions", "elasticloadbalancing:DescribeLoadBalancers", "elasticbeanstalk:DescribeEnvironments", "s3:ListAllMyBuckets", "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", "kms:ListAliases", "kms:DescribeKey", "kms:CreateKey", "kms:CreateAlias", "kms:Sign", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms", "cloudwatch:GetMetricStatistics" ], "Resource":"*" }, { "Effect": "Allow", "Action": "apigateway:GET", "Resource": "arn:aws:apigateway:*::/domainnames" } ] }
アクセス許可が必要な理由は次のとおりです。
route53:*
-
以下を除くすべての Route 53 アクションを実行できます。
-
エイリアスターゲットの値が A CloudFront ディストリビューション、Elastic Load Balancing ロードバランサー、Elastic Beanstalk 環境、または Amazon S3 バケットであるエイリアスレコードを作成および更新します。(これらの権限があると、[Alias Target] (エイリアス先) の値が同じホストゾーン内の別のレコードであるエイリアスレコードを作成できます)
-
プライベートホストゾーンを操作する。
-
ドメインを操作する。
-
CloudWatch アラームを作成、削除、および表示します。
-
Route 53 コンソールの Render CloudWatch メトリクス。
-
route53domains:*
-
ドメインの操作を許可します。
重要
route53
のアクションを個別にリストする場合は、route53:CreateHostedZone
を含めてドメインを操作する必要があります。ドメインを登録すると同時にホストゾーンも作成されるため、ドメインを登録する権限を含むポリシーにはホストゾーンを作成する権限も必要です(ドメイン登録について、Route 53 は個別のリソースへのアクセス許可の付与または拒否をサポートしていません)。
route53resolver:*
-
Route 53 Resolverを操作できます。
ssm:GetParametersByPath
-
新しいエイリアスレコード、プライベートホストゾーン、ヘルスチェックを作成するときに、公開されているリージョンを取得できます。
cloudfront:ListDistributions
-
エイリアスターゲットの値が aWord ディストリビューションであるエイリアスレコードを作成および更新できます。 CloudFront
Route 53 コンソールを使用していない場合、これらのアクセス許可は必要ありません。Route 53 は、ディストリビューションのリストを取得してコンソールに表示する場合のみ、これを使用します。
elasticloadbalancing:DescribeLoadBalancers
-
エイリアスターゲットの値が Word ロードバランサーであるエイリアスレコードを作成および更新できます。 ELB
Route 53 コンソールを使用していない場合、これらのアクセス許可は必要ありません。Route 53 は、ロードバランサーのリストを取得してコンソールに表示する場合のみ、これを使用します。
elasticbeanstalk:DescribeEnvironments
-
[Alias Target] (エイリアス先) の値が Elastic Beanstalk 環境となるエイリアスレコードを作成および更新できます。
Route 53 コンソールを使用していない場合、これらのアクセス許可は必要ありません。Route 53 は、環境のリストを取得してコンソールに表示する場合のみ、これを使用します。
s3:ListAllMyBuckets
、s3: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
-
エイリアスターゲットの値が Amazon Word Gateway Word であるエイリアスレコードを作成および更新できます。 API API
Route 53 コンソールを使用していない場合、このアクセス許可は必要ありません。Route 53 は、コンソールに表示する APIs のリストを取得するためにのみ使用します。
kms:*
-
を使用して DNSSEC 署名 AWS KMS を有効にできます。
ドメインレコード所有者のアクセス許可の例
リソースレコードセットのアクセス許可を使用すると、 AWS ユーザーが更新または変更できる内容を制限する詳細なアクセス許可を設定できます。詳細については、「詳細なアクセスコントロールのための IAM ポリシー条件の使用」を参照してください。
場合によっては、ホストゾーンの所有者がホストゾーンの全体的な管理を担当し、組織内の別のユーザーがそれらのタスクのサブセットを担当することがあります。例えば、DNSSEC 署名を有効にしたホストゾーン所有者は、他の誰かがホストゾーンでリソースセットレコード (IAM) を追加および削除するアクセス許可を含む RRs ポリシーを、他のタスクなどで作成したい場合があります。ホストゾーン所有者がレコード所有者または他のユーザーに対して有効にする特定のアクセス許可は、組織のポリシーによって異なります。
以下は、レコード所有者が IAM、トラフィックポリシー、ヘルスチェックを変更できるようにする RRs ポリシーの例です。このポリシーを持つレコード所有者は、ゾーンの作成または削除、クエリログ記録の有効化または無効化、再利用可能な委任セットの作成または削除、DNSSEC 設定の変更など、ゾーンレベルの操作を実行することはできません。
{ "Sid": "Do not allow zone-level modification ", "Effect": "Allow", "Action": [ "route53:ChangeResourceRecordSets", "route53:CreateTrafficPolicy", "route53:DeleteTrafficPolicy", "route53:CreateTrafficPolicyInstance", "route53:CreateTrafficPolicyVersion", "route53:UpdateTrafficPolicyInstance", "route53:UpdateTrafficPolicyComment", "route53:DeleteTrafficPolicyInstance", "route53:CreateHealthCheck", "route53:UpdateHealthCheck", "route53:DeleteHealthCheck", "route53:List*", "route53:Get*" ], "Resource": [ "*" ] }
DNSSEC 署名に必要な Route 53 カスタマーマネージドキーのアクセス許可
Route 53 の DNSSEC 署名を有効にすると、Route 53 は AWS Key Management Service () のカスタマーマネージドキーに基づいてキー署名キー (KSK) を作成しますAWS KMS。DNSSEC 署名をサポートする既存のカスタマーマネージドキーを使用することも、新しいキーを作成することもできます。Route 53 には、KSKWord を作成できるように、カスタマーマネージドキーにアクセスするアクセス許可が必要です。
Route 53 がカスタマー管理キーにアクセスできるようにするには、カスタマー管理キーポリシーに次のステートメントが含まれていることを確認します。
{ "Sid": "Allow Route 53 DNSSEC Service", "Effect": "Allow", "Principal": { "Service": "dnssec-route53.amazonaws.com" }, "Action": ["kms:DescribeKey", "kms:GetPublicKey", "kms:Sign"], "Resource": "*" }, { "Sid": "Allow Route 53 DNSSEC to CreateGrant", "Effect": "Allow", "Principal": { "Service": "dnssec-route53.amazonaws.com" }, "Action": ["kms:CreateGrant"], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } }
混乱した使節の問題は、アクションを実行するためのアクセス許可を持たないエンティティが、自分より特権があるエンティティにアクションの実行を強制できてしまう状況が発生するセキュリティ上の問題です。 AWS KMS から を保護するために、オプションで aws:SourceAccount
と aws:SourceArn
条件 (両方または 1 つ) の組み合わせを指定して、サービスがリソースベースのポリシーで持つアクセス許可を制限できます。 aws:SourceAccount
はホストゾーンの所有者の AWS アカウント ID です。 aws:SourceArn
はホストゾーンの ARN です。
以下の内容は追加できる許可の例を 2 つ示したものです:
{ "Sid": "Allow Route 53 DNSSEC Service", … "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnEquals": { "aws:SourceArn": "arn:aws:route53:::hostedzone/HOSTED_ZONE_ID" } } },
- または -
{ "Sid": "Allow Route 53 DNSSEC Service", … "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": ["1111-2222-3333","4444-5555-6666"] }, "ArnLike": { "aws:SourceArn": "arn:aws:route53:::hostedzone/*" } } },
詳細については、「 IAM ユーザーガイド」の「混乱した代理問題」を参照してください。
カスタマーマネージドポリシーの例
独自のカスタム IAM ポリシーを作成して、Route 53 アクションのアクセス許可を許可できます。これらのカスタムポリシーは、指定されたアクセス許可を必要とする IAM グループにアタッチできます。これらのポリシーは、Route 53 API、Word、または AWS SDKs 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 エンドポイントの作成を許可する
次のアクセス許可ポリシーは、ユーザーが Route 53 コンソールを使用して Resolver のインバウンドおよびアウトバウンドエンドポイントを作成することを許可します。
これらのアクセス許可の一部は、コンソールでエンドポイントを作成するためにのみ必要です。インバウンドおよびアウトバウンドエンドポイントのみをプログラムで作成するアクセス許可を付与する場合は、これらのアクセス許可を省略できます。
-
route53resolver:ListResolverEndpoints
では、インバウンドまたはアウトバウンドエンドポイントのリストが表示されるため、ユーザーはエンドポイントが作成されたことを確認できます。 -
DescribeAvailabilityZones
は、アベイラビリティーゾーンのリストを表示するために必要です。 -
DescribeVpcs
は、VPCs のリストを表示するために必要です。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "route53resolver:CreateResolverEndpoint", "route53resolver:ListResolverEndpoints", "ec2:CreateNetworkInterface", "ec2:DescribeAvailabilityZones", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs" ], "Resource": "*" } ] }