IAM ロールを使用してプロジェクト AWS リソースへのアクセスを許可する - Amazon CodeCatalyst

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

IAM ロールを使用してプロジェクト AWS リソースへのアクセスを許可する

CodeCatalyst は、 を CodeCatalyst スペースに接続することで AWS アカウント AWS リソースにアクセスできます。その後、次のサービスロールを作成し、アカウントを接続するときに関連付けることができます。

JSON ポリシーで使用する要素の詳細については、「IAM ユーザーガイド」の「IAM JSON ポリシー要素リファレンス」を参照してください。

  • CodeCatalyst プロジェクトとワークフロー AWS アカウント の のリソースにアクセスするには、まず、 がユーザーに代わってそれらのリソースにアクセス CodeCatalyst するためのアクセス許可を付与する必要があります。そのためには、 がスペース内のユーザーとプロジェクトに代わって引き受け AWS アカウント ることができる CodeCatalyst接続された にサービスロールを作成する必要があります。CodeCatalystWorkflowDevelopmentRole-spaceName サービスロールを作成して使用するか、カスタマイズされたサービスロールを作成してこれらの IAM ポリシーとロールを手動で設定するかを選択できます。ベストプラクティスとして、これらのロールに必要な最小限のアクセス許可を割り当てます。

    注記

    カスタマイズされたサービスロールには、 CodeCatalyst サービスプリンシパルが必要です。 CodeCatalyst サービスプリンシパルと信頼モデルの詳細については、「」を参照してください CodeCatalyst 信頼モデルを理解する

  • 接続された を介してスペースのサポートを管理するには AWS アカウント、 CodeCatalyst ユーザーがサポートにアクセスできるようにするAWSRoleForCodeCatalystSupportサービスロールを作成して使用することを選択できます。 CodeCatalyst スペースのサポートの詳細については、「」を参照してくださいAWS SupportAmazon 用 CodeCatalyst

CodeCatalystWorkflowDevelopmentRole-spaceName サービスロールについて

接続された でリソースを作成およびアクセスするために CodeCatalyst が使用できるスペースの IAM ロールを追加できます AWS アカウント。これはサービスロール と呼ばれます。サービスロールを作成する最も簡単な方法は、スペースを作成するときにサービスロールを追加し、そのロールのCodeCatalystWorkflowDevelopmentRole-spaceNameオプションを選択します。これにより、 がAdministratorAccessアタッチされたサービスロールが作成されるだけでなく、 がスペース内のプロジェクトでユーザーに代わってロールを引き受け CodeCatalyst ることを許可する信頼ポリシーも作成されます。サービスロールの範囲は、個々のプロジェクトではなく、スペースに限定されます。このロールの作成については、「アカウントとスペースのCodeCatalystWorkflowDevelopmentRole-spaceNameロールの作成」を参照してください。各アカウントのスペースごとに作成できるロールは 1 つだけです。

注記

このロールは開発アカウントでのみ使用が推奨され、 AdministratorAccess AWS 管理ポリシーを使用して、この で新しいポリシーとリソースを作成するためのフルアクセスを付与します AWS アカウント。

CodeCatalystWorkflowDevelopmentRole-spaceName ロールにアタッチされたポリシーは、スペース内のブループリントで作成されたプロジェクトで動作するように設計されています。これにより、これらのプロジェクトのユーザーは、接続された のリソースを使用してコードを開発、構築、テスト、デプロイできます AWS アカウント。詳細については、「 AWS サービス用のロールの作成」を参照してください。

CodeCatalystWorkflowDevelopmentRole-spaceName ロールにアタッチされたポリシーは、 の AdministratorAccessマネージドポリシーです AWS。これは、すべての AWS アクションとリソースへのフルアクセスを許可するポリシーです。IAM コンソールで JSON ポリシードキュメントを表示するには、「」を参照してくださいAdministratorAccess

次の信頼ポリシーでは、 CodeCatalyst がCodeCatalystWorkflowDevelopmentRole-spaceNameロールを引き受けることを許可します。 CodeCatalyst 信頼モデルの詳細については、「」を参照してください CodeCatalyst 信頼モデルを理解する

"Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:codecatalyst:::space/spaceId/project/*" } } } ]

アカウントとスペースのCodeCatalystWorkflowDevelopmentRole-spaceNameロールの作成

スペース内のワークフローに使用するCodeCatalystWorkflowDevelopmentRole-spaceNameロールを作成するには、次の手順に従います。プロジェクトで使用する IAM ロールを持つアカウントごとに、スペースに開発者ロールなどのロールを追加する必要があります。

開始する前に、 の管理者権限を持っている AWS アカウント か、管理者と連携できる必要があります。 AWS アカウント および IAM ロールが で使用される方法の詳細については、 CodeCatalyst「」を参照してください接続された AWS リソースへのアクセスを許可する AWS アカウント

を作成して追加するには CodeCatalyst CodeCatalystWorkflowDevelopmentRole-spaceName
  1. CodeCatalyst コンソールで を開始する前に、 を開き AWS Management Console、 AWS アカウント スペースに対して同じ でログインしていることを確認します。

  2. https://codecatalyst.aws/ で CodeCatalyst コンソールを開きます。

  3. CodeCatalyst スペースに移動します。[Settings (設定)]、[AWS アカウント] の順に選択します。

  4. ロール AWS アカウント を作成する のリンクを選択します。AWS アカウント 詳細ページが表示されます。

  5. からロールの管理を選択します AWS Management Console

    「Amazon CodeCatalyst スペースへの IAM ロールの追加」ページが開きます AWS Management Console。これは Amazon CodeCatalyst スペースページです。ページにアクセスするには、ログインが必要な場合があります。

  6. IAM で CodeCatalyst 開発管理者ロールの作成を選択します。このオプションは、開発ロールのアクセス許可ポリシーと信頼ポリシーを含むサービスロールを作成します。ロールには という名前が付けられますCodeCatalystWorkflowDevelopmentRole-spaceName。ロールとロールポリシーの詳細については、「」を参照してくださいCodeCatalystWorkflowDevelopmentRole-spaceName サービスロールについて

    注記

    このロールはデベロッパーアカウントでのみ使用が推奨され、 AdministratorAccess AWS 管理ポリシーを使用して、この で新しいポリシーとリソースを作成するためのフルアクセスを付与します AWS アカウント。

  7. 開発ロールの作成 を選択します。

  8. 接続ページの で使用できる IAM ロールで CodeCatalyst、アカウントに追加された IAM CodeCatalystWorkflowDevelopmentRole-spaceNameロールのリストでロールを表示します。

  9. スペースに戻るには、「Amazon に移動 CodeCatalyst」を選択します。

