AWS Identity and Access Management
ユーザーガイド

職務機能の AWS 管理ポリシー

職務機能の AWS 管理ポリシーは、IT 業界の一般的な職務機能と密接に連携するように設計されています。これらのポリシーを使用すると、特定の職務機能を持つ人によるタスクの実行に必要な権限を簡単に付与することができます。これらのポリシーは、多くのサービスの権限を一つのポリシーに統合しているため、権限が様々なポリシーに分散している場合に比べてより作業しやすくなっています。

職務機能のこれらのポリシーは、任意のグループ、ユーザー、またはロールに関連付けることができます。

ロールを使用してサービスを連動する

他の AWS サービスにある機能の活用を促すために IAM サービスのロールを使用するポリシーもあります。これらのポリシーは、iam:passrole にアクセス許可を付与します。これによりポリシーが適用されるユーザーは AWS のサービスにロールを渡すことができます。このロールは、お客様に代わってアクションを実行するための IAM アクセス許可を AWS のサービスに委任します。

必要に応じてロールを作成する必要があります。たとえば、ネットワーク管理者のポリシーでは、ポリシーを利用するユーザーは「flow-logs-vpc」というロールを Amazon CloudWatch サービスに渡すことができます。CloudWatch では、このロールを使用してユーザーが作成した VPC の IP トラフィックをログに記録し、キャプチャします。

セキュリティのベスト プラクティスに従うは、渡すことができる有効なロール名を制限するフィルタを、職務機能のポリシーに含めます。これは不要な権限の付与を避けるのに役立ちます。ご自分のユーザーにオプション サービス ロールが必要な場合は、ポリシーで指定されている命名規則に従うロールを作成する必要があります。その後、ロールに権限を付与します。この処理が終わると、ユーザーは、ロールを使用するサービスを設定して、そのロールが提供する権限を付与することができます。

最新情報の把握

これらのポリシーはすべて AWS によって維持され、AWS によって追加された新しいサービスや新機能のサポートを含めるよう最新の状態に保たれます。これらのポリシーは、お客様が変更することはできません。ポリシーのコピーを作成してそのコピーを変更できますが、AWS での新しいサービスや API オペレーションの導入時に、そのコピーは自動的に更新されません。

職務機能

次のセクションでは、各ポリシーの名前は AWS マネジメントコンソール のポリシー詳細ページへのリンクです。ここでは、ポリシードキュメントを表示し、そのポリシーによって付与されるアクセス許可を確認できます。

管理者

AWS 管理ポリシー名: AdministratorAccess

ユースケース: このユーザーはフルアクセスが許可され、AWS のあらゆるサービスおよびリソースにアクセス許可を委任できます。

ポリシーの詳細: このポリシーでは、アカウントの AWS のすべてのサービスおよびリソースに対するすべてのアクションを許可します。

Billing (料金)

AWS 管理ポリシー名: Billing

ユースケース: このユーザーは請求情報の確認、支払いの設定、支払いの承認を行う必要があります。ユーザーは、AWS のサービス全体の累計されたコストをモニタリングできます。

ポリシーの詳細: このポリシーでは、請求、コスト、支払い方法、予算、レポートを管理するためのフルアクセス許可を付与します。

注記

このポリシーが適用された IAM ユーザーが AWS Billing and Cost Management コンソールにアクセスできるようにするには、まず、アカウントに対して Billing and Cost Management コンソールへのアクセスを有効にする必要があります。そのためには、請求コンソールへのアクセスの委任に関するチュートリアルのステップ 1 の手順に従ってください。

データベース管理者

AWS 管理ポリシー名: DatabaseAdministrator

ユースケース: このユーザーは AWS クラウドのデータベースのセットアップ、設定、メンテナンスを行います。

