10.3. ロールをサービスアカウントに付与する例


ロールをサービスアカウントに付与する方法は、ロールを通常ユーザーアカウントに付与する方法と同じです。

  • 現在のプロジェクトのサービスアカウントを変更できます。たとえば、view ロールを top-secret プロジェクトの robot サービスアカウントに追加するには、以下を実行します。

    $ oc policy add-role-to-user view system:serviceaccount:top-secret:robot
    ヒント

    または、以下の YAML を適用してロールを追加できます。

    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: view
      namespace: top-secret
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: view
    subjects:
    - kind: ServiceAccount
      name: robot
      namespace: top-secret
  • アクセスをプロジェクトの特定のサービスアカウントに付与することもできます。たとえば、サービスアカウントが属するプロジェクトから、-z フラグを使用し、<service_account_name> を指定します。

    $ oc policy add-role-to-user <role_name> -z <service_account_name>
    重要

    プロジェクトの特定のサービスアカウントにアクセスを付与する必要がある場合には、-z フラグを使用します。このフラグを使用することにより、アクセスが指定されたサービスアカウントのみに付与することができます。

    ヒント

    または、以下の YAML を適用してロールを追加できます。

    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: <rolebinding_name>
      namespace: <current_project_name>
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: <role_name>
    subjects:
    - kind: ServiceAccount
      name: <service_account_name>
      namespace: <current_project_name>
  • 別の namespace を変更するには、-n オプションを使用して、以下の例にあるように、適用先のプロジェクト namespace を指定します。

    • たとえば、すべてのプロジェクトのすべてのサービスアカウントが my-project プロジェクトのリソースを表示できるようにするには、以下を実行します。

      $ oc policy add-role-to-group view system:serviceaccounts -n my-project
      ヒント

      または、以下の YAML を適用してロールを追加できます。

      apiVersion: rbac.authorization.k8s.io/v1
      kind: RoleBinding
      metadata:
        name: view
        namespace: my-project
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: view
      subjects:
      - apiGroup: rbac.authorization.k8s.io
        kind: Group
        name: system:serviceaccounts
    • managers プロジェクトのすべてのサービスアカウントが my-project プロジェクトのリソースを編集できるようにするには、以下を実行します。

      $ oc policy add-role-to-group edit system:serviceaccounts:managers -n my-project
      ヒント

      または、以下の YAML を適用してロールを追加できます。

      apiVersion: rbac.authorization.k8s.io/v1
      kind: RoleBinding
      metadata:
        name: edit
        namespace: my-project
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: edit
      subjects:
      - apiGroup: rbac.authorization.k8s.io
        kind: Group
        name: system:serviceaccounts:managers
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.