AWSRoleForCodeCatalystSupport サービスロールについて

スペースの CodeCatalyst ユーザーがサポートケースの作成とアクセスに使用できるスペースの IAM ロールを追加できます。これはサポート用のサービスロールと呼ばれます。サポート用のサービスロールを作成する最も簡単な方法は、スペースを作成するときにサービスロールを追加し、そのロールAWSRoleForCodeCatalystSupportのオプションを選択することです。これにより、ポリシーとロールが作成されるだけでなく、 がスペース内のプロジェクトでユーザーに代わってロールを引き受けること CodeCatalyst を許可する信頼ポリシーも作成されます。サービスロールの範囲は、個々のプロジェクトではなく、スペースに限定されます。このロールの作成については、「アカウントとスペースのAWSRoleForCodeCatalystSupportロールの作成」を参照してください。

AWSRoleForCodeCatalystSupport ロールにアタッチされたポリシーは、サポートアクセス許可へのアクセスを提供する管理ポリシーです。詳細については、「AWS マネージドポリシー: AmazonCodeCatalystSupportAccess」を参照してください。

ポリシーの信頼ロールは、 CodeCatalyst がロールを引き受けることを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "codecatalyst.amazonaws.com", "codecatalyst-runner.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

アカウントとスペースのAWSRoleForCodeCatalystSupportロールの作成

以下の手順に従って、スペース内のサポートケースに使用されるAWSRoleForCodeCatalystSupportロールを作成します。ロールは、スペースの指定された請求アカウントに追加する必要があります。

開始する前に、 の管理者権限を持っている AWS アカウント か、管理者と連携できる必要があります。 AWS アカウント および IAM ロールが で使用される方法の詳細については、 CodeCatalyst「」を参照してください接続された AWS リソースへのアクセスを許可する AWS アカウント

を作成して追加するには CodeCatalyst AWSRoleForCodeCatalystSupport
  1. CodeCatalyst コンソールで を開始する前に、 を開き AWS Management Console、 AWS アカウント スペースに対して同じ でログインしていることを確認します。

  2. CodeCatalyst スペースに移動します。[Settings (設定)]、[AWS アカウント] の順に選択します。

  3. ロール AWS アカウント を作成する のリンクを選択します。AWS アカウント 詳細ページが表示されます。

  4. からロールの管理を選択します AWS Management Console

    「Amazon CodeCatalyst スペースへの IAM ロールの追加」ページが開きます AWS Management Console。これは Amazon CodeCatalyst Spaces ページです。ページにアクセスするには、サインインが必要な場合があります。

  5. CodeCatalyst スペースの詳細 で CodeCatalyst サポートロールの追加 を選択します。このオプションは、プレビュー開発ロールのアクセス許可ポリシーと信頼ポリシーを含むサービスロールを作成します。ロールには一意の識別子AWSRoleForCodeCatalystSupportが付加された名前が付けられます。ロールとロールポリシーの詳細については、「」を参照してくださいAWSRoleForCodeCatalystSupport サービスロールについて

  6. CodeCatalyst サポート用のロールを追加ページで、デフォルトを選択したまま、ロールの作成を選択します。

  7. で使用できる IAM ロール CodeCatalystで、アカウントに追加された IAM CodeCatalystWorkflowDevelopmentRole-spaceNameロールのリストでロールを表示します。

  8. スペースに戻るには、「Amazon に移動 CodeCatalyst」を選択します。

でのワークフローアクションの IAM ロールの設定 CodeCatalyst

このセクションでは、アカウントで使用できる IAM ロールとポリシーについて詳しく説明します CodeCatalyst。サンプルロールを作成する手順については、「」を参照してくださいワークフローアクション用のロールの手動作成。IAM ロールを作成したら、ロール ARN をコピーして IAM ロールをアカウント接続に追加し、プロジェクト環境に関連付けます。詳細については、「アカウント接続へのIAMロールの追加」を参照してください。

CodeCatalyst Amazon S3 アクセス用の ロールの構築

CodeCatalyst ワークフロービルドアクションでは、デフォルトのCodeCatalystWorkflowDevelopmentRole-spaceNameサービスロールを使用するか、CodeCatalystBuildRoleforS3Access という名前の IAM ロールを作成できます。このロールは、 の AWS CloudFormation リソースでタスクを実行する CodeCatalyst ために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。

このロールは、次のことを行うためのアクセス許可を付与します。

  • Amazon S3 バケットに書き込みます。

  • を使用した リソースの構築をサポートします AWS CloudFormation。これには Amazon S3 アクセスが必要です。

このロールは、次のポリシーを使用します。

{ "Version": "2012-10-17", "Statement": [{ "Action": [ "s3:PutObject", "iam:PassRole" ], "Resource": "resource_ARN", "Effect": "Allow" }] }
注記

ロールを初めて使用してワークフローアクションを実行するときは、リソースポリシーステートメントでワイルドカードを使用し、使用可能になった後にリソース名でポリシーの範囲を絞り込みます。

"Resource": "*"

CodeCatalyst の ロールの構築 AWS CloudFormation

CodeCatalyst ワークフロービルドアクションでは、デフォルトのCodeCatalystWorkflowDevelopmentRole-spaceNameサービスロールを使用するか、必要なアクセス許可を持つ IAM ロールを作成できます。このロールは、 の AWS CloudFormation リソースでタスクを実行する CodeCatalyst ために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。