ポリシーの詳細: このポリシーでは、データベースの作成、設定、メンテナンスを行うためのアクセス許可を付与します。Amazon DynamoDB、Amazon ElastiCache、Amazon Relational Database Service (RDS)、Amazon Redshift、およびその他のサポートサービス など、AWS のすべてのデータベースへのアクセスが対象になります。

このポリシーでは、AWS サービスへロールを渡す機能をサポートしています。このポリシーは、次の表で指定されたロールに対してのみ iam:GetRoleiam:PassRole を付与します。詳細については、このトピックで後述する「ロールの作成とポリシーのアタッチ (コンソール)」を参照してください。

データベース管理者の職務権限のオプション IAM サービスロール

ユースケース ロール名 (* はワイルドカードです) 選択するサービスロールの種類 この AWS 管理ポリシーを選択します。
ユーザーに RDS データベースの監視を許可します rds-monitoring-role 拡張モニタリングの Amazon RDS ロール AmazonRDSEnhancedMonitoringRole
AWS Lambda に、データベースの監視と外部データベースへのアクセスを許可します rdbms-lambda-access Amazon EC2 AWSLambdaFullAccess
Lambda に、DynamoDB での Amazon S3 と Amazon Redshift クラスターへのファイルのアップロードを許可します lambda_exec_role AWS Lambda AWS ビッグデータブログで定義されているように新しい管理ポリシーを作成します
Lambda 関数に、DynamoDB テーブルのトリガーとしての動作を許可します lambda-dynamodb-* AWS Lambda AWSLambdaDynamoDBExecutionRole
Lambda 関数に、VPC 内の Amazon RDS へのアクセスを許可します lambda-vpc-execution-role AWS Lambda Developer Guide に定義されているように、信頼ポリシーを適用したロールを作成します AWSLambdaVPCAccessExecutionRole
AWS Data Pipeline に、AWS へのアクセスを許可します DataPipelineDefaultRole AWS Data Pipeline 開発者ガイド に定義されているように、信頼ポリシーを適用したロールを作成します AWSDataPipelineRole
Amazon EC2 インスタンスで実行されるアプリケーションに、AWS リソースへのアクセスを許可します DataPipelineDefaultResourceRole AWS Data Pipeline 開発者ガイド に定義されているように、信頼ポリシーを適用したロールを作成します AmazonEC2RoleforDataPipelineRole

データサイエンティスト

AWS 管理ポリシー名: DataScientist

ユースケース: このユーザーは Hadoop ジョブおよびクエリを実行します。このユーザーは、データ分析やビジネスインテリジェンス用の情報にアクセスして分析も行います。

ポリシーの詳細: このポリシーでは、Amazon EMR クラスターでクエリを作成、管理、実行し、Amazon QuickSight などのツールでデータを分析するアクセス許可を付与します。このポリシーには、AWS Data Pipeline、Amazon EC2、Amazon Elasticsearch Service、Amazon Elastic File System、Amazon EMR、Amazon Kinesis、Amazon Kinesis Data Analytics、Amazon Machine Learning、Amazon RDS、Amazon Redshift に対するアクセス許可が含まれます。

この職務機能は、ロールを AWS サービスへ渡す機能をサポートしています。このポリシーは、次の表で指定されたロールに対してのみ iam:GetRoleiam:PassRole を付与します。詳細については、このトピックで後述する「ロールの作成とポリシーのアタッチ (コンソール)」を参照してください。

データサイエンティストの職務機能に対するオプション IAM サービスロール

