Điểm:1

Tài khoản dịch vụ không có storage.buckets.get quyền truy cập vào bộ chứa Google Cloud Storage

lá cờ cn

Tôi đang chạy Ansible với một dịch vụ có cấu hình sau sẽ tạo bộ chứa lưu trữ trên Google Cloud.

- tên: "Tạo {{ environ.name }}-cluster-backups"
  google.cloud.gcp_storage_bucket:
    tên: "zeipt-io-{{ environ.name }}-cluster-backups"
    vị trí: "{{ google_cloud.region }}"
    storage_class: "NEARLINE"
    vòng đời:
      quy tắc:
        - điều kiện, tình trạng, trạng thái:
            tuổi_ngày: 28
          hoạt động:
            gõ: "Xóa"
    dự án: "{{google_cloud.project }}"
    auth_kind: "{{ google_cloud.auth_kind }}"
    service_account_file: "{{ google_cloud.service_account_file }}"
    trạng thái: hiện tại

Cái nào đưa ra lỗi

gây tử vong: [localhost]: KHÔNG THÀNH CÔNG! => {"đã thay đổi": sai, "thông điệp": "Lỗi trả về GCP: {'lỗi': {'mã': 403, 'thông báo': '[email protected] không có bộ nhớ .buckets.get quyền truy cập vào bộ chứa Google Cloud Storage.', 'errors': [{'message': '[email protected] không có storage.buckets.get quyền truy cập vào Google Cloud Storage xô.', 'miền': 'toàn cầu', 'lý do': 'bị cấm'}]}}"}

Tôi hiểu lỗi nhưng tôi đã kiểm tra các vai trò được chỉ định cho người dùng này như vậy

dự án gcloud get-iam-policy staging-environment --flatten="bindings[].members" --format='table(bindings.role)' --filter="bindings.members:[email protected]. gserviceaccount.com"
VAI TRÒ
vai trò/chủ sở hữu
vai trò/lưu trữ.admin
vai trò/lưu trữ.objectAdmin
vai trò/storage.objectCreator
vai trò/lưu trữ.objectViewer

vai trò/lưu trữ.admin phải đáp ứng yêu cầu khi tôi kiểm tra Trang vai trò Google Cloud IAM trong đó nói rằng vai trò này có lưu trữ.buckets.* sự cho phép.

Tôi không hiểu tại sao tôi vẫn nhận được lỗi tương tự?

