管理ポリシーは「単体で存在し、複数のユーザー・グループ・ロールにアタッチして使い回せるポリシー」、インラインポリシーは「1つのユーザー・グループ・ロールの中に直接埋め込むポリシー」です。 管理ポリシーはさらに、AWSが用意する「AWS管理ポリシー」と、自分で作る「カスタマー管理ポリシー」に分かれます。

この記事では3種類の違いを比較表にまとめたうえで、作る・付ける・確かめるコマンドを対にして、出力と一緒に載せます。バージョンの切り替え、削除の順番で出る DeleteConflict、ロールに付いた権限をすべて書き出すスクリプトまで扱います。

確認環境:Linux、AWS CLI 1.46.1。AWS の API をローカルで再現するツール(moto 5.2.3)で実行しています。掲載するコマンドは実際の AWS でそのまま使える形です(アカウント ID は 123456789012 としています)。

3種類のポリシーの早見表

比べる点 AWS管理ポリシー カスタマー管理ポリシー インラインポリシー
作成者 AWS 自分(アカウントの利用者) 自分
内容の変更 できない(AWSが更新する) できる できる
ARN arn:aws:iam::aws:policy/名前 arn:aws:iam::アカウントID:policy/名前 なし(ロール名+ポリシー名で指定)
再利用 複数の相手にアタッチできる 複数の相手にアタッチできる 埋め込んだ相手だけ
バージョン管理 AWSが管理 最大5世代。既定バージョンを切り替えられる なし(上書きのみ)
大きさの上限 1ポリシー 6,144 文字 1ポリシー 6,144 文字 合計でユーザー 2,048/ロール 10,240/グループ 5,120 文字
数の上限 ロールに 20、ユーザーとグループに 10 までアタッチ 同左。作成数は1アカウント 1,500 個数ではなく上の合計文字数で決まる
付けるコマンド attach-role-policy create-policy → attach-role-policy put-role-policy
確かめるコマンド list-attached-role-policies list-attached-role-policies list-role-policies
外す・消すコマンド detach-role-policy detach-role-policy → delete-policy delete-role-policy
相手を削除したとき ポリシーは残る ポリシーは残る 一緒になくなる

上限の数値は IAM のクォータのページに載っている既定値です。アタッチ数はロール 25、ユーザー 20 まで、カスタマー管理ポリシーの作成数は 10,000 まで引き上げを申請できます。文字数は空白を数えません。

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「IAM管理ポリシーとインラインポリシーの違い|CLIで確認・アタッチ」

どれを使うかの判断表

状況 向いている種類
よくある職務・サービス用の権限をすぐ付けたい AWS管理ポリシー
自分たちのリソース名に絞った最小権限を作りたい カスタマー管理ポリシー
同じ権限を複数のロールで使う カスタマー管理ポリシー
変更前の内容に戻せるようにしておきたい カスタマー管理ポリシー
その1つのロールだけに必要で、ほかに付いては困る権限 インラインポリシー

AWS の公式ドキュメントも「複数の相手に当てはまる可能性があるなら管理ポリシー」を勧めています。迷ったらカスタマー管理ポリシー、1対1の関係を厳密に保ちたいときだけインラインと覚えておくと選びやすくなります。

準備:ロールとポリシーの JSON を用意する

以降は report-app-role というロールに3種類のポリシーを順に付けていきます。JSON ファイルを4つ用意します。

trust.json(ロールを引き受けられる相手を決める信頼ポリシー):

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

read-v1.json(カスタマー管理ポリシーの最初の版):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject"],
      "Resource": "arn:aws:s3:::example-report-bucket/*"
    }
  ]
}

read-v2.json(一覧の権限を足した版):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:ListBucket"],
      "Resource": [
        "arn:aws:s3:::example-report-bucket",
        "arn:aws:s3:::example-report-bucket/*"
      ]
    }
  ]
}

inline-logs.json(インラインポリシー):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["logs:CreateLogStream", "logs:PutLogEvents"],
      "Resource": "arn:aws:logs:ap-northeast-1:123456789012:log-group:/app/report:*"
    }
  ]
}

ロールを作ります。

aws iam create-role --role-name report-app-role \
  --assume-role-policy-document file://trust.json \
  --query Role.Arn --output text