ユースケース ロール名 (* はワイルドカードです) 選択するサービスロールの種類 選択する AWS 管理ポリシー
Amazon EC2 インスタンスの、クラスターに適したサービスおよびリソースへのアクセスを許可します。 EMR-EC2_DefaultRole EC2 の Amazon EMR AmazonElasticMapReduceforEC2Role
Amazon EMR に、クラスターの Amazon EC2 サービスおよびリソースへのアクセスを許可します EMR_DefaultRole Amazon EMR AmazonElasticMapReduceRole
Kinesis Kinesis Data Analytics に、ストリーミングデータソースへのアクセスを許可します kinesis-* AWS ビッグデータブログに定義されているように、信頼ポリシーを適用したロールを作成します。 ユースケースに応じて選択できる 4 つのオプションの概要については、「AWS ビッグデータブログ」を参照してください。
AWS Data Pipeline に、AWS へのアクセスを許可します DataPipelineDefaultRole AWS Data Pipeline 開発者ガイド に定義されているように、信頼ポリシーを適用したロールを作成します AWSDataPipelineRole
Amazon EC2 インスタンスで実行されるアプリケーションに、AWS リソースへのアクセスを許可します DataPipelineDefaultResourceRole AWS Data Pipeline 開発者ガイド に定義されているように、信頼ポリシーを適用したロールを作成します AmazonEC2RoleforDataPipelineRole

開発者パワーユーザー

AWS 管理ポリシー名: PowerUserAccess

ユースケース: このユーザーはアプリケーション開発タスクを実行し、AWS 対応アプリケーションの開発をサポートするリソースとサービスを作成および設定できます。

ポリシーの詳細: このポリシーでは、アカウントの AWS サービスおよびリソース (AWS Identity and Access Management と AWS Organizations は除く) に対するすべてのアクションを許可します。サービスにリンクされたロールを作成する IAM アクセス許可を付与します。これは、別のサービスのリソース (Amazon S3 バケットなど) にアクセスしなければならないサービスに必要です。ユーザーの組織に関する情報 (マスターアカウントの E メールや組織の制限など) を表示するアクセス許可を 組織 に付与します。

ネットワーク管理者

AWS 管理ポリシー名: NetworkAdministrator

ユースケース: このユーザーは AWS; ネットワークリソースの設定とメンテナンスを担当します。

ポリシーの詳細: このポリシーでは、Auto Scaling、Amazon EC2、AWS Direct Connect、Route 53、Amazon CloudFront、Elastic Load Balancing、AWS Elastic Beanstalk、Amazon SNS、CloudWatch、CloudWatch Logs、Amazon S3、IAM、Amazon Virtual Private Cloud のネットワークリソースの作成とメンテナンスを行うアクセス許可を付与します。

この職務機能には、ロールを AWS サービスへ渡す機能が必要です。このポリシーは、次の表で指定されたロールに対してのみ iam:GetRoleiam:PassRole を付与します。詳細については、このトピックで後述する「ロールの作成とポリシーのアタッチ (コンソール)」を参照してください。

ネットワーク管理者の職務権限のオプション IAM サービスロール

ユースケース ロール名 (* はワイルドカードです) 選択するサービスロールの種類 選択する AWS 管理ポリシー
Amazon VPC に、ユーザーに代わって CloudWatch Logs でログを作成および管理し、VPC を出入りする IP トラフィックをモニタリングするのを許可します flow-logs-* Amazon VPC ユーザーガイド に定義されているように、信頼ポリシーを適用したロールを作成します このユースケースには、既存の AWS 管理ポリシーがありませんが、ドキュメントには必要な権限が記載されています。「Amazon VPC ユーザーガイド」を参照してください。

セキュリティ監査人

AWS 管理ポリシー名: SecurityAudit

ユースケース: このユーザーはセキュリティ要件の遵守についてアカウントをモニタリングします。このユーザーは、潜在的なセキュリティ侵害や悪意のある行為を調査するためのログおよびイベントにアクセスできます。

ポリシーの詳細: このポリシーでは、AWS の多数のサービスの設定データを表示し、それらのログを確認するアクセス許可を付与します。

サポートユーザー

AWS 管理ポリシー名: SupportUser

ユースケース: このユーザーは AWS サポートに連絡し、サポートケースを作成して、既存のケースの状態を確認します。

ポリシーの詳細: このポリシーでは、AWS サポートケースを作成および更新するアクセス許可を付与します。

システム管理者