このロールは、次のことを行うためのアクセス許可を付与します。

  • を使用した リソースの構築をサポートします AWS CloudFormation。これは、Amazon S3 アクセスのビルドロールと の CodeCatalyst デプロイロールとともに CodeCatalyst必要です AWS CloudFormation。

このロールには、次の AWS マネージドポリシーをアタッチする必要があります。

  • AWSCloudFormationFullAccess

  • IAMFullAccess

  • AmazonS3FullAccess

  • AmazonAPIGatewayAdministrator

  • AWSLambdaFullAccess

CodeCatalyst CDK の ロールの構築

Modern 3 層ウェブアプリケーションなどの CDK ビルドアクションを実行する CodeCatalyst ワークフローでは、デフォルトのCodeCatalystWorkflowDevelopmentRole-spaceNameサービスロールを使用するか、必要なアクセス許可を持つ IAM ロールを作成できます。このロールは、 の AWS CloudFormation リソースの CDK ビルドコマンドをブートストラップして実行 CodeCatalyst するために必要な、スコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。

このロールは、次のことを行うためのアクセス許可を付与します。

  • Amazon S3 バケットに書き込みます。

  • CDK コンストラクトと AWS CloudFormation リソーススタックの構築をサポートします。これには、アーティファクトストレージ用の Amazon S3、イメージリポジトリのサポート用の Amazon ECR、仮想インスタンスのシステムガバナンスとモニタリング用の SSM へのアクセスが必要です。

このロールは、次のポリシーを使用します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:*", "ecr:*", "ssm:*", "s3:*", "iam:PassRole", "iam:GetRole", "iam:CreateRole", "iam:AttachRolePolicy", "iam:PutRolePolicy" ], "Resource": "*" } ] }
注記

ロールを初めて使用してワークフローアクションを実行するときは、リソースポリシーステートメントでワイルドカードを使用し、使用可能になった後にリソース名でポリシーの範囲を絞り込みます。

"Resource": "*"

CodeCatalyst のロールをデプロイする AWS CloudFormation

を使用する CodeCatalyst ワークフローデプロイアクションでは AWS CloudFormation、デフォルトのCodeCatalystWorkflowDevelopmentRole-spaceNameサービスロールを使用するか、 の AWS CloudFormation リソースでタスクを実行する CodeCatalyst ために必要なスコープ付きアクセス許可を持つポリシーを使用できます AWS アカウント。

このロールは、次のことを行うためのアクセス許可を付与します。

  • CodeCatalyst が を通じてブルー/グリーンデプロイを実行するために Λ 関数を呼び出すことを許可します AWS CloudFormation。

  • CodeCatalyst でスタックと変更セットの作成と更新を に許可します AWS CloudFormation。

このロールは、次のポリシーを使用します。

{"Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:Describe*", "cloudformation:UpdateStack", "cloudformation:CreateChangeSet", "cloudformation:DeleteChangeSet", "cloudformation:ExecuteChangeSet", "cloudformation:SetStackPolicy", "cloudformation:ValidateTemplate", "cloudformation:List*", "iam:PassRole" ], "Resource": "resource_ARN", "Effect": "Allow" }
注記

ロールを初めて使用してワークフローアクションを実行するときは、リソースポリシーステートメントでワイルドカードを使用し、使用可能になった後にリソース名でポリシーの範囲を絞り込みます。

"Resource": "*"

CodeCatalyst Amazon EC2 のロールをデプロイする

CodeCatalyst ワークフローデプロイアクションは、必要なアクセス許可を持つ IAM ロールを使用します。このロールは、 の Amazon EC2 リソースでタスクを実行する CodeCatalyst ために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。CodeCatalystWorkflowDevelopmentRole-spaceName ロールのデフォルトポリシーには、Amazon EC2 または Amazon EC2 Auto Scaling のアクセス許可は含まれません。

このロールは、次のことを行うためのアクセス許可を付与します。

  • Amazon EC2 デプロイを作成します。

  • インスタンスのタグを読み取るか、Auto Scaling グループ名で Amazon EC2 インスタンスを識別します。

  • Amazon EC2 Auto Scaling グループ、ライフサイクルフック、スケーリングポリシーの読み取り、作成、更新、削除を行います。

  • Amazon SNS トピックに情報を公開します。

  • CloudWatch アラームに関する情報を取得します。

  • Elastic Load Balancing を読み、更新します。

このロールは、次のポリシーを使用します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "autoscaling:CompleteLifecycleAction", "autoscaling:DeleteLifecycleHook", "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeLifecycleHooks", "autoscaling:PutLifecycleHook", "autoscaling:RecordLifecycleActionHeartbeat", "autoscaling:CreateAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup", "autoscaling:EnableMetricsCollection", "autoscaling:DescribePolicies", "autoscaling:DescribeScheduledActions", "autoscaling:DescribeNotificationConfigurations", "autoscaling:SuspendProcesses", "autoscaling:ResumeProcesses", "autoscaling:AttachLoadBalancers", "autoscaling:AttachLoadBalancerTargetGroups", "autoscaling:PutScalingPolicy", "autoscaling:PutScheduledUpdateGroupAction", "autoscaling:PutNotificationConfiguration", "autoscaling:PutWarmPool", "autoscaling:DescribeScalingActivities", "autoscaling:DeleteAutoScalingGroup", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:TerminateInstances", "tag:GetResources", "sns:Publish", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeInstanceHealth", "elasticloadbalancing:RegisterInstancesWithLoadBalancer", "elasticloadbalancing:DeregisterInstancesFromLoadBalancer", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeTargetHealth", "elasticloadbalancing:RegisterTargets", "elasticloadbalancing:DeregisterTargets" ], "Resource": "resource_ARN" } ] }
注記

ロールを初めて使用してワークフローアクションを実行するときは、リソースポリシーステートメントでワイルドカードを使用し、使用可能になった後にリソース名でポリシーの範囲を絞り込みます。

"Resource": "*"

CodeCatalyst Amazon ECS の ロールのデプロイ