arn:aws:iam::123456789012:role/report-app-role

カスタマー管理ポリシーを作ってアタッチする

管理ポリシーは「作る」と「付ける」が別のコマンドです。まず create-policy で単体のポリシーを作ります。

aws iam create-policy --policy-name ReportBucketRead \
  --policy-document file://read-v1.json \
  --description "report bucket read"
{
    "Policy": {
        "PolicyName": "ReportBucketRead",
        "PolicyId": "AFQCNIG4KF7GQ5A7AW3BF",
        "Arn": "arn:aws:iam::123456789012:policy/ReportBucketRead",
        "Path": "/",
        "DefaultVersionId": "v1",
        "AttachmentCount": 0,
        "IsAttachable": true,
        "CreateDate": "2026-10-05T06:39:57.179192Z",
        "UpdateDate": "2026-10-05T06:39:57.179195Z"
    }
}

AttachmentCount が 0 なので、この時点ではだれにも効いていません。attach-role-policy に ARN を渡してロールに付けます(成功時は何も表示されません)。

aws iam attach-role-policy --role-name report-app-role \
  --policy-arn arn:aws:iam::123456789012:policy/ReportBucketRead

AWS管理ポリシーをアタッチする

AWS管理ポリシーは作成済みなので、attach-role-policy だけで付けられます。ARN のアカウント ID の位置が aws になっている点が見分けどころです。

aws iam attach-role-policy --role-name report-app-role \
  --policy-arn arn:aws:iam::aws:policy/AmazonSQSReadOnlyAccess

中身は get-policy で既定バージョンを調べ、get-policy-version で読み出します。

aws iam get-policy --policy-arn arn:aws:iam::aws:policy/AmazonSQSReadOnlyAccess
{
    "Policy": {
        "PolicyName": "AmazonSQSReadOnlyAccess",
        "PolicyId": "AM4YDL74Y7MYD2VAPOMLR",
        "Arn": "arn:aws:iam::aws:policy/AmazonSQSReadOnlyAccess",
        "Path": "/",
        "DefaultVersionId": "v4",
        "AttachmentCount": 1,
        "IsAttachable": true,
        "CreateDate": "2015-02-06T18:41:08Z",
        "UpdateDate": "2024-05-24T18:16:44Z",
        "Tags": []
    }
}
aws iam get-policy-version \
  --policy-arn arn:aws:iam::aws:policy/AmazonSQSReadOnlyAccess --version-id v4
{
    "PolicyVersion": {
        "Document": {
            "Statement": [
                {
                    "Action": [
                        "sqs:GetQueueAttributes",
                        "sqs:GetQueueUrl",
                        "sqs:ListDeadLetterSourceQueues",
                        "sqs:ListQueues",
                        "sqs:ListMessageMoveTasks",
                        "sqs:ListQueueTags"
                    ],
                    "Effect": "Allow",
                    "Resource": "*",
                    "Sid": "AmazonSQSReadOnlyAccess"
                }
            ],
            "Version": "2012-10-17"
        },
        "VersionId": "v4",
        "IsDefaultVersion": true,
        "CreateDate": "2024-05-24T18:16:44Z"
    }
}

DefaultVersionId が v4 になっているとおり、AWS管理ポリシーは AWS 側で内容が更新されます。新しいアクションが足されると、アタッチ済みのすべての相手に自動で反映されます。手間がかからない反面、Resource が * のように広めに作られているものが多いので、絞りたいときは中身を写してカスタマー管理ポリシーにします。

インラインポリシーを埋め込む

インラインポリシーは put-role-policy の1コマンドで「作る」と「付ける」が同時に済みます。 ARN は発行されず、ロール名とポリシー名の組で扱います。

aws iam put-role-policy --role-name report-app-role \
  --policy-name write-app-logs \
  --policy-document file://inline-logs.json

同じ名前でもう一度 put-role-policy を実行すると、内容がそのまま置き換わります。以前の内容は残らないので、JSON ファイルを Git などで管理しておくと戻しやすくなります。

アタッチとインラインは別のコマンドで確かめる

ここがいちばんつまずきやすい点です。list-attached-role-policies に出るのは管理ポリシーだけ、list-role-policies に出るのはインラインポリシーだけです。片方だけ見ると、権限を見落とします。

