본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

외부 HashCorp Vault를 사용하도록 데이터 브로커 그룹을 설정합니다

기여자

Amazon S3, Azure 또는 Google Cloud 자격 증명이 필요한 동기화 관계를 생성하는 경우 Cloud Sync 사용자 인터페이스 또는 API를 통해 이러한 자격 증명을 지정해야 합니다. 또는 데이터 브로커 그룹을 설정하여 외부 HashiCorp 볼트에서 직접 자격 증명(또는 비밀)에 액세스할 수도 있습니다.

이 기능은 Amazon S3, Azure 또는 Google Cloud 자격 증명이 필요한 동기화 관계가 있는 Cloud Sync API를 통해 지원됩니다.

URL을 설정하여 데이터 브로커 그룹에 자격 증명을 제공할 볼트를 준비합니다. 볼트의 비밀에 대한 URL은 _creds_로 끝나야 합니다.

그룹의 각 데이터 브로커에 대한 로컬 구성 파일을 수정하여 외부 볼트에서 자격 증명을 가져오도록 데이터 브로커 그룹을 준비합니다.

이제 모든 것이 설정되었으므로 API 호출을 전송하여 볼트를 사용하는 동기화 관계를 만들어 비밀을 가져올 수 있습니다.

볼트 준비 중

볼트의 비밀에 대한 URL을 Cloud Sync에 제공해야 합니다. 이러한 URL을 설정하여 볼트를 준비합니다. 만들려는 동기화 관계의 각 소스 및 타겟의 자격 증명에 대한 URL을 설정해야 합니다.

URL은 다음과 같이 설정해야 합니다.

'/<path>/<requested>/<endpoint-protocol>creds'

경로

비밀에 대한 접두사 경로입니다. 이는 귀하에게 고유한 모든 가치가 될 수 있습니다.

요청 ID입니다

생성해야 하는 요청 ID입니다. 동기화 관계를 생성할 때 API POST 요청의 헤더 중 하나에 ID를 제공해야 합니다.

엔드포인트 프로토콜

정의된 대로 다음 프로토콜 중 하나입니다 "사후 관계 v2 문서에서"S3, Azure 또는 GCP(각각 대문자여야 함).

크레드

URL은 _creds_로 끝나야 합니다.

다음 예제에서는 비밀에 대한 URL을 보여 줍니다.

소스 자격 증명의 전체 URL 및 경로 예

http://example.vault.com:8200/my-path/all-secrets/hb312vdasr2/S3Creds 으로 문의하십시오

예제에서 볼 수 있듯이 접두사 경로는 _/my-path/all-sids/_이고 요청 ID는 _hb312vdasr2_이며 소스 끝점은 S3입니다.

대상 자격 증명의 전체 URL 및 경로 예

http://example.vault.com:8200/my-path/all-secrets/n32hcbnejk2/AZURECreds 으로 문의하십시오

접두사 경로는 _/my-path/all-sats/_이고, 요청 ID는 _n32hcbnejk2_이며, 대상 끝점은 Azure입니다.

데이터 브로커 그룹을 준비하는 중입니다

그룹의 각 데이터 브로커에 대한 로컬 구성 파일을 수정하여 외부 볼트에서 자격 증명을 가져오도록 데이터 브로커 그룹을 준비합니다.

단계
  1. 그룹의 데이터 브로커에 SSH를 연결합니다.

  2. /opt/netapp/databroker/config에 있는 local.json 파일을 편집합니다.

  3. enable을 * true * 로 설정하고 다음과 같이 _external-통합.hashicorp_에서 config 매개 변수 필드를 설정합니다.

    활성화됨
    • 유효한 값: TRUE/FALSE

    • Type:Boolean 을 입력합니다

    • 기본값: false

    • 참: 데이터 브로커는 외부의 HashashCorp Vault에서 비밀을 얻습니다

    • 거짓: 데이터 브로커는 로컬 볼트에 자격 증명을 저장합니다

    URL
    • 유형: string

    • 값: 외부 볼트의 URL

    경로
    • 유형: string

    • 값: 자격 증명을 사용하여 비밀번호에 대한 접두사 경로입니다

    거부 - 승인되지 않음
    • 데이터 브로커가 승인되지 않은 외부 볼트를 거부하도록 할지 여부를 결정합니다

    • Type:Boolean 을 입력합니다

    • 기본값: false

    인증 방법
    • 데이터 브로커가 외부 볼트에서 자격 증명에 액세스하기 위해 사용해야 하는 인증 방법입니다

    • 유형: string

    • 유효한 값: “AWS-IAM”/“ROLE-APP”/"GCP-IAM"

    역할 이름
    • 유형: string

    • 역할 이름(AWS-IAM 또는 GCP-IAM을 사용하는 경우)

    정전동맥(&R)
    • 유형: 문자열(APP-ROLE 사용 시)

    네임스페이스
    • 유형: string

    • 네임스페이스(필요한 경우 X-Vault-Namespace 헤더)

  4. 그룹의 다른 데이터 브로커에 대해 이 단계를 반복합니다.

AWS 역할 인증의 예

{
          “external-integrations”: {
                  “hashicorp”: {
                         “enabled”: true,
                         “url”: “https://example.vault.com:8200”,
                         “path”: ““my-path/all-secrets”,
                         “reject-unauthorized”: false,
                         “auth-method”: “aws-role”,
                         “aws-role”: {
                               “role-name”: “my-role”
                         }
                }
       }
}

GCP-IAM 인증의 예

{
"external-integrations": {
    "hashicorp": {
      "enabled": true,
      "url": http://ip-10-20-30-55.ec2.internal:8200,
      "path": "v1/secret",
      "namespace": "",
      "reject-unauthorized": true,
      "auth-method": "gcp-iam",
      "aws-iam": {
        "role-name": ""
      },
      "app-role": {
        "root_id": "",
        "secret_id": ""
      },
"gcp-iam": {
          "role-name": "my-iam-role"
      }
    }
  }
}

GCP-IAM 인증 사용 시 권한 설정

_GCP-IAM_인증 방법을 사용하는 경우 데이터 브로커에 다음과 같은 GCP 권한이 있어야 합니다.

- iam.serviceAccounts.signJwt

볼트의 비밀을 사용하여 새 동기화 관계를 작성합니다

이제 모든 것이 설정되었으므로 API 호출을 전송하여 볼트를 사용하는 동기화 관계를 만들어 비밀을 가져올 수 있습니다.

Cloud Sync REST API를 사용하여 관계를 게시합니다.

Headers:
Authorization: Bearer <user-token>
Content-Type: application/json
x-account-id: <accountid>
x-netapp-external-request-id-src: request ID as part of path for source credentials
x-netapp-external-request-id-trg: request ID as part of path for target credentials
Body: post relationship v2 body

POST 요청의 예:

url: https://api.cloudsync.netapp.com/api/relationships-v2
headers:
"x-account-id": "CS-SasdW"
"x-netapp-external-request-id-src": "hb312vdasr2"
"Content-Type": "application/json"
"Authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik…"
Body:
{
"dataBrokerId": "5e6e111d578dtyuu1555sa60",
"source": {
        "protocol": "s3",
        "s3": {
                "provider": "sgws",
                "host": "1.1.1.1",
                "port": "443",
                "bucket": "my-source"
     },
"target": {
        "protocol": "s3",
        "s3": {
                "bucket": "my-target-bucket"
        }
    }
}