AWS 管理ポリシー名: SystemAdministrator

ユースケース: このユーザーは開発運用リソースのセットアップおよびメンテナンスを行います。

ポリシーの詳細: このポリシーでは、AWS のサービスのさまざまなリソース (AWS CloudTrail、Amazon CloudWatch, AWS CodeCommit、AWS CodeDeploy、AWS Config、AWS Directory Service、Amazon EC2、AWS Identity and Access Management、AWS Key Management Service、AWS Lambda、Amazon RDS、Route 53、Amazon S3、Amazon SES、Amazon SQS、AWS Trusted Advisor、Amazon VPC など) を作成およびメンテナンスするアクセス許可を付与します。

この職務機能には、ロールを AWS サービスへ渡す機能が必要です。このポリシーは、次の表で指定されたロールに対してのみ iam:GetRoleiam:PassRole を付与します。詳細については、このトピックで後述する「ロールの作成とポリシーのアタッチ (コンソール)」を参照してください。

システム管理者の職務権限のオプション IAM サービスロール

ユースケース ロール名 (* はワイルドカードです) 選択するサービスロールの種類 選択する AWS 管理ポリシー
Amazon ECS クラスターの EC2 インスタンスで実行されるアプリケーションに Amazon ECS へのアクセスを許可します ecr-sysadmin-* EC2 コンテナサービスの Amazon EC2 のロール AmazonEC2ContainerServiceforEC2Role
ユーザーがデータベースを監視することを許可します rds-monitoring-role 拡張モニタリングの Amazon RDS ロール AmazonRDSEnhancedMonitoringRole
EC2 インスタンスで実行されるアプリケーションの、AWS リソースへのアクセスを許可します。 ec2-sysadmin-* Amazon EC2 Linux インスタンス用 Amazon EC2 ユーザーガイド に示されているように、S3 バケットへのアクセス許可を付与するロールのサンプルポリシーです。必要に応じてカスタマイズします。
Lambda に DynamoDB ストリームの読み取り、CloudWatch ログへの書き込みを許可する lambda-sysadmin-* AWS Lambda AWSLambdaDynamoDBExecutionRole

閲覧専用ユーザー

AWS 管理ポリシー名: ViewOnlyAccess

ユースケース: このユーザーは、すべてのサービスにわたるアカウントの AWS リソースや基本のメタデータのリストを表示できます。このユーザーは、クォータを超えるリソースコンテンツやメタデータを読み取ることや、リソース情報をリスト表示することはできません。

ポリシーの詳細: このポリシーでは、あらゆる AWS サービスのリソースに対する List*Describe*Get*View*、および Lookup* アクセス許可を付与します。

ロールの作成とポリシーのアタッチ (コンソール)

上記のいくつかのポリシーでは、ロールを利用して、AWS サービスがお客様に代わってオペレーションを実行するアクセス許可をそれらのサービスに付与しています。職務機能ポリシーは、使用しなければならない正確なロール名、または、使用可能な名前の前半を少なくとも含んでいるプレフィックスを指定します。これらのロールのいずれかを作成するには、次の手順のステップを実行します。