CodeCatalyst ワークフローアクションでは、必要なアクセス許可を持つ IAM ロールを作成できます。デフォルトのCodeCatalystWorkflowDevelopmentRole-spaceNameサービスロールを使用することも、Lambda CodeCatalyst デプロイに使用するデプロイアクション用の IAM ロールを作成することもできます。このロールは、 の Amazon ECS リソースでタスクを実行する CodeCatalyst ために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。

このロールは、次のことを行うためのアクセス許可を付与します。

  • CodeCatalyst 接続で指定されたアカウントで、 CodeCatalyst ユーザーに代わって Amazon ECS のローリングデプロイを開始します。

  • Amazon ECS タスクセットを読んで、更新、削除します。

  • Elastic Load Balancing ターゲットグループ、リスナー、ルールを更新します。

  • Lambda 関数を呼び出します。

  • Amazon S3 バケットのリビジョンファイルにアクセスします。

  • CloudWatch アラームに関する情報を取得します。

  • Amazon SNS トピックに情報を公開します。

このロールは、次のポリシーを使用します。

{ "Version": "2012-10-17", "Statement": [{ "Action":[ "ecs:DescribeServices", "ecs:CreateTaskSet", "ecs:DeleteTaskSet", "ecs:ListClusters", "ecs:RegisterTaskDefinition", "ecs:UpdateServicePrimaryTaskSet", "ecs:UpdateService", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:ModifyListener", "elasticloadbalancing:DescribeRules", "elasticloadbalancing:ModifyRule", "lambda:InvokeFunction", "lambda:ListFunctions", "cloudwatch:DescribeAlarms", "sns:Publish", "sns:ListTopics", "s3:GetObject", "s3:GetObjectVersion", "codedeploy:CreateApplication", "codedeploy:CreateDeployment", "codedeploy:CreateDeploymentGroup", "codedeploy:GetApplication", "codedeploy:GetDeployment", "codedeploy:GetDeploymentGroup", "codedeploy:ListApplications", "codedeploy:ListDeploymentGroups", "codedeploy:ListDeployments", "codedeploy:StopDeployment", "codedeploy:GetDeploymentTarget", "codedeploy:ListDeploymentTargets", "codedeploy:GetDeploymentConfig", "codedeploy:GetApplicationRevision", "codedeploy:RegisterApplicationRevision", "codedeploy:BatchGetApplicationRevisions", "codedeploy:BatchGetDeploymentGroups", "codedeploy:BatchGetDeployments", "codedeploy:BatchGetApplications", "codedeploy:ListApplicationRevisions", "codedeploy:ListDeploymentConfigs", "codedeploy:ContinueDeployment" ], "Resource":"*", "Effect":"Allow" },{"Action":[ "iam:PassRole" ], "Effect":"Allow", "Resource":"*", "Condition":{"StringLike":{"iam:PassedToService":[ "ecs-tasks.amazonaws.com", "codedeploy.amazonaws.com" ] } } }] }
注記

ロールを初めて使用してワークフローアクションを実行するときは、リソースポリシーステートメントでワイルドカードを使用し、使用可能になった後にリソース名でポリシーの範囲を絞り込みます。

"Resource": "*"

CodeCatalyst Lambda のロールをデプロイする

CodeCatalyst ワークフローアクションでは、必要なアクセス許可を持つ IAM ロールを作成できます。デフォルトのCodeCatalystWorkflowDevelopmentRole-spaceNameサービスロールを使用するか、Lambda デプロイに使用するデプロイアクション用の CodeCatalyst IAM ロールを作成できます。このロールは、 の Lambda リソースでタスクを実行する CodeCatalyst ために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。

このロールは、次のことを行うためのアクセス許可を付与します。

  • Lambda 関数とエイリアスの読み取り、更新、呼び出しを行います。

  • Amazon S3 バケットのリビジョンファイルにアクセスします。

  • CloudWatch イベントアラームに関する情報を取得します。

  • Amazon SNS トピックに情報を公開します。

このロールは、次のポリシーを使用します。

*{* "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:DescribeAlarms", "lambda:UpdateAlias", "lambda:GetAlias", "lambda:GetProvisionedConcurrencyConfig", "sns:Publish" ], "Resource": "resource_ARN", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::/CodeDeploy/", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "", "Condition": { "StringEquals": { "s3:ExistingObjectTag/UseWithCodeDeploy": "true" } }, "Effect": "Allow" }, { "Action": [ "lambda:InvokeFunction" ], "Resource": "arn:aws:lambda:::function:CodeDeployHook_*", "Effect": "Allow" } ] }
注記

ロールを初めて使用してワークフローアクションを実行するときは、リソースポリシーステートメントでワイルドカードを使用し、使用可能になった後にリソース名でポリシーの範囲を絞り込みます。

"Resource": "*"

CodeCatalyst Lambda のロールをデプロイする

CodeCatalyst ワークフローアクションでは、デフォルトのCodeCatalystWorkflowDevelopmentRole-spaceNameサービスロールを使用するか、必要なアクセス許可を持つ IAM ロールを作成できます。このロールは、 の Lambda リソースでタスクを実行する CodeCatalyst ために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。

このロールは、次のことを行うためのアクセス許可を付与します。

  • Lambda 関数とエイリアスの読み取り、更新、呼び出しを行います。

  • Amazon S3 バケットのリビジョンファイルにアクセスします。

  • CloudWatch アラームに関する情報を取得します。

  • Amazon SNS トピックに情報を公開します。

このロールは、次のポリシーを使用します。

*{* "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:DescribeAlarms", "lambda:UpdateAlias", "lambda:GetAlias", "lambda:GetProvisionedConcurrencyConfig", "sns:Publish" ], "Resource": "resource_ARN", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::/CodeDeploy/", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "", "Condition": { "StringEquals": { "s3:ExistingObjectTag/UseWithCodeDeploy": "true" } }, "Effect": "Allow" }, { "Action": [ "lambda:InvokeFunction" ], "Resource": "arn:aws:lambda:::function:CodeDeployHook_*", "Effect": "Allow" } ] }
注記

ロールを初めて使用してワークフローアクションを実行するときは、リソースポリシーステートメントでワイルドカードを使用し、使用可能になった後にリソース名でポリシーの範囲を絞り込みます。

"Resource": "*"

CodeCatalyst のロールをデプロイする AWS SAM

CodeCatalyst ワークフローアクションでは、デフォルトのCodeCatalystWorkflowDevelopmentRole-spaceNameサービスロールを使用するか、必要なアクセス許可を持つ IAM ロールを作成できます。このロールは、 の AWS SAM および AWS CloudFormation リソースでタスクを実行する CodeCatalyst ために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。

このロールは、次のことを行うためのアクセス許可を付与します。

  • CodeCatalyst が Lambda 関数を呼び出して、サーバーレスおよび AWS SAM CLI アプリケーションのデプロイを実行できるようにします。

  • CodeCatalyst でスタックと変更セットの作成と更新を に許可します AWS CloudFormation。

このロールは、次のポリシーを使用します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "iam:PassRole", "iam:DeleteRole", "iam:GetRole", "iam:TagRole", "iam:CreateRole", "iam:AttachRolePolicy", "iam:DetachRolePolicy", "cloudformation:*", "lambda:*", "apigateway:*" ], "Resource": "*" } ] }
注記

