

# ロールの作成とポリシーのアタッチ (コンソール)
<a name="access_policies_job-functions_create-policies"></a>

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

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

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

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

1. **信頼できるエンティティタイプ** で、**AWS のサービス** を選択します。

1. **[サービスまたはユースケース]** でサービスを選択し、次にユースケースを選択します。ユースケースは、サービスに必要な信頼ポリシーを含める定義になります。

1. [**次へ**] を選択します。

1. **[アクセス許可ポリシー]** では、オプションは選択したユースケースによって異なります。
   + サービスがロールのアクセス許可を定義している場合、アクセス許可ポリシーを選択することはできません。
   + 制限されたアクセス許可ポリシーのセットから選択します。
   + すべてのアクセス許可ポリシーから選択します。
   + アクセス許可ポリシーを選択するのではなく、ロールの作成後にポリシーを作成し、そのポリシーをロールにアタッチします。

1. (オプション) [アクセス許可の境界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)を設定します。このアドバンスド機能は、サービスロールで使用できますが、サービスにリンクされたロールではありません。

   1. **[アクセス許可の境界の設定]** セクションを開き、**[アクセス許可の境界を使用してロールのアクセス許可の上限を設定する]** を選択します。

      IAM には、アカウント内の AWS 管理ポリシーとカスタマー管理ポリシーのリストがあります。

   1. アクセス許可の境界として使用するポリシーを選択します。

1. [**次へ**] を選択します。

1. **[ロール名]** では、オプションはサービスによって異なります。
   + サービスでロール名が定義されている場合、ロール名を編集することはできません。
   + サービスでロール名のプレフィックスが定義されている場合、オプションのサフィックスを入力できます。
   + サービスでロール名が定義されていない場合、ロールに名前を付けることができます。
**重要**  
ロールに名前を付けるときは、次のことに注意してください。  
ロール名は AWS アカウント内で一意である必要があります。ただし、大文字と小文字は区別されません。  
例えば、**PRODROLE** と **prodrole** の両方の名前でロールを作成することはできません。ロール名がポリシーまたは ARN の一部として使用される場合、ロール名は大文字と小文字が区別されます。ただし、サインインプロセスなど、コンソールにロール名がユーザーに表示される場合、ロール名は大文字と小文字が区別されません。
他のエンティティがロールを参照する可能性があるため、ロールを作成した後にロール名を編集することはできません。

1. (オプション) **[説明]** にロールの説明を入力します。

1. (オプション) ロールのユースケースとアクセス許可を編集するには、**[ステップ 1: 信頼されたエンティティを選択]** または **[ステップ 2: アクセス権限を追加]** のセクションで **[編集]** を選択します。

1. (オプション) ロールの識別、整理、検索を簡単にするには、キーと値のペアとしてタグを追加します。IAM でのタグの使用の詳細については、「*IAM ユーザーガイド*」の「[AWS Identity and Access Management リソースのタグ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)」を参照してください。

1. ロールを確認したら、**[ロールを作成]** を選択します。

## 例 1: データベース管理者としてユーザーを設定する (コンソール)
<a name="jf_example_1"></a>

この例では、IAM ユーザーである Alice を[データベース管理者](access_policies_job-functions.md#jf_database-administrator)として設定するために必要な手順を示しています。そのセクションのテーブルの最初の列情報を使用し、ユーザーが Amazon RDS モニタリングを有効にできるようにします。Alice の IAM ユーザーに [DatabaseAdministrator](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/job-function/DatabaseAdministrator) ポリシーをアタッチして、IAM ユーザーが Amazon データベースサービスを管理できるようにします。このポリシーによって、Alice は `rds-monitoring-role` という名前のロールを Amazon RDS サービスに渡すことができ、サービスが Alice の代わりに Amazon RDS データベースをモニタリングすることができます。

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

1. **[ポリシー]** を選択し、検索ボックスに **database** と入力してから[Enter] を押します。

1. **[DatabaseAdministrator]** ポリシーのラジオボタンを選択し、**[アクション]**、**[アタッチ]** の順に選択します。

1. エンティティのリストから **[Alice]** を選択してから、**[ポリシーをアタッチ]** を選択します。これで Alice は、AWS データベースを管理できます。ただし、Alice がこれらのデータベースをモニタリングできるようにするには、サービスロールを設定する必要があります。

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

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

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

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

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

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

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

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

## 例 2: ネットワーク管理者としてユーザーを設定する (コンソール)
<a name="jf_example_2"></a>

この例では、IAM ユーザーである Jorge を[ネットワーク管理者](access_policies_job-functions.md#jf_network-administrator)として設定するために必要な手順を示しています。このセクションの表の情報を使用して、Jorge が VPC との間で送受信される IP トラフィックをモニタリングできるようにします。また、Jorge がその情報を CloudWatch Logs のログに取り込むことができるようにします。[NetworkAdministrator](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/job-function/NetworkAdministrator) ポリシーを Jorge の IAM ユーザーにアタッチして、IAM ユーザーが AWS ネットワークリソースを設定できるようにします。このポリシーでは、フローログを作成する際に、Jorge が `flow-logs*` で始まる名前のロールを Amazon EC2 に渡すことも可能です。このシナリオでは、例 1 と違って事前定義されたサービスロールの種類がないため、いくつかのステップが異っています。

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

1. ナビゲーションペインで、**[ポリシー]** を選択し、検索ボックスに **network** と入力してから [Enter] を押します。

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

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

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

1. **[ポリシーエディタ]** セクションで、**[JSON]** オプションを選択し、以下の JSON ポリシードキュメントからテキストをコピーします。このテキストを **[JSON]** ボックスに貼り付けます。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Action": [
           "logs:CreateLogGroup",
           "logs:CreateLogStream",
           "logs:PutLogEvents",
           "logs:DescribeLogGroups",
           "logs:DescribeLogStreams"
         ],
         "Effect": "Allow",
         "Resource": "*"
       }
     ]
   }
   ```

------

1.  [ポリシーの検証](access_policies_policy-validator.md)中に生成されたセキュリティ警告、エラー、または一般警告をすべて解決してから、**[次へ]** を選択します。
**注記**  
いつでも **[Visual]** と **[JSON]** エディタオプションを切り替えることができます。ただし、**[Visual]** エディタで **[次へ]** に変更または選択した場合、IAM はポリシーを再構成して visual エディタに合わせて最適化することがあります。詳細については、「[ポリシーの再構成](troubleshoot_policies.md#troubleshoot_viseditor-restructure)」を参照してください。

1. **[確認および作成]** ページで、ポリシー名として「**vpc-flow-logs-policy-for-service-role**」と入力します。**[このポリシーで定義されているアクセス許可]** を確認し、ポリシーによって付与されたアクセス許可を確認し、**[ポリシーを作成]** を選択して作業を保存します。

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

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

1. **[AWS サービス]** ロールタイプを選択し、続いて **[Amazon EC2]** を選択します。

1. **[Amazon EC2]** ユースケースを選択します

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

1. ロール名は Jorge が現在持っている、NetworkAdministrator ポリシーによって許可されている必要があります。`flow-logs-` で始まる名前であれば、使用可能です。この例では、**[ロール名]** に **flow-logs-for-jorge** と入力します。

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

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

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

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

   ```
           "Service": "vpc-flow-logs.amazonaws.com"
   ```

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