AWS サービスのロールを作成するには (IAM コンソール)

  1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

  2. IAM コンソールのナビゲーションペインで、[Roles]、[Create role] の順に選択します。

  3. [AWS サービス] ロールタイプを選択後、このロールを引き受けることを許可するサービスを選択します。

  4. サービスのユースケースを選択します。指定のサービスにユースケースが 1 つしかない場合はすでに選択されています。ユースケースは、サービスに必要な信頼ポリシーを含めるように定義されています。続いて、[Next: Permissions] を選択します。

  5. ロールにアタッチするアクセス権限ポリシーを 1 つ以上選択します。選択したユースケースに基づき、サービスで以下のいずれかを行う場合があります。

    • ロールで使用するアクセス権限を定義する

    • 制限されたアクセス権限からの選択を許可する

    • すべてのアクセス権限からの選択を許可する

    • この時点でポリシーを選択できないようにし、ポリシーを作成してからロールにアタッチする

    ユーザーに許可するアクセス権限を割り当てるポリシーの横にあるボックスを選択し、[Next: Review] をクリックします。

    注記

    設定したアクセス権限は、ロールを使用するすべてのエンティティで有効となります。デフォルトでは、ロールにはいずれのアクセス権限もありません。

  6. [Role name] で、ロール名のカスタマイズの度合いはサービスによって定義されます。サービスのロール名が定義されている場合、このオプションを変更することはできません。それ以外の場合、サービスでロールのプレフィックスが定義され、オプションのサフィックスを入力できる場合があります。一部のサービスでは、ロールの名前全体を指定することができます。

    可能であれば、このロールの目的を見分けやすくするロール名またはロール名のサフィックスを入力します。ロール名は AWS アカウント内で一意でなければなりません。大文字と小文字は区別されません。たとえば、PRODROLEprodrole というロール名を両方作成することはできません。多くのエンティティによりロールが参照されるため、作成後にロール名を変更することはできません。

  7. (オプション) [Role description] に、新しいロールの説明を入力します。

  8. ロール情報を確認し、[Create role] を選択します。

例 1: データベース管理者としてユーザーを設定する (コンソール)

この例では、IAM ユーザーである Alice をデータベース管理者として設定するために必要な手順を示しています。そのセクションのテーブルの最初の列情報を使用し、ユーザーが Amazon RDS モニタリングを有効にできるようにします。DatabaseAdministrator ポリシーを Alice の IAM ユーザーにアタッチして、彼女が Amazon データベースサービスを管理できるようにします。このポリシーは、Alice が rds-monitoring-role という名前のロールを Amazon RDS サービスに渡して、Alice の代わりに RDS データベースをモニタリングできるようにします。

  1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

  2. [ポリシー] を選択し、検索ボックスに「database」と入力します。

  3. [DatabaseAdministrator] ポリシーのチェックボックスを選択し、[ポリシーアクション]、[アタッチ] の順に選択します。

  4. ユーザーのリストから [Alice] を選択してから、[ポリシーのアタッチ] を選択します。これで Alice は、AWS データベースを管理できます。ただし、Alice がこれらのデータベースを監視できるようにするには、サービスロールを設定する必要があります。

  5. IAM コンソールのナビゲーションペインで、[ロール]、[ロールの作成] の順に選択します。

  6. [AWS サービス] ロールタイプを選択してから、[Amazon RDS] を選択します。

  7. [拡張モニタリングの Amazon RDS ロール] ユースケースを選択します。

  8. Amazon RDS により、ロールのアクセス許可が定義されます。[Next: Review (次へ: 確認)] を選択して続行します。

  9. ロール名は、Alice が現在持っている DatabaseAdministrator ポリシーによって指定されたものである必要があります。たとえば rds-monitoring-role です。[ロール名] にロール名を入力します。

  10. (オプション) [Role description] に、新しいロールの説明を入力します。

  11. 詳細を確認したら、[ロールの作成] を選択します。

  12. これで Alice は、Amazon RDS コンソールの [モニタリング] セクションで [RDS Enhanced Monitoring (RDS 拡張モニタリング)] を有効にできるようになりました。たとえば、DB インスタンスやリードレプリカを作成したり、DB インスタンスを修正する時に有効にします。Alice は、[拡張モニタリングを有効にする] を [Yes (はい)] に設定するときに、作成したロール名 (rds-monitoring-role) を [モニタリングロール] ボックスに入力する必要があります。

例 2: ネットワーク管理者としてユーザーを設定する (コンソール)