aws iam list-attached-role-policies --role-name report-app-role
{
    "AttachedPolicies": [
        {
            "PolicyName": "AmazonSQSReadOnlyAccess",
            "PolicyArn": "arn:aws:iam::aws:policy/AmazonSQSReadOnlyAccess"
        },
        {
            "PolicyName": "ReportBucketRead",
            "PolicyArn": "arn:aws:iam::123456789012:policy/ReportBucketRead"
        }
    ]
}
aws iam list-role-policies --role-name report-app-role
{
    "PolicyNames": [
        "write-app-logs"
    ]
}

インラインポリシーの中身は get-role-policy で読みます。

aws iam get-role-policy --role-name report-app-role --policy-name write-app-logs
{
    "RoleName": "report-app-role",
    "PolicyName": "write-app-logs",
    "PolicyDocument": {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "logs:CreateLogStream",
                    "logs:PutLogEvents"
                ],
                "Resource": "arn:aws:logs:ap-northeast-1:123456789012:log-group:/app/report:*"
            }
        ]
    }
}

ユーザー・グループ・ロール別のコマンド対応表

コマンド名は role の部分を user や group に変えるだけです。どれも同じ形で動くことを、ユーザー taro とグループ dev を作って確かめました。

やりたいこと ロール ユーザー グループ
管理ポリシーを付ける attach-role-policy attach-user-policy attach-group-policy
管理ポリシーの一覧 list-attached-role-policies list-attached-user-policies list-attached-group-policies
管理ポリシーを外す detach-role-policy detach-user-policy detach-group-policy
インラインを埋め込む put-role-policy put-user-policy put-group-policy
インラインの一覧 list-role-policies list-user-policies list-group-policies
インラインの中身 get-role-policy get-user-policy get-group-policy
インラインを消す delete-role-policy delete-user-policy delete-group-policy

管理ポリシーのバージョンを切り替える

カスタマー管理ポリシーを書き換えるときは、上書きではなく新しいバージョンを足します。--set-as-default を付けると、作ったバージョンがその場で有効になります。

aws iam create-policy-version \
  --policy-arn arn:aws:iam::123456789012:policy/ReportBucketRead \
  --policy-document file://read-v2.json --set-as-default
{
    "PolicyVersion": {
        "Document": {
            "Version": "2012-10-17",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "s3:GetObject",
                        "s3:ListBucket"
                    ],
                    "Resource": [
                        "arn:aws:s3:::example-report-bucket",
                        "arn:aws:s3:::example-report-bucket/*"
                    ]
                }
            ]
        },
        "VersionId": "v2",
        "IsDefaultVersion": true,
        "CreateDate": "2026-10-05T06:40:29.460496Z"
    }
}

アタッチし直す必要はありません。ポリシーを付けているすべての相手に、既定バージョン(IsDefaultVersion が true の版)が効きます。

6つ目を作ろうとすると LimitExceeded で止まる

同じコマンドを --set-as-default なしで繰り返すと v3、v4、v5 までは作れます。6つ目で次のエラーになります。

An error occurred (LimitExceeded) when calling the CreatePolicyVersion operation: A managed policy can have up to 5 versions. Before you create a new version, you must delete an existing version.

一覧は list-policy-versions で見られます。--query で列を絞ると読みやすくなります。

aws iam list-policy-versions \
  --policy-arn arn:aws:iam::123456789012:policy/ReportBucketRead \
  --query 'Versions[].[VersionId,IsDefaultVersion,CreateDate]' --output table
------------------------------------------------
|              ListPolicyVersions              |
+----+--------+--------------------------------+
|  v1|  False |  2026-10-05T06:39:57.179182Z   |
|  v2|  True  |  2026-10-05T06:40:29.460496Z   |
|  v3|  False |  2026-10-05T06:40:32.567050Z   |
|  v4|  False |  2026-10-05T06:40:35.635223Z   |
|  v5|  False |  2026-10-05T06:40:39.249218Z   |
+----+--------+--------------------------------+

以前の版に戻す(set-default-policy-version)

変更後に動きがおかしいと気づいたら、set-default-policy-version で既定を v1 に戻せます。これがインラインポリシーにはない、管理ポリシーの大きな利点です。

