Com o nível premium do Assured Open Source Software (Assured OSS), você aumenta a segurança do seu código usando os pacotes de OSS que o Google usa nos próprios fluxos de trabalho de desenvolvedores. Ao usar o Assured OSS, seus desenvolvedores podem aproveitar a experiência e a especialização em segurança que o Google aplica para proteger as próprias dependências de código aberto.
Ao integrar o Assured OSS ao Security Command Center, é possível fazer o seguinte:
- Escolha entre milhares de pacotes selecionados e mais usados de Java e Python, incluindo projetos comuns de machine learning e inteligência artificial, como TensorFlow, Pandas e Scikit-learn.
- Configure um proxy seguro para fazer o download de todos os pacotes Java, Python e JavaScript com declarações do Assured OSS, tornando o Google um fornecedor conhecido e confiável.
- Use as SBOMs e o VEX no Assured OSS fornecidos em formatos padrão do setor, como SPDX e CycloneDX, para saber mais sobre seus ingredientes.
- Aumente a confiança na integridade dos pacotes que você está usando com procedência comprovada e assinada pelo Google.
- Reduza o risco de segurança, já que o Google está ativamente verificando, encontrando e corrigindo novas vulnerabilidades em pacotes selecionados.
Antes de começar
Conclua essas tarefas antes de concluir as restantes nesta página.
Ativar o nível Enterprise do Security Command Center
Verifique se o nível Enterprise do Security Command Center está ativado no nível da organização e se você concluiu as seis primeiras etapas do guia de configuração.
Configurar permissões no nível da organização
Você precisa configurar permissões nos níveis da organização e do projeto.
-
Make sure that you have the following role or roles on the organization: Security Center Admin, Organization Admin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the organization.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Acessar o IAM - Selecione a organização.
- Clique em Conceder acesso.
-
No campo Novos principais, digite seu identificador de usuário. Normalmente, é o endereço de e-mail de uma Conta do Google.
- Na lista Selecionar papel, escolha um.
- Para conceder outros papéis, clique em Adicionar outro papel e adicione cada papel adicional.
- Clique em Salvar.
Configurar permissões no nível do projeto
-
Make sure that you have the following role or roles on the project: Service Usage Admin, Service Account Admin, Project IAM Admin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Acessar o IAM - Selecione o projeto.
- Clique em Conceder acesso.
-
No campo Novos principais, digite seu identificador de usuário. Normalmente, é o endereço de e-mail de uma Conta do Google.
- Na lista Selecionar papel, escolha um.
- Para conceder outros papéis, clique em Adicionar outro papel e adicione cada papel adicional.
- Clique em Salvar.
Configurar a Google Cloud CLI
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Configurar o Assured OSS
Console
No console do Google Cloud , acesse o guia de configuração do Security Command Center.
Verifique se você está visualizando a organização em que ativou o nível Security Command Center Enterprise.
Abra o painel Revisar o resumo dos recursos de segurança.
Clique em Segurança do código > Configurar.
No painel Configurar segurança do código, clique em Configuração do AOSS.
Selecione uma nova conta de serviço ou as contas atuais a que você quer adicionar as permissões do Assured Open Source Software.
Selecione o projeto Google Cloud em que você quer localizar os recursos do Assured OSS.
Clique em Configurar o Assured OSS.
O processo de configuração conclui automaticamente o seguinte:
- Se selecionada, cria a nova conta de serviço
assuredoss@PROJECT_ID.gservicesaccount.com
. - Atribui a função de usuário do Assured OSS à conta de serviço designada para uso com o Assured OSS.
- Atribui a função de administrador do Assured OSS à conta de usuário conectada para que ela possa configurar o serviço.
- Ativa a API Assured Open Source Software e, se ainda não estiver ativada, a API Artifact Registry.
- Configura o serviço de proxy do Assured OSS em uma instância do Artifact Registry no projeto selecionado. Um repositório é provisionado para cada linguagem (Java, Python e JavaScript). Esses repositórios podem extrair pacotes automaticamente do portfólio selecionado. Se um pacote não estiver disponível como parte do portfólio selecionado, os repositórios vão redirecionar a solicitação para os repositórios canônicos. O serviço de proxy é compatível apenas com a região dos EUA.
- Concede a você e à conta de serviço permissões para acessar metadados de pacotes e notificações de projetos de propriedade do Google.
- Se selecionada, cria a nova conta de serviço
Crie uma chave de conta de serviço para cada conta de serviço designada do Assured OSS e faça o download da chave no formato JSON.
Na linha de comando da sua máquina local, execute o seguinte comando no arquivo de chave baixado para receber a string codificada em base64:
base64 KEY_FILENAME.json
Substitua
KEY_FILENAME.json
pelo nome da chave da conta de serviço que você baixou.Você precisa da string codificada em base64 ao configurar um repositório remoto para o Assured OSS.
Para fazer o download dos pacotes, use os endpoints que o Assured OSS provisiona para cada linguagem. Anote esses endpoints para usar mais tarde.
- Java:
https://us-maven.pkg.dev/PROJECT_ID/assuredoss-java
- Python:
https://us-python.pkg.dev/
PROJECT_ID
/assuredoss-python - JavaScript:
https://us-npm.pkg.dev/
PROJECT_ID
/assuredoss-javascript
Substitua
PROJECT_ID
pelo ID do projeto que você selecionou ao configurar o Assured OSS.- Java:
Clique em Próxima. Configure o Assured OSS com o gerenciador de repositório de artefatos da sua organização, como JFrog Artifactory ou Sonatype Nexus.
gcloud
Autentique-se em Google Cloud com uma conta de usuário que você quer usar para ativar o Assured OSS:
gcloud auth revoke gcloud auth application-default revoke gcloud auth login
Pesquise o projeto em que você quer localizar os recursos do Assured OSS:
gcloud alpha projects search --query="displayName=PROJECT_NAME"
Substitua
PROJECT_NAME
pelo nome do projeto.Defina o projeto em que você quer localizar os recursos do Assured OSS:
gcloud config set project PROJECT_ID
Substitua
PROJECT_ID
pelo identificador do projeto.Atribua papéis à conta de usuário para configurar o Assured OSS:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:email@domain.com \ --role=roles/assuredoss.admin gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:email@domain.com \ --role=roles/serviceusage.serviceUsageAdmin gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:email@domain.com \ --role=roles/iam.serviceAccountAdmin
em que
email@domain.com
é o endereço de e-mail da sua conta de usuário.Ative o OSS garantido no projeto. Ao ativar o Assured OSS, você também ativa a API Artifact Registry.
gcloud services enable assuredoss.googleapis.com
Para criar uma conta de serviço para o Assured OSS em vez de usar contas de serviço atuais, faça o seguinte:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \ --description="Service account for using Assured OSS" --display-name="Assured OSS service account"
Substitua
SERVICE_ACCOUNT_NAME
pelo nome da conta de serviço (por exemplo,assuredoss
).Configure as contas de serviço do Assured OSS:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --role roles/assuredoss.user
Substitua:
SERVICE_ACCOUNT_NAME
: o nome da conta de serviço (por exemplo,assuredoss
).PROJECT_ID
: o identificador do projeto.
Configure o serviço de proxy do Assured OSS em uma instância do Artifact Registry criando repositórios do Assured OSS. Você precisa criar repositórios para todos os idiomas. O serviço de proxy do Assured OSS que provisiona os repositórios é compatível apenas com a região dos EUA.
alias gcurlj='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -X' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories\?repositoryId\=assuredoss-java -d '{"format": "MAVEN", "mode": "AOSS_REPOSITORY"}' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories\?repositoryId\=assuredoss-javascript -d '{"format": "NPM", "mode": "AOSS_REPOSITORY"}' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories\?repositoryId\=assuredoss-python -d '{"format": "PYTHON", "mode": "AOSS_REPOSITORY"}'
Substitua
PROJECT_ID
pelo ID do projeto que você selecionou ao configurar o Assured OSS.Esses repositórios podem extrair automaticamente pacotes do portfólio selecionado. Se um pacote não estiver disponível como parte do portfólio selecionado, os repositórios vão redirecionar a solicitação para os repositórios canônicos.
Crie uma chave de conta de serviço para cada conta de serviço do Assured OSS e faça o download da chave no formato JSON.
Na linha de comando, execute o seguinte comando no arquivo de chave baixado para receber a string codificada em base64:
base64 KEY_FILENAME.json
Substitua
KEY_FILENAME.json
pelo nome da chave da conta de serviço que você baixou.Você precisa da string codificada em base64 ao configurar um repositório remoto para o Assured OSS.
Para fazer o download dos pacotes, use os endpoints provisionados pelo Assured OSS para cada linguagem. Anote estes endpoints:
- Java:
https://us-maven.pkg.dev/PROJECT_ID/assuredoss-java
- Python:
https://us-python.pkg.dev/
PROJECT_ID
/assuredoss-python - JavaScript:
https://us-npm.pkg.dev/
PROJECT_ID
/assuredoss-javascript
Substitua
PROJECT_ID
pelo ID do projeto que você selecionou ao configurar o Assured OSS.- Java:
Configure o Assured OSS para baixar pacotes com o gerenciador de repositório de artefatos da sua organização, como JFrog Artifactory ou Sonatype Nexus.
Se quiser, confira os pacotes Java, Python e JavaScript disponíveis:
gcloud auth revoke gcloud auth application-default revoke gcloud auth login --cred-file=KEY_FILENAME.json
Substitua
KEY_FILENAME.json
pelo nome da chave da conta de serviço que você baixou.export GOOGLE_APPLICATION_CREDENTIALS=KEY_FILENAME.json
Substitua
KEY_FILENAME.json
pelo nome da chave da conta de serviço que você baixou.gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-java/packages" gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-python/packages" gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-javascript/packages"
Substitua
PROJECT_ID
pelo ID do projeto que você selecionou ao configurar o Assured OSS.
A seguir
- Configurar o suporte para o VPC Service Controls
- Validar sua conexão
- Fazer o download de pacotes Java
- Fazer o download de pacotes do Python
- Configurar um repositório remoto
- Verificar metadados de segurança
- Configurar notificações para atualizações de pacotes
-
-