この例では、IAM ユーザーである Juan をネットワーク管理者として設定するために必要な手順を示しています。このセクションの表の情報を使用して、Juan が VPC との間で送受信される IP トラフィックをモニタリングできるようにします。また、Juan がその情報を CloudWatch Logs のログに取り込むことができるようにします。NetworkAdministrator ポリシーを Juan の IAM ユーザーにアタッチして、彼が AWS ネットワークリソースを設定できるようにします。このポリシーでは、フローログを作成すると、Juan が flow-logs* で始まる名前のロールを Amazon EC2 に渡せるようになります。このシナリオでは、例 1 と違って事前定義されたサービスロールの種類がないため、いくつかのステップが異っています。

  1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

  2. ナビゲーションペインで、[ポリシー] を選択し、検索ボックスに「network」と入力します。

  3. NetworkAdministrator ポリシーの横にあるチェックボックスをオンにし、[ポリシーアクション]、[アタッチ] の順に選択します。

  4. ユーザーのリストで、Juan の横にあるチェックボックスを選択してから、[ポリシーのアタッチ] を選択します。これでファンは、AWS ネットワークリソースを管理できます。ただし、VPC の IP トラフィックのモニタリングを有効にするには、サービスロールを設定する必要があります。

  5. 作成する必要のあるサービスロールに事前定義された管理ポリシーがないため、先にそれを作成する必要があります。ナビゲーションペインで、[ポリシー]、[ポリシーの作成] の順に選択します。

  6. [JSON] タブを選択し、以下の JSON ポリシードキュメントからテキストをコピーします。このテキストを [JSON] ボックスに貼り付けます。

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Effect": "Allow", "Resource": "*" } ] }
  7. 完了したら、[ポリシーの確認] を選択します。Policy Validator によって、構文エラーがある場合はレポートされます。

    注記

    いつでも [Visual editor (ビジュアルエディタ)] タブと [JSON] タブを切り替えることができます。ただし、[Visual editor (ビジュアルエディタ)] タブで [ポリシーの確認] を変更または選択した場合、IAM はポリシーを再構成してビジュアルエディタに合わせて最適化することがあります。詳細については、「ポリシーの再構成」を参照してください。

  8. [Review (確認)] ページで、ポリシー名として「vpc-flow-logs-policy-for-service-role」と入力します。ポリシーの [Summary (概要)] で、ポリシーによって割り当てられたアクセス許可を確認し、[ポリシーの作成] を選択して作業を保存します。

    新しいポリシーが管理ポリシーの一覧に表示され、アタッチの準備ができます。

  9. IAM コンソールのナビゲーションペインで、[ロール]、[ロールの作成] の順に選択します。

  10. [AWS サービス] ロールタイプを選択してから、[Amazon EC2] を選択します。

  11. [Amazon EC2] ユースケースを選択します。

  12. [アクセス許可ポリシーをアタッチする] ページで、先ほど作成したポリシー [vpc-flow-logs-policy-for-service-role] を選択してから、[Next: Review (次へ: 確認)] を選択します。

  13. ロール名はファンが現在持っている、NetworkAdministrator ポリシーによって許可されている必要があります。flow-logs- で始まる名前であれば、使用可能です。この例では、[ロール名」に「flow-logs-for-juan」と入力します。

  14. (オプション) [Role description] に、新しいロールの説明を入力します。

  15. 詳細を確認したら、[ロールの作成] を選択します。

  16. これで、このシナリオで必要な信頼ポリシーを設定することができます。[ロール] ページで、[flow-logs-for-juan] ロール (チェックボックスではなく名前) を選択します。新しいロールの詳細ページで、[信頼関係] タブを選択してから、[信頼関係の編集] を選択します。

  17. 「Service」行の ec2.amazonaws.com のエントリを置き換えて以下のように変更します。

    "Service": "vpc-flow-logs.amazonaws.com"
  18. Juan はこれで、Amazon EC2 コンソールで VPC またはサブネットのフローログを作成できます。フローログを作成するときに、flow-logs-for-juan ロールを指定します。このロールには、ログを作成し、そのログにデータを書き込む権限があります。