aws iam set-default-policy-version \
  --policy-arn arn:aws:iam::123456789012:policy/ReportBucketRead --version-id v1

aws iam list-policy-versions \
  --policy-arn arn:aws:iam::123456789012:policy/ReportBucketRead \
  --query 'Versions[].[VersionId,IsDefaultVersion]' --output text
v1  True
v2  False
v3  False
v4  False
v5  False

既定バージョンは削除できない

空きを作るには既定以外のバージョンを削除します。既定の v1 を消そうとすると DeleteConflict になります。

aws iam delete-policy-version \
  --policy-arn arn:aws:iam::123456789012:policy/ReportBucketRead --version-id v1
An error occurred (DeleteConflict) when calling the DeletePolicyVersion operation: Cannot delete the default version of a policy.

v3 を削除してから作り直すと、番号は詰められず v6 が振られます。

aws iam delete-policy-version \
  --policy-arn arn:aws:iam::123456789012:policy/ReportBucketRead --version-id v3

aws iam create-policy-version \
  --policy-arn arn:aws:iam::123456789012:policy/ReportBucketRead \
  --policy-document file://read-v2.json --set-as-default \
  --query 'PolicyVersion.[VersionId,IsDefaultVersion]' --output text
v6  True

あるロールに付いた権限をすべて洗い出す

ロールの権限を調べるときは、管理ポリシーの既定バージョン、インラインポリシー、アクセス許可の境界の3か所を見ます。次のスクリプトは、その3つを順に書き出します。

audit-role.sh:

#!/usr/bin/env bash
# 使い方: ./audit-role.sh ロール名
set -euo pipefail
ROLE="$1"

echo "### 管理ポリシー(アタッチ)"
aws iam list-attached-role-policies --role-name "$ROLE" \
  --query 'AttachedPolicies[].PolicyArn' --output text | tr '\t' '\n' |
while read -r ARN; do
  [ -z "$ARN" ] && continue
  VER=$(aws iam get-policy --policy-arn "$ARN" \
    --query 'Policy.DefaultVersionId' --output text)
  echo "--- $ARN ($VER)"
  aws iam get-policy-version --policy-arn "$ARN" --version-id "$VER" \
    --query 'PolicyVersion.Document.Statement' --output json
done

echo "### インラインポリシー(埋め込み)"
aws iam list-role-policies --role-name "$ROLE" \
  --query 'PolicyNames' --output text | tr '\t' '\n' |
while read -r NAME; do
  [ -z "$NAME" ] && continue
  echo "--- $NAME"
  aws iam get-role-policy --role-name "$ROLE" --policy-name "$NAME" \
    --query 'PolicyDocument.Statement' --output json
done

echo "### アクセス許可の境界"
aws iam get-role --role-name "$ROLE" \
  --query 'Role.PermissionsBoundary.PermissionsBoundaryArn' --output text
chmod +x audit-role.sh
./audit-role.sh report-app-role
### 管理ポリシー(アタッチ)
--- arn:aws:iam::aws:policy/AmazonSQSReadOnlyAccess (v4)
[
    {
        "Action": [
            "sqs:GetQueueAttributes",
            "sqs:GetQueueUrl",
            "sqs:ListDeadLetterSourceQueues",
            "sqs:ListQueues",
            "sqs:ListMessageMoveTasks",
            "sqs:ListQueueTags"
        ],
        "Effect": "Allow",
        "Resource": "*",
        "Sid": "AmazonSQSReadOnlyAccess"
    }
]
--- arn:aws:iam::123456789012:policy/ReportBucketRead (v6)
[
    {
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:ListBucket"
        ],
        "Resource": [
            "arn:aws:s3:::example-report-bucket",
            "arn:aws:s3:::example-report-bucket/*"
        ]
    }
]
### インラインポリシー(埋め込み)
--- write-app-logs
[
    {
        "Effect": "Allow",
        "Action": [
            "logs:CreateLogStream",
            "logs:PutLogEvents"
        ],
        "Resource": "arn:aws:logs:ap-northeast-1:123456789012:log-group:/app/report:*"
    }
]
### アクセス許可の境界
None