ロールを初めて使用してワークフローアクションを実行するときは、リソースポリシーステートメントでワイルドカードを使用し、使用可能になった後にリソース名でポリシーの範囲を絞り込みます。

"Resource": "*"

CodeCatalyst Amazon EC2 の読み取り専用ロール

CodeCatalyst ワークフローアクションでは、必要なアクセス許可を持つ IAM ロールを作成できます。このロールは、 の Amazon EC2 リソースでタスクを実行する CodeCatalyst ために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。CodeCatalystWorkflowDevelopmentRole-spaceName サービスロールには、Amazon EC2 のアクセス許可や、Amazon の説明されたアクションは含まれません CloudWatch。

このロールは、次のことを行うためのアクセス許可を付与します。

  • Amazon EC2 インスタンスのステータスを取得します。

  • Amazon EC2 インスタンスの CloudWatch メトリクスを取得します。

このロールは、次のポリシーを使用します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:Describe", "Resource": "resource_ARN" }, { "Effect": "Allow", "Action": "elasticloadbalancing:Describe", "Resource": "resource_ARN" }, { "Effect": "Allow", "Action": [ "cloudwatch:ListMetrics", "cloudwatch:GetMetricStatistics", "cloudwatch:Describe" ], "Resource": "resource_ARN" }, { "Effect": "Allow", "Action": "autoscaling:Describe", "Resource": "resource_ARN" } ] }
注記

ロールを初めて使用してワークフローアクションを実行するときは、リソースポリシーステートメントでワイルドカードを使用し、使用可能になった後にリソース名でポリシーの範囲を絞り込みます。

"Resource": "*"

CodeCatalyst Amazon ECS の読み取り専用ロール

CodeCatalyst ワークフローアクションでは、必要なアクセス許可を持つ IAM ロールを作成できます。このロールは、 の Amazon ECS リソースでタスクを実行する CodeCatalyst ために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。

このロールは、次のことを行うためのアクセス許可を付与します。

  • Amazon ECS タスクセットを読み取ります。

  • CloudWatch アラームに関する情報を取得します。

このロールは、次のポリシーを使用します。

*{* "Version": "2012-10-17", "Statement": [ { "Action": [ "ecs:DescribeServices", "cloudwatch:DescribeAlarms" ], "Resource": "resource_ARN", "Effect": "Allow" }, { "Action": [ "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeRules" ], "Resource": "resource_ARN", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "", "Condition": { "StringEquals": { "s3:ExistingObjectTag/UseWithCodeDeploy": "true" } }, "Effect": "Allow" }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": [ "arn:aws:iam:::role/ecsTaskExecutionRole", "arn:aws:iam:::role/ECSTaskExecution" ], "Condition": { "StringLike": { "iam:PassedToService": [ "ecs-tasks.amazonaws.com" ] } } } ] }
注記

ロールを初めて使用してワークフローアクションを実行するときは、リソースポリシーステートメントでワイルドカードを使用し、使用可能になった後にリソース名でポリシーの範囲を絞り込みます。

"Resource": "*"

CodeCatalyst Lambda の読み取り専用ロール

CodeCatalyst ワークフローアクションでは、必要なアクセス許可を持つ IAM ロールを作成できます。このロールは、 の Lambda リソースでタスクを実行する CodeCatalyst ために必要なスコープ付きアクセス許可を持つポリシーを使用します AWS アカウント。

このロールは、以下のアクセス許可を付与します。

  • Lambda 関数とエイリアスを読み取ります。

  • Amazon S3 バケットのリビジョンファイルにアクセスします。

  • CloudWatch アラームに関する情報を取得します。

このロールは以下の ポリシーを使用します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:DescribeAlarms", "lambda:GetAlias", "lambda:GetProvisionedConcurrencyConfig" ], "Resource": "resource_ARN", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::/CodeDeploy/", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "", "Condition": { "StringEquals": { "s3:ExistingObjectTag/UseWithCodeDeploy": "true" } }, "Effect": "Allow" } ] }
注記

ロールを初めて使用してワークフローアクションを実行するときは、リソースポリシーステートメントでワイルドカードを使用し、使用可能になった後にリソース名でポリシーの範囲を絞り込みます。

"Resource": "*"

ワークフローアクション用のロールの手動作成

CodeCatalyst ワークフローアクションは、ビルドロール 、デプロイロール 、スタックロール と呼ばれる、作成した IAM ロールを使用します。

これらのロールを IAM で作成するには、次の手順に従います。