John Hanley avatar
lá cờ cn
Bạn đang chạy ansible ở đâu (máy tính để bàn, Máy tính, ...)? Nếu sử dụng dịch vụ điện toán, hãy kiểm tra phạm vi được bật cho máy ảo. https://cloud.google.com/compute/docs/access/service-accounts#accesscopesiam
lá cờ cn
@JohnHanley Tôi đang chạy cục bộ trên máy mac của mình. Tôi có thể tạo mạng, cụm và hơn thế nữa nhưng không thể tạo nhóm.
John Hanley avatar
lá cờ cn
Trong lệnh của bạn **gcloud projects get-iam-policy** thêm tùy chọn dòng lệnh **--project PROJECT_ID**. Chỉ định cùng một dự án mà bạn đang sử dụng với Ansible. Có thể bạn đã thêm đúng vai trò cho dự án sai.
lá cờ cn
Thêm `--project PROJECT_ID` và thay thế tên của cùng một dự án mà tôi đã định cấu hình trong ansible sẽ hiển thị cùng một đầu ra. Tôi bắt đầu nghĩ rằng các vai trò được lưu trữ bằng cách nào đó.
John Hanley avatar
lá cờ cn
Các vai trò không được lưu trữ cục bộ. Trong Google Cloud, chúng được phân phối trên toàn cầu. Tạo một tài khoản dịch vụ mới và thử lại. Một cái gì đó đơn giản đang bị bỏ qua.
John Hanley avatar
lá cờ cn
Là thùng trong cùng một dự án? Tên xô viết sai chính tả?
Priyashree Bhadra avatar
lá cờ in
Vấn đề của bạn đã được giải quyết chưa @MarkusTenghamn?
lá cờ cn
@PriyashreeBhadra không, tôi chưa bao giờ giải quyết vấn đề này. Tôi phải thực hiện việc này theo cách thủ công vì tôi vẫn không thể sử dụng tài khoản dịch vụ.
lá cờ cn
@JohnHanley Xin lỗi vì đã không trả lời bạn, tôi đang cố gắng tạo một nhóm để nó không thành vấn đề nhưng tôi đã kiểm tra kỹ xem tài khoản dịch vụ có nằm trong đúng dự án hay không và đó cũng là dự án mà tôi đang chạy ansible.
Priyashree Bhadra avatar
lá cờ in
Bạn có thể kiểm tra xem tên bộ chứa mà bạn đang cố tạo đã tồn tại chưa? Bạn có thể kiểm tra điều đó trong Google Cloud Console > Cloud Storage và nhập tên bộ chứa. Nếu nó hiển thị lỗi thì tôi tin rằng vấn đề là do bạn đang cố tạo/cập nhật một nhóm thuộc sở hữu của một người dùng khác thuộc một dự án khác mà tài khoản dịch vụ của bạn không có quyền. Vì vậy, vui lòng thử triển khai lại thay đổi tên đó có khả năng là một trong những duy nhất.
Priyashree Bhadra avatar
lá cờ in
Đây có thể là một vấn đề trong một số trường hợp vì bạn chọn một tên rất dài hoặc tên đó không phải là duy nhất. Hãy làm theo [nguyên tắc](https://cloud.google.com/storage/docs/naming-buckets) này nếu đây là sự cố.
Điểm:0
lá cờ ye

Tôi hiểu rằng một số thành viên của cộng đồng đã cung cấp cho bạn một số giải pháp để giải quyết vấn đề của bạn, nhưng dường như không có giải pháp nào hữu ích cho vấn đề của bạn.Ngoài ra, tôi hiểu rằng bạn đang sử dụng GCP để tạo tài khoản dịch vụ và gán vai trò.

Có lẽ bạn có thể thử tạo tài khoản dịch vụ và các vai trò cho tài khoản dịch vụ từ ansible và kiểm tra xem nó có hoạt động không.

Bạn có thể tạo tài khoản dịch vụ bằng plugin này google.cloud.gcp_iam_service_account â Tạo Tài khoản dịch vụ GCP

Ví dụ:

- name: tạo tài khoản dịch vụ
  google.cloud.gcp_iam_service_account:
    tên: sa-{{ resource_name.split("-")[-1] }}@graphite-playground.google.com.iam.gserviceaccount.com
    display_name: Khóa kiểm tra Ansible của tôi
    dự án: test_project
    auth_kind: tài khoản dịch vụ
    service_account_file: "/tmp/auth.pem"
    trạng thái: hiện tại

Và bạn có thể chỉ định vai trò bằng cách sử dụng plugin google.cloud.gcp_iam_role â Tạo Vai trò GCP

Ví dụ:

- tên: tạo vai trò
  google.cloud.gcp_iam_role:
    tên: myCustomRole2
    tiêu đề: Vai trò tùy chỉnh của tôi
    mô tả: Mô tả vai trò tùy chỉnh của tôi
    bao gồm_permissions:
    - iam.roles.list
    - iam.roles.create
    - iam.roles.delete
    dự án: test_project
    auth_kind: tài khoản dịch vụ
    service_account_file: "/tmp/auth.pem"
    trạng thái: hiện tại

Hãy nhớ rằng các plugin này là một phần của bộ sưu tập google.cloud, sẽ được cài đặt nếu bạn đang sử dụng gói ansible.

lá cờ us
@Markus Tengham câu trả lời này có giúp ích gì cho bạn không?, nếu là cách này, bạn có thể vui lòng upvote hoặc đánh dấu nó là được chấp nhận để giúp đỡ cộng đồng không? Cảm ơn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.