すべてのプロダクト
Search
ドキュメントセンター

Elastic Container Instance:Security Context の設定

最終更新日:Nov 09, 2025

Security Context を設定して、Pod またはコンテナーの権限とアクセスの制御をカスタマイズできます。

背景情報

Security Context は、Elastic Container Instance (ECI) またはコンテナーの権限とアクセスの制御設定を定義します。Security Context 設定の例としては、任意アクセス制御 (DAC)、Security Enhanced Linux (SELinux)、Linux Capabilities などがあります。詳細については、「Pod またはコンテナーの Security Context を設定する」をご参照ください。

以下のレベルで Security Context を設定できます:

  • Pod の Security Context

    ECI では、Pod レベル (インスタンスレベル) の Security Context を設定することで、sysctl パラメーターを変更できます。これらの設定は、インスタンス内のすべてのコンテナーとボリュームに適用されます。

  • コンテナーの Security Context

    ECI では、コンテナーレベルの Security Context を設定することで、runAsUser および capabilities パラメーターを変更できます。これらの設定は、指定されたコンテナーにのみ適用されます。

インスタンスの Security Context を設定する

機能の説明

Linux システムでは、sysctl インターフェイスを使用して、ランタイムカーネルパラメーターを変更できます。次のコマンドを実行すると、Elastic Container Instance (ECI) のカーネルパラメーターを表示できます。詳細については、「sysctl.sh」をご参照ください。

sysctl -a

Pod の Security Context を設定することで、sysctl および runAsUser パラメーターを変更できます。

警告

オペレーティングシステムが不安定になるのを避けるため、続行する前に sysctl パラメーターの変更による影響を十分に理解する必要があります。詳細については、「sysctl」をご参照ください。

Elastic Container Instance (ECI) では、次の sysctl パラメーターを変更できます:

  • kernel.shm*

  • kernel.msg*

  • kernel.sem

  • fs.mqueue.*

  • net.* (net.ipv4.tcp_syncookies を除く)

  • vm.min_free_kbytes

    vm.min_free_kbytes には、合計メモリサイズの 20% 以下の値を指定することを推奨します。

設定の説明

CreateContainerGroup 操作を呼び出して ECI インスタンスを作成する際に、SecurityContext.Sysctl または HostSecurityContext.Sysctl パラメーターを使用してインスタンスの Security Context を設定できます。SecurityContext.Sysctl は安全な sysctl パラメーターの変更に使用され、HostSecurityContext.Sysctl は安全でない sysctl パラメーターの変更に使用されます。次の表に、これらのパラメーターを示します。詳細については、「CreateContainerGroup」をご参照ください。

名前

タイプ

説明

SecurityContext.Sysctl.N.Name

文字列

net.ipv4.ping_group_range

Security Context を設定して sysctl を変更する場合の、安全な sysctl の名前。有効値:

  • net.ipv4.ping_group_range

  • net.ipv4.ip_unprivileged_port_start

SecurityContext.Sysctl.N.Value

文字列

1

Security Context を設定して sysctl を変更する場合の、安全な sysctl の値。

HostSecurityContext.Sysctl.N.Name

文字列

kernel.msgmax

Security Context を設定して sysctl を変更する場合の、安全でない sysctl の名前。有効値:

  • kernel.shm * (kernel.shm_rmid_forced を除く)

  • kernel.msg*

  • kernel.sem

  • fs.mqueue.*

  • net.* (net.ipv4.ip_local_port_range、net.ipv4.tcp_syncookies、net.ipv4.ping_group_range、および net.ipv4.ip_unprivileged_port_start を除く)

HostSecurityContext.Sysctl.N.Value

文字列

65536

Security Context を設定して sysctl を変更する場合の、安全でない sysctl の値。

コンテナーの Security Context を設定する

機能の説明

コンテナーレベルでは、特定のコンテナーに対して Security Context を設定できます。次の表に、ECI がサポートするパラメーターを示します。

パラメーター

説明

runAsUser

コンテナーを実行するユーザーの ID。パラメーター設定は、Dockerfile の USER コマンドをオーバーライドします。

runAsGroup

コンテナーを実行するユーザーグループ。

runAsNonRoot

ユーザーがコンテナーを非ルートユーザーとして実行するかどうかを指定します。有効値: true または false。デフォルト値: false。

privileged

コンテナーを特権モードで実行するかどうかを指定します。値が true の場合、コンテナーは特権モードで実行されます。デフォルト値: false。

説明

特権コンテナー機能は内部プレビュー段階です。この機能を使用するには、チケットを送信してください。

capabilities

コンテナー内のプロセスに付与される権限。詳細については、「Linux capabilities」をご参照ください。

以下の権限を設定できます:

  • AUDIT_WRITE

  • CHOWN

  • DAC_OVERRIDE

  • FSETID

  • FOWNER

  • KILL

  • MKNOD

  • NET_ADMIN

  • NET_BIND_SERVICE

  • NET_RAW

  • SETGID

  • SETUID

  • SETFCAP

  • SETPCAP

  • SYS_CHROOT

  • SYS_PTRACE

  • SYS_RAWIO

説明

プロセスに SYS_RAWIO 権限を付与することはできません。SYS_RAWIO を使用するには、チケットを送信してください。

次の表に、サポートされていないパラメーターと、それらのパラメーターのデフォルト値を示します。

サポートされていないパラメーター

説明

AllowedProcMountTypes

コンテナーで許可される proc マウントタイプ。デフォルト値: DefaultProcMount。

readOnlyRootFilesystem

コンテナーが実行されるルートファイルシステムが読み取り専用かどうかを指定します。デフォルト値: true。

設定の説明

CreateContainerGroup API 操作を呼び出して Elastic Container Instance (ECI) を作成する際に、Container.N.SecurityContext 関連のパラメーターを使用してコンテナーの Security Context を設定できます。次の表に、関連するパラメーターを示します。詳細については、「CreateContainerGroup」をご参照ください。

名前

タイプ

説明

Container.N.SecurityContext.Capability.Add.N

配列

NET_ADMIN

コンテナー内のプロセスに付与される権限。

Container.N.SecurityContext.ReadOnlyRootFilesystem

boolean

true

コンテナーが実行されるルートファイルシステムが読み取り専用かどうかを指定します。値を true に設定します。

Container.N.SecurityContext.RunAsUser

long

1000

コンテナーを実行するユーザーの ID。

Container.N.SecurityContextRunAsGroup

long

3000

コンテナーを実行するユーザーグループ。

Container.N.SecurityContextRunAsNonRoot

boolean

true

コンテナーを非ルートユーザーとして実行するかどうかを指定します。デフォルト値: false。有効値:

  • true: コンテナーを非ルートユーザーとして実行します。

  • false: コンテナーをルートユーザーとして実行します。

Container.N.SecurityContextPrivileged

boolean

true

コンテナーの特権モードを有効にするかどうかを指定します。つまり、コンテナーを特権モードで実行するかどうかです。デフォルト値: false。有効値:

  • true: コンテナーの特権モードを有効にします。

  • false: コンテナーの特権モードを有効にしません。

説明

特権コンテナー機能は内部プレビュー段階です。この機能を使用するには、チケットを送信してください。

説明

init コンテナーの Security Context を設定することもできます。パラメーターは前の表のパラメーターと似ていますが、SecurityContextRunAsGroupSecurityContextRunAsNonRoot はサポートされていません。