デプロイロールを作成するには
  1. 次のように、ロールのポリシーを作成します。

    1. にサインインします AWS。

    2. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

    3. ナビゲーションペインで、ポリシー を選択します。

    4. ポリシーの作成を選択します。

    5. [JSON] タブを選択します。

    6. 既存のコードを削除します。

    7. 次のコードを貼り付けます。

      { "Version": "2012-10-17", "Statement": [{ "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:Describe*", "cloudformation:UpdateStack", "cloudformation:CreateChangeSet", "cloudformation:DeleteChangeSet", "cloudformation:ExecuteChangeSet", "cloudformation:SetStackPolicy", "cloudformation:ValidateTemplate", "cloudformation:List*", "iam:PassRole" ], "Resource": "*", "Effect": "Allow" }] }
      注記

      ロールを初めて使用してワークフローアクションを実行するときは、リソースポリシーステートメントでワイルドカードを使用し、使用可能になった後にリソース名でポリシーの範囲を絞り込みます。

      "Resource": "*"
    8. [次へ : タグ] を選択します。

    9. [次へ: レビュー] を選択します。

    10. 名前 で、次のように入力します。

      codecatalyst-deploy-policy
    11. [ポリシーの作成] を選択します。

      これで、アクセス許可ポリシーが作成されました。

  2. デプロイロールを次のように作成します。

    1. ナビゲーションペインで ロール を選択してから、ロールを作成する を選択します。

    2. カスタム信頼ポリシー を選択します。

    3. 既存のカスタム信頼ポリシーを削除します。

    4. 次のカスタム信頼ポリシーを追加します。

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. [次へ] をクリックします。

    6. アクセス許可ポリシー で、そのチェックボックスを検索codecatalyst-deploy-policyして選択します。

    7. [次へ] をクリックします。

    8. ロール名 には、次のように入力します。

      codecatalyst-deploy-role
    9. ロールの説明 には、次のように入力します。

      CodeCatalyst deploy role
    10. [ロールを作成] を選択します。

    これで、信頼ポリシーとアクセス許可ポリシーを使用してデプロイロールが作成されました。

  3. 次のように、デプロイロール ARN を取得します。

    1. ナビゲーションペインで、[ロール] を選択します。

    2. 検索ボックスに、作成したロールの名前 () を入力しますcodecatalyst-deploy-role

    3. リストからロールを選択します。

      ロールの概要ページが表示されます。

    4. 上部で、ARN 値をコピーします。

    これで、適切なアクセス許可を持つデプロイロールを作成し、その ARN を取得しました。

ビルドロールを作成するには
  1. 次のように、ロールのポリシーを作成します。

    1. にサインインします AWS。

    2. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

    3. ナビゲーションペインで、ポリシー を選択します。

    4. ポリシーの作成を選択します。

    5. [JSON] タブを選択します。

    6. 既存のコードを削除します。

    7. 次のコードを貼り付けます。

      { "Version": "2012-10-17", "Statement": [{ "Action": [ "s3:PutObject", "iam:PassRole" ], "Resource": "*", "Effect": "Allow" }] }
      注記

      ロールを初めて使用してワークフローアクションを実行するときは、リソースポリシーステートメントでワイルドカードを使用し、使用可能になった後にリソース名でポリシーの範囲を絞り込みます。

      "Resource": "*"
    8. [次へ : タグ] を選択します。

    9. [次へ: レビュー] を選択します。

    10. 名前 で、次のように入力します。

      codecatalyst-build-policy
    11. [ポリシーの作成] を選択します。

      これで、アクセス許可ポリシーが作成されました。

  2. 次のようにビルドロールを作成します。

    1. ナビゲーションペインで ロール を選択してから、ロールを作成する を選択します。

    2. カスタム信頼ポリシー を選択します。

    3. 既存のカスタム信頼ポリシーを削除します。

    4. 次のカスタム信頼ポリシーを追加します。

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. [次へ] をクリックします。

    6. アクセス許可ポリシー で、そのチェックボックスを検索codecatalyst-build-policyして選択します。

    7. [次へ] をクリックします。

    8. ロール名 には、次のように入力します。

      codecatalyst-build-role
    9. ロールの説明 には、次のように入力します。

      CodeCatalyst build role
    10. [ロールを作成] を選択します。

    これで、信頼ポリシーとアクセス許可ポリシーを使用してビルドロールが作成されました。

  3. 次のように、ビルドロール ARN を取得します。

    1. ナビゲーションペインで、[ロール] を選択します。

    2. 検索ボックスに、作成したロールの名前 () を入力しますcodecatalyst-build-role

    3. リストからロールを選択します。

      ロールの概要ページが表示されます。

    4. 上部で、ARN 値をコピーします。

    これで、適切なアクセス許可を持つビルドロールを作成し、その ARN を取得しました。

スタックロールを作成するには
注記

セキュリティ上の理由から、スタックロールを作成する必要はありませんが、作成することをお勧めします。スタックロールを作成しない場合は、この手順で詳しく説明するアクセス許可ポリシーをデプロイロールに追加する必要があります。

  1. スタックをデプロイするアカウント AWS を使用して にサインインします。

  2. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  3. ナビゲーションペインで、ロール を選択します。次に、ロールの作成 を選択します。

  4. 上部で、AWS サービス を選択します。

  5. サービスのリストから、 を選択しますCloudFormation

  6. [次のステップ: アクセス許可] を選択します。

  7. 検索ボックスに、スタック内のリソースにアクセスするために必要なポリシーを追加します。例えば、スタックに AWS Lambda 関数が含まれている場合は、Lambda へのアクセスを許可するポリシーを追加する必要があります。

    ヒント

    追加するポリシーが不明な場合は、現時点では省略できます。アクションをテストするときに、適切なアクセス許可がない場合、 は追加する必要があるアクセス許可を示すエラー AWS CloudFormation を生成します。

  8. [次へ : タグ] を選択します。

  9. [次へ: レビュー] を選択します。

  10. ロール名 には、次のように入力します。

    codecatalyst-stack-role
  11. [ロールを作成] を選択します。

  12. スタックロールの ARN を取得するには、次の手順を実行します。

    1. ナビゲーションペインで、[ロール] を選択します。

    2. 検索ボックスに、作成したロールの名前 () を入力しますcodecatalyst-stack-role

    3. リストからロールを選択します。

    4. 概要ページでロール ARN 値をコピーします。