最後の None は、アクセス許可の境界(付与できる権限の上限を決めるポリシー)が設定されていないという意味です。

名前だけを1コマンドで見たいときは get-account-authorization-details が使えます。管理ポリシーとインラインポリシーが1つの応答にまとまって返ります。

aws iam get-account-authorization-details --filter Role \
  --query "RoleDetailList[?RoleName=='report-app-role'].{Managed:AttachedManagedPolicies[].PolicyName,Inline:RolePolicyList[].PolicyName}"
[
    {
        "Managed": [
            "ReportBucketRead",
            "AmazonSQSReadOnlyAccess"
        ],
        "Inline": [
            "write-app-logs"
        ]
    }
]

逆に「このポリシーはどこに付いているか」は list-entities-for-policy で調べます。

aws iam list-entities-for-policy \
  --policy-arn arn:aws:iam::123456789012:policy/ReportBucketRead
{
    "PolicyGroups": [],
    "PolicyUsers": [],
    "PolicyRoles": [
        {
            "RoleName": "report-app-role",
            "RoleId": "AROARZPUZDIKJQAOYVPFK"
        }
    ]
}

自分で作ったポリシーの一覧と、アタッチされている数は list-policies --scope Local で見られます(--scope AWS にすると AWS管理ポリシーの一覧になります)。

aws iam list-policies --scope Local \
  --query 'Policies[].[PolicyName,AttachmentCount,DefaultVersionId]' --output text
ReportBucketRead    1   v6

削除の順番と DeleteConflict

削除は付けたときと逆の順番で進めます。順番を飛ばすと DeleteConflict で止まり、何を先に片付けるかをメッセージが教えてくれます。

ロールを削除する

管理ポリシーが付いたままのロールを削除しようとした結果です。

aws iam delete-role --role-name report-app-role
An error occurred (DeleteConflict) when calling the DeleteRole operation: Cannot delete entity, must detach all policies first.

管理ポリシーを2つとも外して、もう一度削除します。

aws iam detach-role-policy --role-name report-app-role \
  --policy-arn arn:aws:iam::123456789012:policy/ReportBucketRead
aws iam detach-role-policy --role-name report-app-role \
  --policy-arn arn:aws:iam::aws:policy/AmazonSQSReadOnlyAccess
aws iam delete-role --role-name report-app-role
An error occurred (DeleteConflict) when calling the DeleteRole operation: Cannot delete entity, must delete policies first.

メッセージが must detach から must delete に変わりました。今度はインラインポリシーが残っているという意味です。管理ポリシーは「外す(detach)」、インラインポリシーは「消す(delete)」という言葉の違いが、そのまま2種類の違いを表しています。

aws iam delete-role-policy --role-name report-app-role --policy-name write-app-logs
aws iam delete-role --role-name report-app-role

これでロールが削除されます。インラインポリシーはロールの一部なので、単体では残りません。一方、カスタマー管理ポリシーはロールがなくなっても残っています。

aws iam get-policy --policy-arn arn:aws:iam::123456789012:policy/ReportBucketRead \
  --query 'Policy.[PolicyName,AttachmentCount,DefaultVersionId]' --output text
ReportBucketRead    0   v6

カスタマー管理ポリシーを削除する

IAM の API リファレンス(DeletePolicy)には、管理ポリシーを削除する前の手順が次のように書かれています。

  1. list-entities-for-policy でアタッチ先を調べ、すべてから detach-*-policy で外す
  2. delete-policy-version で既定以外のバージョンをすべて削除する
  3. delete-policy で本体を削除する(既定バージョンも一緒に削除される)

アタッチされたままのポリシーに delete-policy を実行すると、DeleteConflict(HTTP 409)で拒否されます。使用中の権限がいきなり消えないようにするためのしくみです。

手順2と3をまとめたスクリプトです。

delete-policy.sh:

#!/usr/bin/env bash
# 使い方: ./delete-policy.sh ポリシーARN
set -euo pipefail
ARN="$1"

# 1. 既定ではないバージョンを先に削除する
aws iam list-policy-versions --policy-arn "$ARN" \
  --query 'Versions[?IsDefaultVersion==`false`].VersionId' --output text |