AWS CloudFormation を使用して IAM でポリシーとロールを作成する

AWS CloudFormation テンプレートを作成して使用すると、 CodeCatalyst プロジェクトやワークフロー AWS アカウント の のリソースにアクセスするために必要なポリシーとロールを作成できます。 AWS CloudFormation は AWS 、リソースをモデル化してセットアップするのに役立つサービスです。これにより、リソースの管理に費やす時間を減らし、 で実行されるアプリケーションに集中できます AWS。複数の でロールを作成する場合は AWS アカウント、テンプレートを作成すると、このタスクをより迅速に実行できます。

次のサンプルテンプレートは、デプロイアクションのロールとポリシーを作成します。

Parameters: CodeCatalystAccountId: Type: String Description: Account ID from the connections page ExternalId: Type: String Description: External ID from the connections page Resources: CrossAccountRole: Type: 'AWS::IAM::Role' Properties: AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: Allow Principal: AWS: - !Ref CodeCatalystAccountId Action: - 'sts:AssumeRole' Condition: StringEquals: sts:ExternalId: !Ref ExternalId Path: / Policies: - PolicyName: CodeCatalyst-CloudFormation-action-policy PolicyDocument: Version: "2012-10-17" Statement: - Effect: Allow Action: - 'cloudformation:CreateStack' - 'cloudformation:DeleteStack' - 'cloudformation:Describe*' - 'cloudformation:UpdateStack' - 'cloudformation:CreateChangeSet' - 'cloudformation:DeleteChangeSet' - 'cloudformation:ExecuteChangeSet' - 'cloudformation:SetStackPolicy' - 'cloudformation:ValidateTemplate' - 'cloudformation:List*' - 'iam:PassRole' Resource: '*'

ウェブアプリケーションのブループリント用のロールの手動作成

CodeCatalyst ウェブアプリケーションのブループリントでは、CDK のビルドロール 、デプロイロール 、スタックロール と呼ばれる、作成した IAM ロールを使用します

IAM でロールを作成するには、次の手順に従います。

ビルドロールを作成するには
  1. 次のように、ロールのポリシーを作成します。

    1. にサインインします AWS。

    2. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

    3. ナビゲーションペインで、ポリシー を選択します。

    4. [Create Policy (ポリシーの作成)] を選択します。

    5. [JSON] タブを選択します。

    6. 既存のコードを削除します。

    7. 次のコードを貼り付けます。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:*", "ecr:*", "ssm:*", "s3:*", "iam:PassRole", "iam:GetRole", "iam:CreateRole", "iam:AttachRolePolicy", "iam:PutRolePolicy" ], "Resource": "*" } ] }
      注記

      ロールを初めて使用してワークフローアクションを実行するときは、リソースポリシーステートメントでワイルドカードを使用し、使用可能になった後にリソース名でポリシーの範囲を絞り込みます。

      "Resource": "*"
    8. [次へ : タグ] を選択します。

    9. [次へ: レビュー] を選択します。

    10. 名前 で、次のように入力します。

      codecatalyst-webapp-build-policy
    11. [ポリシーの作成] を選択します。

      これで、アクセス許可ポリシーが作成されました。

  2. 次のようにビルドロールを作成します。

    1. ナビゲーションペインで ロール を選択してから、ロールを作成する を選択します。

    2. カスタム信頼ポリシー を選択します。

    3. 既存のカスタム信頼ポリシーを削除します。

    4. 次のカスタム信頼ポリシーを追加します。

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. [次へ] をクリックします。

    6. アクセス許可ポリシーをビルドロールにアタッチします。「アクセス許可の追加」ページの「アクセス許可ポリシー」セクションで、 を検索codecatalyst-webapp-build-policyしてそのチェックボックスをオンにします。

    7. [次へ] をクリックします。

    8. ロール名 には、次のように入力します。

      codecatalyst-webapp-build-role
    9. ロールの説明 には、次のように入力します。

      CodeCatalyst Web app build role
    10. [ロールを作成] を選択します。

    これで、信頼ポリシーとアクセス許可ポリシーを使用してビルドロールが作成されました。

  3. 次のように、アクセス許可ポリシーをビルドロールにアタッチします。

    1. ナビゲーションペインでロール を選択し、 を検索しますcodecatalyst-webapp-build-role

    2. を選択して詳細codecatalyst-webapp-build-roleを表示します。

    3. 「アクセス許可」タブで「アクセス許可の追加」を選択し、「ポリシーのアタッチ」を選択します。

    4. を検索しcodecatalyst-webapp-build-policy、そのチェックボックスを選択し、ポリシーのアタッチ を選択します。

      これで、アクセス許可ポリシーをビルドロールにアタッチしました。ビルドロールに、アクセス許可ポリシーと信頼ポリシーの 2 つのポリシーが追加されました。

  4. 次のように、ビルドロール ARN を取得します。

    1. ナビゲーションペインで、[ロール] を選択します。

    2. 検索ボックスに、作成したロールの名前 () を入力しますcodecatalyst-webapp-build-role

    3. リストからロールを選択します。

      ロールの概要ページが表示されます。

    4. 上部で、ARN 値をコピーします。

    これで、適切なアクセス許可を持つビルドロールを作成し、その ARN を取得しました。

SAM ブループリント用のロールの手動作成

CodeCatalyst SAM ブループリントでは、 のビルドロールと SAM のデプロイロール CloudFormationと呼ばれる、作成した IAM ロールを使用します。

IAM でロールを作成するには、次の手順に従います。

のビルドロールを作成するには CloudFormation
  1. 次のように、ロールのポリシーを作成します。

    1. にサインインします AWS。

    2. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

    3. ナビゲーションペインで、ポリシー を選択します。

    4. [Create Policy (ポリシーの作成)] を選択します。

    5. [JSON] タブを選択します。

    6. 既存のコードを削除します。

    7. 次のコードを貼り付けます。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:*", "cloudformation:*" ], "Resource": "*" } ] }
      注記

      ロールを初めて使用してワークフローアクションを実行するときは、リソースポリシーステートメントでワイルドカードを使用し、使用可能になった後にリソース名でポリシーの範囲を絞り込みます。

      "Resource": "*"
    8. [次へ : タグ] を選択します。

    9. [次へ: レビュー] を選択します。

    10. 名前 で、次のように入力します。

      codecatalyst-SAM-build-policy
    11. [ポリシーの作成] を選択します。

      これで、アクセス許可ポリシーが作成されました。

  2. 次のようにビルドロールを作成します。

    1. ナビゲーションペインで ロール を選択してから、ロールを作成する を選択します。

    2. カスタム信頼ポリシー を選択します。

    3. 既存のカスタム信頼ポリシーを削除します。

    4. 次のカスタム信頼ポリシーを追加します。

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. [次へ] をクリックします。

    6. アクセス許可ポリシーをビルドロールにアタッチします。「アクセス許可の追加」ページの「アクセス許可ポリシー」セクションで、そのチェックボックスを検索codecatalyst-SAM-build-policyして選択します。

    7. [次へ] をクリックします。

    8. ロール名 には、次のように入力します。

      codecatalyst-SAM-build-role
    9. ロールの説明 には、次のように入力します。

      CodeCatalyst SAM build role
    10. [ロールを作成] を選択します。

    これで、信頼ポリシーとアクセス許可ポリシーを使用してビルドロールが作成されました。

  3. 次のように、アクセス許可ポリシーをビルドロールにアタッチします。

    1. ナビゲーションペインでロール を選択し、 を検索しますcodecatalyst-SAM-build-role

    2. を選択して詳細codecatalyst-SAM-build-roleを表示します。

    3. 「アクセス許可」タブで「アクセス許可の追加」を選択し、「ポリシーのアタッチ」を選択します。

    4. を検索しcodecatalyst-SAM-build-policy、そのチェックボックスを選択し、ポリシーのアタッチ を選択します。

      これで、アクセス許可ポリシーをビルドロールにアタッチしました。ビルドロールに、アクセス許可ポリシーと信頼ポリシーの 2 つのポリシーが追加されました。

  4. 次のように、ビルドロール ARN を取得します。

    1. ナビゲーションペインで、[ロール] を選択します。

    2. 検索ボックスに、作成したロールの名前 () を入力しますcodecatalyst-SAM-build-role

    3. リストからロールを選択します。

      ロールの概要ページが表示されます。

    4. 上部で、ARN 値をコピーします。

    これで、適切なアクセス許可を持つビルドロールを作成し、その ARN を取得しました。

SAM のデプロイロールを作成するには
  1. 次のように、ロールのポリシーを作成します。

    1. にサインインします AWS。

    2. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

    3. ナビゲーションペインで、ポリシー を選択します。

    4. [Create Policy (ポリシーの作成)] を選択します。

    5. [JSON] タブを選択します。

    6. 既存のコードを削除します。

    7. 次のコードを貼り付けます。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "iam:PassRole", "iam:DeleteRole", "iam:GetRole", "iam:TagRole", "iam:CreateRole", "iam:AttachRolePolicy", "iam:DetachRolePolicy", "cloudformation:*", "lambda:*", "apigateway:*" ], "Resource": "*" } ] }
      注記

      ロールを初めて使用してワークフローアクションを実行するときは、リソースポリシーステートメントでワイルドカードを使用し、使用可能になった後にリソース名でポリシーの範囲を絞り込みます。

      "Resource": "*"
    8. [次へ : タグ] を選択します。

    9. [次へ: レビュー] を選択します。

    10. 名前 で、次のように入力します。

      codecatalyst-SAM-deploy-policy
    11. [ポリシーの作成] を選択します。

      これで、アクセス許可ポリシーが作成されました。

  2. 次のようにビルドロールを作成します。

    1. ナビゲーションペインで ロール を選択してから、ロールを作成する を選択します。

    2. カスタム信頼ポリシー を選択します。

    3. 既存のカスタム信頼ポリシーを削除します。

    4. 次のカスタム信頼ポリシーを追加します。

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. [次へ] をクリックします。

    6. アクセス許可ポリシーをビルドロールにアタッチします。「アクセス許可の追加」ページの「アクセス許可ポリシー」セクションで、そのチェックボックスを検索codecatalyst-SAM-deploy-policyして選択します。

    7. [次へ] をクリックします。

    8. ロール名 には、次のように入力します。

      codecatalyst-SAM-deploy-role
    9. ロールの説明 には、次のように入力します。

      CodeCatalyst SAM deploy role
    10. [ロールを作成] を選択します。

    これで、信頼ポリシーとアクセス許可ポリシーを使用してビルドロールが作成されました。

  3. 次のように、アクセス許可ポリシーをビルドロールにアタッチします。

    1. ナビゲーションペインでロール を選択し、 を検索しますcodecatalyst-SAM-deploy-role

    2. を選択して詳細codecatalyst-SAM-deploy-roleを表示します。

    3. アクセス許可タブで、アクセス許可の追加 を選択し、ポリシーのアタッチ を選択します。

    4. を検索しcodecatalyst-SAM-deploy-policy、そのチェックボックスをオンにして、ポリシーのアタッチ を選択します。

      これで、アクセス許可ポリシーをビルドロールにアタッチしました。ビルドロールに、アクセス許可ポリシーと信頼ポリシーの 2 つのポリシーが追加されました。

  4. 次のように、ビルドロール ARN を取得します。

    1. ナビゲーションペインで、[ロール] を選択します。

    2. 検索ボックスに、作成したロールの名前 () を入力しますcodecatalyst-SAM-deploy-role

    3. リストからロールを選択します。

      ロールの概要ページが表示されます。

    4. 上部で、ARN 値をコピーします。

    これで、適切なアクセス許可を持つビルドロールを作成し、その ARN を取得しました。