tr '\t' '\n' | while read -r VER; do
  [ -z "$VER" ] && continue
  echo "delete version: $VER"
  aws iam delete-policy-version --policy-arn "$ARN" --version-id "$VER"
done

# 2. ポリシー本体(既定バージョンごと)を削除する
aws iam delete-policy --policy-arn "$ARN"
echo "deleted: $ARN"
chmod +x delete-policy.sh
./delete-policy.sh arn:aws:iam::123456789012:policy/ReportBucketRead
delete version: v1
delete version: v2
delete version: v4
delete version: v5
deleted: arn:aws:iam::123456789012:policy/ReportBucketRead

削除したポリシーは元に戻せません。消す前に get-policy-version で JSON を保存しておくと安心です。

エラーと対処の一覧

エラー 出た操作 意味 対処
DeleteConflict: must detach all policies first delete-role 管理ポリシーが付いている detach-role-policy で外す
DeleteConflict: must delete policies first delete-role インラインポリシーが残っている delete-role-policy で消す
DeleteConflict: Cannot delete the default version delete-policy-version 既定バージョンを指定した 既定を別の版に切り替えるか、delete-policy で本体ごと消す
LimitExceeded: up to 5 versions create-policy-version すでに5世代ある 既定以外を1つ削除してから作る
NoSuchEntity get-policy など ARN やバージョン ID が存在しない ARN のアカウント ID と名前を見直す

よくある質問

Q. 付いているポリシーがどの種類かは、どう見分けますか?

A. list-attached-role-policies に出るものが管理ポリシー、list-role-policies に出るものがインラインポリシーです。管理ポリシーのうち、ARN が arn:aws:iam::aws:policy/ で始まるものが AWS管理、自分のアカウント ID が入っているものがカスタマー管理です。

Q. インラインポリシーを管理ポリシーに移すには?

A. get-role-policy で PolicyDocument を JSON ファイルに保存し、create-policy で同じ内容の管理ポリシーを作ってから attach-role-policy で付け、最後に delete-role-policy で元のインラインを消します。付けてから消す順番にすると、権限が途切れません。

Q. 管理ポリシーを 20 個より多く付けたいときは?

A. ロールへのアタッチ数は 25 まで引き上げを申請できます。それでも足りないときは、似た権限を1つのカスタマー管理ポリシーにまとめるのが近道です。1ポリシーは空白を除いて 6,144 文字まで書けます。

Q. バージョンを切り替えたら、反映に操作は必要ですか?

A. アタッチし直す必要はありません。既定バージョンが、そのポリシーを付けているすべてのユーザー・グループ・ロールに効きます。

まとめ

  • 管理ポリシーは単体で存在して使い回せる。インラインポリシーは1つの相手に埋め込まれ、相手と一緒になくなる
  • 管理ポリシーは AWS管理(AWSが更新) と カスタマー管理(自分で作る) の2種類。ARN のアカウント ID の位置で見分けられる
  • 付けるコマンドは管理が attach-role-policy、インラインが put-role-policy
  • 確かめるコマンドも別。list-attached-role-policies と list-role-policies の両方を見る
  • カスタマー管理ポリシーは 5世代まで持てて、set-default-policy-version で以前の版に戻せる
  • 削除は逆順。管理は detach、インラインは delete してからロールを消す
  • 上限は、アタッチ数がロール 20・ユーザー 10・グループ 10、インラインは合計文字数で決まる

参考・出典

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「IAM管理ポリシーとインラインポリシーの違い|CLIで確認・アタッチ」

株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。

WE ARE HIRING

RJCで一緒に開発しながら、
成長を楽しみませんか?

RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!

  • 127日年間休日
  • 12時間平均残業時間
  • 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!

ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。

ABOUT RJC RJCがどんな会社か知る 考え方、研修、働き方、福利厚生、社員の前職まで。RJCのことが丸わかり! RJC丸わかりページへ JOB DESCRIPTION 仕事内容・待遇を見てみる 仕事内容、給与・待遇、選考の流れ。経験者も未経験も!応募前に知りたいこと、まとめました! 募集要項を見る ENTRY エントリーする エントリーは1〜2分・履歴書不要です。まずは話を聞いてみたい、という方でも歓迎です! エントリーフォームへ

RJCで一緒に開発しながら、 成長を楽しみませんか?